descend

private inline fun descend(v: Any, body: () -> Boolean): Boolean

v is on the chain for the duration of body. A walk that repaired nothing stands where it already reads as v.toString() (SELF_RENDERING), and is rolled back for v's own format everywhere else. Removed on the way out: the same list twice as SIBLINGS is not a cycle. Depth is measured here rather than per element, since only a container can be descended into — a scalar sitting at the limit is a leaf, and reads as itself.