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

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

        ($.definition /.functor)
        ($.definition /.apply)
        ($.definition /.monad)

        ($.definition (/.Reader environment it)
          "Computations that have access to some environmental value.")

        ($.definition /.read
          "Get the environment.")

        ($.definition /.local
          "Run computation with a locally-modified environment."
          [(local change proc)])

        ($.definition /.result
          "Executes the reader against the given environment."
          [(result env proc)])

        ($.definition /.with
          "Monad transformer for Reader."
          [(with monad)])

        ($.definition /.lifted
          "Lift monadic values to the Reader wrapper.")
        ))
