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

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

            ($.definition /.empty?)
            ($.definition /.entries)
            ($.definition /.keys)
            ($.definition /.values)
            ($.definition /.equivalence)

            ($.definition (/.Dictionary key value)
              "A dictionary data-structure with ordered entries.")

            ($.definition /.empty
              "An empty dictionary, employing the given order."
              [(empty order)])

            ($.definition /.value
              ""
              [(value key dict)])

            ($.definition /.key?
              ""
              [(key? dict key)])

            (,, (with_template [<name>]
                  [(`` ($.definition <name>
                         (format "Yields value under the " (,, (template.text [<name>])) "imum key.")))]

                  [/.min]
                  [/.max]
                  ))

            ($.definition /.size
              ""
              [(size dict)])

            ($.definition /.has
              ""
              [(has key value dict)])

            ($.definition /.lacks
              ""
              [(lacks key dict)])

            ($.definition /.revised
              ""
              [(revised key transform dict)])

            ($.definition /.of_list
              ""
              [(of_list order list)])
            )))
