S9 LIB  (module <name> <definition> ...)                ==>  unspecific
        (using <name> (<name_i> ...) <expression> ...)  ==>  object

        (load-from-library "simple-modules.scm")

Simple modules. Inside of a MODULE expression, DEFINE defines
a local object and DEFINE* defines a public object. <Name> names
the module itself.

Expressions inside of USING may use all <name_i>'s that are
being imported from the module <name>.

(module math
  (define* (fact x)
    (if (= 0 x) 1 (* x (fact (- x 1))))))

(using math (fact)
  (fact 5))         ==> 120
