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

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

        ($.definition (/.Object brand))
        ($.definition /.Nil)
        ($.definition /.Function)
        ($.definition /.Table)
        ($.definition /.Boolean)
        ($.definition /.Integer)
        ($.definition /.Float)
        ($.definition /.String)

        ($.definition /.import
          "Easily import types, methods, functions and constants."
          [(import (os/getenv [..String] "io" "?" ..String))])

        ($.definition /.function
          (format "Allows defining closures/anonymous-functions in the form that Lua expects."
                  \n "This is useful for adapting Lux functions for usage by Lua code.")
          [(is ..Function
               (function [left right]
                 (do_something (as Foo left) (as Bar right))))])
        ))
