i've tried calling a json proc dive() from itself but it fails since the type changes in that i thought of doing somethink like if n.kind = Jarray: let look == items if n.kind == JOBject let look == pairs for i in look(n): but i've not dared to try such