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

(documentation: /.Complex
  "A complex number.")

(documentation: /.complex
  "Complex literals."
  [(complex real imaginary)]
  ["The imaginary part can be omitted if it's +0.0."
   (complex real)])

(.def: .public documentation
  (.List $.Module)
  ($.module /._
            "Complex arithmetic."
            [..Complex
             ..complex
             ($.default /.i)
             ($.default /.+one)
             ($.default /.-one)
             ($.default /.zero)
             ($.default /.not_a_number?)
             ($.default /.=)
             ($.default /.+)
             ($.default /.-)
             ($.default /.equivalence)
             ($.default /.opposite)
             ($.default /.signum)
             ($.default /.conjugate)
             ($.default /.*')
             ($.default /.*)
             ($.default /./)
             ($.default /./')
             ($.default /.%)
             ($.default /.cos)
             ($.default /.cosh)
             ($.default /.sin)
             ($.default /.sinh)
             ($.default /.tan)
             ($.default /.tanh)
             ($.default /.abs)
             ($.default /.exp)
             ($.default /.log)
             ($.default /.pow)
             ($.default /.pow')
             ($.default /.root/2)
             ($.default /.reciprocal)
             ($.default /.acos)
             ($.default /.asin)
             ($.default /.atan)
             ($.default /.argument)
             ($.default /.roots)
             ($.default /.approximately?)]
            []))
