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

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

        ($.definition /.union)
        ($.definition /.intersection)
        ($.definition /.functor)

        ($.definition (/.Predicate it)
          "A question that can be asked of a value, yield either false (#0) or true (#1).")

        ($.definition /.none
          "A predicate that always fails.")

        ($.definition /.or
          "A predicate that meets either predecessor.")

        ($.definition /.all
          "A predicate that always succeeds.")

        ($.definition /.and
          "A predicate that meets both predecessors.")

        ($.definition /.complement
          "The opposite of a predicate.")

        ($.definition /.difference
          "A predicate that meeds 'base', but not 'sub'.")

        ($.definition /.rec
          "Ties the knot for a recursive predicate.")
        ))
