[ this ] is nil ( --> [ ) [ ' [ 1 [ 2 [ 4 [ 7 nil nil ] nil ] [ 5 nil nil ] ] [ 3 [ 6 [ 8 nil nil ] [ 9 nil nil ] ] nil ] ] ] is tree ( --> [ ) [ dup nil = iff drop done unpack swap rot echo sp recurse recurse ] is pre-order ( [ --> ) [ dup nil = iff drop done unpack unrot recurse echo sp recurse ] is in-order ( [ --> ) [ dup nil = iff drop done unpack swap recurse recurse echo sp ] is post-order ( [ --> ) [ queue swap push [ dup empty? iff drop done pop dup nil = iff drop again unpack rot echo sp dip push push again ] ] is level-order ( [ --> ) tree pre-order cr tree in-order cr tree post-order cr tree level-order cr