(.require
 [library
  [lux (.except)
   ["$" documentation]
   [data
    [collection
     ["[0]" list (.use "[1]#[0]" monoid)]]]]]
 [\\library
  ["[0]" /]])

(def .public documentation
  (List $.Documentation)
  (let [number (list ($.definition /.not_a_small_number)
                     ($.definition /.small_limit)
                     ($.definition /.Small)
                     ($.definition /.small)
                     ($.definition /.from_small)

                     ($.definition /.not_a_big_number)
                     ($.definition /.big_limit)
                     ($.definition /.Big)
                     ($.definition /.big)
                     ($.definition /.from_big))
        mode (list ($.definition /.invalid_link_flag)
                   ($.definition /.Mode)
                   ($.definition /.mode)
                   ($.definition /.and)
                   ($.definition /.invalid_mode)

                   ($.definition /.none)
                   
                   ($.definition /.execute_by_other)
                   ($.definition /.write_by_other)
                   ($.definition /.read_by_other)

                   ($.definition /.execute_by_group)
                   ($.definition /.write_by_group)
                   ($.definition /.read_by_group)

                   ($.definition /.execute_by_owner)
                   ($.definition /.write_by_owner)
                   ($.definition /.read_by_owner)

                   ($.definition /.save_text)
                   ($.definition /.set_group_id_on_execution)
                   ($.definition /.set_user_id_on_execution))
        label (list ($.definition /.wrong_character)
                    ($.definition /.not_ascii)
                    ($.definition /.name_size)
                    ($.definition /.path_size)

                    ($.definition /.Name)
                    ($.definition /.name_is_too_long)
                    ($.definition /.name)
                    ($.definition /.from_name)
                    ($.definition /.anonymous)

                    ($.definition /.Path)
                    ($.definition /.path_is_too_long)
                    ($.definition /.path)
                    ($.definition /.from_path)
                    ($.definition /.no_path))]
    (list.partial ($.module /._
                            "")

                  ($.definition /.Content)
                  ($.definition /.content)
                  ($.definition /.data)
                  ($.definition /.ID)
                  ($.definition /.no_id)
                  ($.definition /.Owner)
                  ($.definition /.Ownership)
                  ($.definition /.File)
                  ($.definition /.Normal)
                  ($.definition /.Symbolic_Link)
                  ($.definition /.Directory)
                  ($.definition /.Contiguous)
                  ($.definition /.Entry)
                  ($.definition /.Tar)
                  ($.definition /.format)
                  ($.definition /.wrong_checksum)
                  ($.definition /.invalid_end_of_archive)
                  ($.definition /.parser)

                  (all list#composite
                       number
                       mode
                       label
                       )
                  )))
