(.using
  [library
   [lux {"-" char}
    ["$" documentation {"+" documentation:}]
    [data
     [text {"+" \n}
      ["%" format {"+" format}]]
     [collection
      ["[0]" list]]]]]
  [\\library
   ["[0]" /]])

(documentation: /.push
  (format "Installs macros in the compiler-state, with the given names."
          \n "Yields code that can be placed either as expression or as directives."
          \n "This code un-installs the macros."
          \n "NOTE: Always use this code once to clean-up..")
  [(push macros)])

(.def: .public documentation
  (.List $.Module)
  ($.module /._
            ""
            [..push
             ($.default /.unknown_module)
             ($.default /.cannot_shadow_definition)
             ($.default /.unknown_definition)]
            []))
