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

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

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

        ($.definition (/.List it)
          (format "A property list."
                  \n "It's a simple dictionary-like structure with Text keys."))

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

        ($.definition /.contains?
          ""
          [(contains? key properties)])

        ($.definition /.has
          ""
          [(has key val properties)])

        ($.definition /.revised
          ""
          [(revised key f properties)])

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