(.using [library [lux (.except list) ["$" documentation (.only documentation:)] [control ["<>" parser (.only) ["<[0]>" code]]] [data ["[0]" text (.only \n) ["%" \\format (.only format)]]] [macro ["[0]" template]]]] [\\library ["[0]" /]] ["[0]" / ["[1][0]" finger] ["[1][0]" zipper]]) (documentation: (/.Tree it) "A generic tree data-structure.") (documentation: /.flat "All the leaf values of the tree, in order." [(flat tree)]) (documentation: /.leaf "" [(leaf value)]) (documentation: /.branch "" [(branch value children)]) (documentation: /.tree "Tree literals." [(is (Tree Nat) (tree 12 {34 {} 56 {} 78 {90 {}}}))]) (.def: .public documentation (.List $.Module) ($.module /._ "" [..Tree ..flat ..leaf ..branch ..tree ($.default /.equivalence) ($.default /.functor) ($.default /.mix)] [/finger.documentation /zipper.documentation]))