1;;; use-square-functor.scm 2 3(import square-functor) 4 5(module num (*) (import scheme)) 6(module lst (*) (import (except scheme *)) (define (* x y) (list x y))) 7 8(module sf1 = (square-functor num)) 9(module sf2 = (square-functor lst)) 10 11(import (prefix sf1 sf1:)) 12(import (prefix sf2 sf2:)) 13 14(assert (= 9 (sf1:square 3))) 15(assert (equal? '(3 3) (sf2:square 3))) 16