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

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

                ($.definition (/.Functor !))
                ($.definition (/.Or left right))
                ($.definition (/.And left right))
                ($.definition (/.Then outer inner))

                ($.definition /.sum
                  "Co-product (sum) composition for functors.")

                ($.definition /.product
                  "Product composition for functors.")

                ($.definition /.composite
                  "Functor composition.")

                /contravariant.documentation))
