string-test.ss
(module string-test mzscheme
  (require (lib "unitsig.ss")
           (lib "etc.ss")
           (lib "list.ss"))
  (require (planet "maybe.ss" ("jaymccarthy" "mmss.plt" 1)))
  (require "fmap.ss"
           "string.ss")
  
  (print-struct #t)
  
  (define-values/invoke-unit/sig fmap^
    string-fmap@
    fmap)
  
  (define (test)
    (foldl (lambda (e a)
             (fmap:insert fmap-replace e (gensym) a))
           fmap:empty
           (list "foo"
                 "bar"
                 "zog"
                 "zig"
                 "zah"
                 "zag"
                 "bog"
                 "foz"))))