% % stack: code-body % _\ !newnode dup logs length !subjlen dup !subject dup "Code" \! analyze "analyze " log() -3 3 { "gleaner " log() -3 roll "Tree" exch % % stack: look-pos look-data look-mode monad-type % "preglean " count - & &" " log() dup "gleanops" look "postglean " count - & &" " log() { % % monad type found % "Monad " &2 &" " &3 &" " &4 &" " &5 logs } { % % monad type not found % } ifelse % % stack: look-pos look-data look-mode monad-type % pop4 } for _newnode !\ _subjlen "End" \! Tree._Listed dup - { "nextest " log() !\ "Resolve" "Type" \_ dup "gleanops" look pop3 Tree._Listed "newtreelen " log() exch second eq { % % no change in resolve process % _\ - dupnznot ? } { % % resolve process altered tree structure % pop Tree._Listed dup - } ifelse } loop pop 7 "ExpandTo" do