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>.

(begin ; Note: BEGIN is only needed for automatic testing
  (module math
    (define* (fact x)
      (if (= 0 x) 1 (* x (fact (- x 1))))))
  (using math (fact)
    (fact 5)))                               ==> 120
