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

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

        ($.definition /.let
          "Locally-defined mutually-recursive functions."
          [(let [(even? number)
                 (-> Nat Bit)
                 (when number
                   0 true
                   _ (odd? (-- number)))

                 (odd? number)
                 (-> Nat Bit)
                 (when number
                   0 false
                   _ (even? (-- number)))]
             (and (even? 4)
                  (odd? 5)))])

        ($.definition /.def
          "Globally-defined mutually-recursive functions."
          [(def
             [.public (even? number)
              (-> Nat Bit)
              (when number
                0 true
                _ (odd? (-- number)))]

             [.public (odd? number)
              (-> Nat Bit)
              (when number
                0 false
                _ (even? (-- number)))])])
        ))
