(.using
  [library
   [lux {"-" list}
    ["$" documentation {"+" documentation:}]
    [control
     ["<>" parser
      ["<[0]>" code]]]
    [data
     ["[0]" text {"+" \n}
      ["%" format {"+" format}]]]
    [macro
     ["[0]" template]]]]
  [\\library
   ["[0]" /]])

(documentation: (/.Zipper it)
  "Tree zippers, for easy navigation and editing of trees.")

(documentation: /.set
  ""
  [(set value zipper)])

(documentation: /.update
  ""
  [(update transform zipper)])

(documentation: /.interpose
  ""
  [(interpose value zipper)])

(documentation: /.adopt
  ""
  [(adopt value zipper)])

(.def: .public documentation
  (.List $.Module)
  ($.module /._
            ""
            [..Zipper
             ..set
             ..update
             ..interpose
             ..adopt
             ($.default /.equivalence)
             ($.default /.zipper)
             ($.default /.tree)
             ($.default /.value)
             ($.default /.leaf?)
             ($.default /.branch?)
             ($.default /.start?)
             ($.default /.down)
             ($.default /.up)
             ($.default /.right)
             ($.default /.rightmost)
             ($.default /.left)
             ($.default /.leftmost)
             ($.default /.next)
             ($.default /.previous)
             ($.default /.end)
             ($.default /.start)
             ($.default /.end?)
             ($.default /.remove)
             ($.default /.insert_left)
             ($.default /.insert_right)
             ($.default /.functor)
             ($.default /.comonad)]
            []))
