(.require
 [library
  [lux (.except)
   ["$" documentation]]]
 [\\library
  ["[0]" /]])

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

        ($.definition /.empty)
        ($.definition /.size)
        ($.definition /.index_out_of_bounds)
        ($.definition /.of_list)
        ($.definition /.empty?)
        ($.definition /.equivalence)
        ($.definition /.mix)
        ($.definition /.monoid)
        ($.definition /.functor)
        ($.definition /.apply)
        ($.definition /.monad)
        ($.definition /.reversed)
        ($.definition /.every?)
        ($.definition /.any?)

        ($.definition (/.Sequence it)
          "A sequential data-structure with fast random access.")

        ($.definition /.suffix
          ""
          [(suffix val sequence)])

        ($.definition /.within_bounds?
          "Determines whether the index is within the bounds of the sequence."
          [(within_bounds? sequence idx)])

        ($.definition /.item
          ""
          [(item idx sequence)])

        ($.definition /.has
          ""
          [(has idx val sequence)])

        ($.definition /.revised
          ""
          [(revised idx f sequence)])

        ($.definition /.prefix
          ""
          [(prefix sequence)])

        ($.definition /.list
          ""
          [(list sequence)])

        ($.definition /.member?
          ""
          [(member? equivalence sequence val)])

        ($.definition /.sequence
          "Sequence literals."
          [(is (Sequence Nat)
               (sequence 12 34 56 78 90))])
        ))
