(.require
 [library
  [lux (.except)
   ["$" documentation]
   [data
    ["[0]" text (.only \n)
     ["%" \\format (.only format)]]]]]
 [\\library
  ["[0]" /]])

(def .public documentation
  (.List $.Documentation)
  (list ($.module /._
                  "")

        ($.definition /.tag)
        ($.definition /.root)

        ($.definition (/.Tree @ tag value)
          "A finger tree.")

        ($.definition (/.Builder @ tag)
          "A builder for finter tree structures.")

        ($.definition /.builder
          "A new builder using the given monoid."
          [(builder monoid)])

        ($.definition /.value
          ""
          [(value tree)])

        ($.definition /.tags
          ""
          [(tags tree)])

        ($.definition /.values
          ""
          [(values tree)])

        ($.definition /.one
          "Finds one value that meets the predicate."
          [(one predicate tree)])

        ($.definition /.exists?
          "Verifies that a value exists which meets the predicate."
          [(exists? predicate tree)])
        ))
