... This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
... If a copy of the MPL was not distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/.

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

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

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

        ($.definition (/.Writer log value)
          "Represents a value with an associated 'log' to record arbitrary information.")

        ($.definition /.write
          "Write a value to the log."
          ($.example (' (write message))))

        ($.definition /.with
          "Enhances a monad with Writer functionality."
          ($.example (' (with monoid monad))))

        ($.definition /.lifted
          "Wraps a monadic value with Writer machinery."
          ($.example (' (lifted monoid monad))))
        ))
