add <primcall> to tree-il
authorAndy Wingo <wingo@pobox.com>
Thu, 2 Jun 2011 15:41:45 +0000 (17:41 +0200)
committerAndy Wingo <wingo@pobox.com>
Thu, 2 Jun 2011 15:45:58 +0000 (17:45 +0200)
* libguile/expand.c:
* libguile/expand.h (SCM_EXPANDED_PRIMCALL_TYPE_NAME):
  (SCM_EXPANDED_PRIMCALL_FIELD_NAMES):
  (SCM_EXPANDED_PRIMCALL_SRC):
  (SCM_EXPANDED_PRIMCALL_NAME):
  (SCM_EXPANDED_PRIMCALL_ARGS):
  (SCM_MAKE_EXPANDED_PRIMCALL): Add "primcall" Tree-IL type.

* doc/ref/compiler.texi (Tree-IL): Update docs.

* libguile/memoize.c (memoize): Memoizer for primcalls.

* module/ice-9/psyntax.scm: Build primcalls, sometimes.  Also change
  build-primref to just make a primitive-ref.

* module/language/tree-il.scm: Add primcall to the exports, parsers,
  serializers, etc.

* module/language/tree-il/analyze.scm:
* module/language/tree-il/compile-glil.scm:
* module/language/tree-il/fix-letrec.scm:
* module/language/tree-il/inline.scm:
* module/language/tree-il/primitives.scm:
* module/language/elisp/compile-tree-il.scm: Add primcall support.

* test-suite/tests/tree-il.test: Use primcalls sometimes.

14 files changed:
doc/ref/compiler.texi
libguile/expand.c
libguile/expand.h
libguile/memoize.c
module/ice-9/psyntax-pp.scm
module/ice-9/psyntax.scm
module/language/elisp/compile-tree-il.scm
module/language/tree-il.scm
module/language/tree-il/analyze.scm
module/language/tree-il/compile-glil.scm
module/language/tree-il/fix-letrec.scm
module/language/tree-il/inline.scm
module/language/tree-il/primitives.scm
test-suite/tests/tree-il.test

index 98bbe06..7f60ac6 100644 (file)
@@ -388,6 +388,15 @@ A conditional. Note that @var{else} is not optional.
 @deftpx {External Representation} (call @var{proc} . @var{args})
 A procedure call.
 @end deftp
+@deftp {Scheme Variable} <primcall> src name args
+@deftpx {External Representation} (primcall @var{name} . @var{args})
+A call to a primitive.  Equivalent to @code{(call (primitive @var{name})
+. @var{args})}.  This construct is often more convenient to generate and
+analyze than @code{<call>}.
+
+As part of the compilation process, instances of @code{(call (primitive
+@var{name}) . @var{args})} are transformed into primcalls.
+@end deftp
 @deftp {Scheme Variable} <sequence> src exps
 @deftpx {External Representation} (begin . @var{exps})
 Like Scheme's @code{begin}.
index 2b5b2eb..af6eb7d 100644 (file)
@@ -1244,6 +1244,7 @@ scm_init_expand ()
   DEFINE_NAMES (TOPLEVEL_DEFINE);
   DEFINE_NAMES (CONDITIONAL);
   DEFINE_NAMES (CALL);
+  DEFINE_NAMES (PRIMCALL);
   DEFINE_NAMES (SEQUENCE);
   DEFINE_NAMES (LAMBDA);
   DEFINE_NAMES (LAMBDA_CASE);
index 7406a8e..b4e6a21 100644 (file)
@@ -48,6 +48,7 @@ typedef enum
     SCM_EXPANDED_TOPLEVEL_DEFINE,
     SCM_EXPANDED_CONDITIONAL,
     SCM_EXPANDED_CALL,
+    SCM_EXPANDED_PRIMCALL,
     SCM_EXPANDED_SEQUENCE,
     SCM_EXPANDED_LAMBDA,
     SCM_EXPANDED_LAMBDA_CASE,
@@ -241,6 +242,19 @@ enum
 #define SCM_MAKE_EXPANDED_CALL(src, proc, args) \
   scm_c_make_struct (exp_vtables[SCM_EXPANDED_CALL], 0, SCM_NUM_EXPANDED_CALL_FIELDS, SCM_UNPACK (src), SCM_UNPACK (proc), SCM_UNPACK (args))
 
+#define SCM_EXPANDED_PRIMCALL_TYPE_NAME "primcall"
+#define SCM_EXPANDED_PRIMCALL_FIELD_NAMES    \
+  { "src", "name", "args", }
+enum
+  {
+    SCM_EXPANDED_PRIMCALL_SRC,
+    SCM_EXPANDED_PRIMCALL_NAME,
+    SCM_EXPANDED_PRIMCALL_ARGS,
+    SCM_NUM_EXPANDED_PRIMCALL_FIELDS,
+  };
+#define SCM_MAKE_EXPANDED_PRIMCALL(src, name, args) \
+  scm_c_make_struct (exp_vtables[SCM_EXPANDED_PRIMCALL], 0, SCM_NUM_EXPANDED_PRIMCALL_FIELDS, SCM_UNPACK (src), SCM_UNPACK (name), SCM_UNPACK (args))
+
 #define SCM_EXPANDED_SEQUENCE_TYPE_NAME "sequence"
 #define SCM_EXPANDED_SEQUENCE_FIELD_NAMES       \
   {  "src", "exps", }
index f13de74..d1537f9 100644 (file)
@@ -263,6 +263,20 @@ memoize (SCM exp, SCM env)
         return MAKMEMO_CALL (memoize (proc, env), scm_ilength (args), args);
       }
 
+    case SCM_EXPANDED_PRIMCALL:
+      {
+        SCM proc, args;
+
+        if (scm_is_eq (scm_current_module (), scm_the_root_module ()))
+          proc = MAKMEMO_TOP_REF (REF (exp, PRIMCALL, NAME));
+        else
+          proc = MAKMEMO_MOD_REF (list_of_guile, REF (exp, PRIMCALL, NAME),
+                                  SCM_BOOL_F);
+        args = memoize_exps (REF (exp, PRIMCALL, ARGS), env);
+
+        return MAKMEMO_CALL (proc, scm_ilength (args), args);
+      }
+
     case SCM_EXPANDED_SEQUENCE:
       return MAKMEMO_BEGIN (memoize_exps (REF (exp, SEQUENCE, EXPS), env));
 
index 3deaf20..c235d92 100644 (file)
 
 (letrec*
   ((#{make-void 203}#
-     (lambda (#{src 761}#)
+     (lambda (#{src 765}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 0)
-         #{src 761}#)))
+         #{src 765}#)))
    (#{make-const 205}#
-     (lambda (#{src 763}# #{exp 764}#)
+     (lambda (#{src 767}# #{exp 768}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 1)
-         #{src 763}#
-         #{exp 764}#)))
+         #{src 767}#
+         #{exp 768}#)))
+   (#{make-primitive-ref 207}#
+     (lambda (#{src 771}# #{name 772}#)
+       (make-struct/no-tail
+         (vector-ref %expanded-vtables 2)
+         #{src 771}#
+         #{name 772}#)))
    (#{make-lexical-ref 209}#
-     (lambda (#{src 771}# #{name 772}# #{gensym 773}#)
+     (lambda (#{src 775}# #{name 776}# #{gensym 777}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 3)
-         #{src 771}#
-         #{name 772}#
-         #{gensym 773}#)))
+         #{src 775}#
+         #{name 776}#
+         #{gensym 777}#)))
    (#{make-lexical-set 211}#
-     (lambda (#{src 777}#
-              #{name 778}#
-              #{gensym 779}#
-              #{exp 780}#)
+     (lambda (#{src 781}#
+              #{name 782}#
+              #{gensym 783}#
+              #{exp 784}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 4)
-         #{src 777}#
-         #{name 778}#
-         #{gensym 779}#
-         #{exp 780}#)))
+         #{src 781}#
+         #{name 782}#
+         #{gensym 783}#
+         #{exp 784}#)))
    (#{make-module-ref 213}#
-     (lambda (#{src 785}#
-              #{mod 786}#
-              #{name 787}#
-              #{public? 788}#)
+     (lambda (#{src 789}#
+              #{mod 790}#
+              #{name 791}#
+              #{public? 792}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 5)
-         #{src 785}#
-         #{mod 786}#
-         #{name 787}#
-         #{public? 788}#)))
+         #{src 789}#
+         #{mod 790}#
+         #{name 791}#
+         #{public? 792}#)))
    (#{make-module-set 215}#
-     (lambda (#{src 793}#
-              #{mod 794}#
-              #{name 795}#
-              #{public? 796}#
-              #{exp 797}#)
+     (lambda (#{src 797}#
+              #{mod 798}#
+              #{name 799}#
+              #{public? 800}#
+              #{exp 801}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 6)
-         #{src 793}#
-         #{mod 794}#
-         #{name 795}#
-         #{public? 796}#
-         #{exp 797}#)))
+         #{src 797}#
+         #{mod 798}#
+         #{name 799}#
+         #{public? 800}#
+         #{exp 801}#)))
    (#{make-toplevel-ref 217}#
-     (lambda (#{src 803}# #{name 804}#)
+     (lambda (#{src 807}# #{name 808}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 7)
-         #{src 803}#
-         #{name 804}#)))
+         #{src 807}#
+         #{name 808}#)))
    (#{make-toplevel-set 219}#
-     (lambda (#{src 807}# #{name 808}# #{exp 809}#)
+     (lambda (#{src 811}# #{name 812}# #{exp 813}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 8)
-         #{src 807}#
-         #{name 808}#
-         #{exp 809}#)))
+         #{src 811}#
+         #{name 812}#
+         #{exp 813}#)))
    (#{make-toplevel-define 221}#
-     (lambda (#{src 813}# #{name 814}# #{exp 815}#)
+     (lambda (#{src 817}# #{name 818}# #{exp 819}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 9)
-         #{src 813}#
-         #{name 814}#
-         #{exp 815}#)))
+         #{src 817}#
+         #{name 818}#
+         #{exp 819}#)))
    (#{make-conditional 223}#
-     (lambda (#{src 819}#
-              #{test 820}#
-              #{consequent 821}#
-              #{alternate 822}#)
+     (lambda (#{src 823}#
+              #{test 824}#
+              #{consequent 825}#
+              #{alternate 826}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 10)
-         #{src 819}#
-         #{test 820}#
-         #{consequent 821}#
-         #{alternate 822}#)))
+         #{src 823}#
+         #{test 824}#
+         #{consequent 825}#
+         #{alternate 826}#)))
    (#{make-call 225}#
-     (lambda (#{src 827}# #{proc 828}# #{args 829}#)
+     (lambda (#{src 831}# #{proc 832}# #{args 833}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 11)
-         #{src 827}#
-         #{proc 828}#
-         #{args 829}#)))
-   (#{make-sequence 227}#
-     (lambda (#{src 833}# #{exps 834}#)
+         #{src 831}#
+         #{proc 832}#
+         #{args 833}#)))
+   (#{make-primcall 227}#
+     (lambda (#{src 837}# #{name 838}# #{args 839}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 12)
-         #{src 833}#
-         #{exps 834}#)))
-   (#{make-lambda 229}#
-     (lambda (#{src 837}# #{meta 838}# #{body 839}#)
+         #{src 837}#
+         #{name 838}#
+         #{args 839}#)))
+   (#{make-sequence 229}#
+     (lambda (#{src 843}# #{exps 844}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 13)
-         #{src 837}#
-         #{meta 838}#
-         #{body 839}#)))
-   (#{make-lambda-case 231}#
-     (lambda (#{src 843}#
-              #{req 844}#
-              #{opt 845}#
-              #{rest 846}#
-              #{kw 847}#
-              #{inits 848}#
-              #{gensyms 849}#
-              #{body 850}#
-              #{alternate 851}#)
+         #{src 843}#
+         #{exps 844}#)))
+   (#{make-lambda 231}#
+     (lambda (#{src 847}# #{meta 848}# #{body 849}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 14)
-         #{src 843}#
-         #{req 844}#
-         #{opt 845}#
-         #{rest 846}#
-         #{kw 847}#
-         #{inits 848}#
-         #{gensyms 849}#
-         #{body 850}#
-         #{alternate 851}#)))
-   (#{make-let 233}#
-     (lambda (#{src 861}#
-              #{names 862}#
-              #{gensyms 863}#
-              #{vals 864}#
-              #{body 865}#)
+         #{src 847}#
+         #{meta 848}#
+         #{body 849}#)))
+   (#{make-lambda-case 233}#
+     (lambda (#{src 853}#
+              #{req 854}#
+              #{opt 855}#
+              #{rest 856}#
+              #{kw 857}#
+              #{inits 858}#
+              #{gensyms 859}#
+              #{body 860}#
+              #{alternate 861}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 15)
-         #{src 861}#
-         #{names 862}#
-         #{gensyms 863}#
-         #{vals 864}#
-         #{body 865}#)))
-   (#{make-letrec 235}#
+         #{src 853}#
+         #{req 854}#
+         #{opt 855}#
+         #{rest 856}#
+         #{kw 857}#
+         #{inits 858}#
+         #{gensyms 859}#
+         #{body 860}#
+         #{alternate 861}#)))
+   (#{make-let 235}#
      (lambda (#{src 871}#
-              #{in-order? 872}#
-              #{names 873}#
-              #{gensyms 874}#
-              #{vals 875}#
-              #{body 876}#)
+              #{names 872}#
+              #{gensyms 873}#
+              #{vals 874}#
+              #{body 875}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 16)
          #{src 871}#
-         #{in-order? 872}#
-         #{names 873}#
-         #{gensyms 874}#
-         #{vals 875}#
-         #{body 876}#)))
-   (#{make-dynlet 237}#
-     (lambda (#{src 883}#
-              #{fluids 884}#
+         #{names 872}#
+         #{gensyms 873}#
+         #{vals 874}#
+         #{body 875}#)))
+   (#{make-letrec 237}#
+     (lambda (#{src 881}#
+              #{in-order? 882}#
+              #{names 883}#
+              #{gensyms 884}#
               #{vals 885}#
               #{body 886}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 17)
-         #{src 883}#
-         #{fluids 884}#
+         #{src 881}#
+         #{in-order? 882}#
+         #{names 883}#
+         #{gensyms 884}#
          #{vals 885}#
          #{body 886}#)))
-   (#{lambda? 240}#
-     (lambda (#{x 891}#)
-       (if (struct? #{x 891}#)
-         (eq? (struct-vtable #{x 891}#)
-              (vector-ref %expanded-vtables 13))
+   (#{make-dynlet 239}#
+     (lambda (#{src 893}#
+              #{fluids 894}#
+              #{vals 895}#
+              #{body 896}#)
+       (make-struct/no-tail
+         (vector-ref %expanded-vtables 18)
+         #{src 893}#
+         #{fluids 894}#
+         #{vals 895}#
+         #{body 896}#)))
+   (#{lambda? 242}#
+     (lambda (#{x 901}#)
+       (if (struct? #{x 901}#)
+         (eq? (struct-vtable #{x 901}#)
+              (vector-ref %expanded-vtables 14))
          #f)))
-   (#{lambda-meta 242}#
-     (lambda (#{x 895}#) (struct-ref #{x 895}# 1)))
-   (#{set-lambda-meta! 244}#
-     (lambda (#{x 897}# #{v 898}#)
-       (struct-set! #{x 897}# 1 #{v 898}#)))
-   (#{top-level-eval-hook 250}#
-     (lambda (#{x 901}# #{mod 902}#)
-       (primitive-eval #{x 901}#)))
-   (#{local-eval-hook 252}#
-     (lambda (#{x 905}# #{mod 906}#)
-       (primitive-eval #{x 905}#)))
-   (#{put-global-definition-hook 255}#
-     (lambda (#{symbol 909}# #{type 910}# #{val 911}#)
+   (#{lambda-meta 244}#
+     (lambda (#{x 905}#) (struct-ref #{x 905}# 1)))
+   (#{set-lambda-meta! 246}#
+     (lambda (#{x 907}# #{v 908}#)
+       (struct-set! #{x 907}# 1 #{v 908}#)))
+   (#{top-level-eval-hook 252}#
+     (lambda (#{x 911}# #{mod 912}#)
+       (primitive-eval #{x 911}#)))
+   (#{local-eval-hook 254}#
+     (lambda (#{x 915}# #{mod 916}#)
+       (primitive-eval #{x 915}#)))
+   (#{put-global-definition-hook 257}#
+     (lambda (#{symbol 919}# #{type 920}# #{val 921}#)
        (module-define!
          (current-module)
-         #{symbol 909}#
+         #{symbol 919}#
          (make-syntax-transformer
-           #{symbol 909}#
-           #{type 910}#
-           #{val 911}#))))
-   (#{get-global-definition-hook 257}#
-     (lambda (#{symbol 915}# #{module 916}#)
+           #{symbol 919}#
+           #{type 920}#
+           #{val 921}#))))
+   (#{get-global-definition-hook 259}#
+     (lambda (#{symbol 925}# #{module 926}#)
        (begin
-         (if (if (not #{module 916}#) (current-module) #f)
+         (if (if (not #{module 926}#) (current-module) #f)
            (warn "module system is booted, we should have a module"
-                 #{symbol 915}#))
+                 #{symbol 925}#))
          (begin
-           (let ((#{v 922}# (module-variable
-                              (if #{module 916}#
-                                (resolve-module (cdr #{module 916}#))
+           (let ((#{v 932}# (module-variable
+                              (if #{module 926}#
+                                (resolve-module (cdr #{module 926}#))
                                 (current-module))
-                              #{symbol 915}#)))
-             (if #{v 922}#
-               (if (variable-bound? #{v 922}#)
+                              #{symbol 925}#)))
+             (if #{v 932}#
+               (if (variable-bound? #{v 932}#)
                  (begin
-                   (let ((#{val 927}# (variable-ref #{v 922}#)))
-                     (if (macro? #{val 927}#)
-                       (if (macro-type #{val 927}#)
-                         (cons (macro-type #{val 927}#)
-                               (macro-binding #{val 927}#))
+                   (let ((#{val 937}# (variable-ref #{v 932}#)))
+                     (if (macro? #{val 937}#)
+                       (if (macro-type #{val 937}#)
+                         (cons (macro-type #{val 937}#)
+                               (macro-binding #{val 937}#))
                          #f)
                        #f)))
                  #f)
                #f))))))
-   (#{decorate-source 259}#
-     (lambda (#{e 931}# #{s 932}#)
+   (#{decorate-source 261}#
+     (lambda (#{e 941}# #{s 942}#)
        (begin
-         (if (if (pair? #{e 931}#) #{s 932}# #f)
-           (set-source-properties! #{e 931}# #{s 932}#))
-         #{e 931}#)))
-   (#{maybe-name-value! 261}#
-     (lambda (#{name 937}# #{val 938}#)
-       (if (#{lambda? 240}# #{val 938}#)
+         (if (if (pair? #{e 941}#) #{s 942}# #f)
+           (set-source-properties! #{e 941}# #{s 942}#))
+         #{e 941}#)))
+   (#{maybe-name-value! 263}#
+     (lambda (#{name 947}# #{val 948}#)
+       (if (#{lambda? 242}# #{val 948}#)
          (begin
-           (let ((#{meta 942}# (#{lambda-meta 242}# #{val 938}#)))
-             (if (not (assq 'name #{meta 942}#))
-               (#{set-lambda-meta! 244}#
-                 #{val 938}#
-                 (cons (cons 'name #{name 937}#) #{meta 942}#))))))))
-   (#{build-void 263}#
-     (lambda (#{source 943}#)
-       (#{make-void 203}# #{source 943}#)))
-   (#{build-call 265}#
-     (lambda (#{source 945}# #{fun-exp 946}# #{arg-exps 947}#)
+           (let ((#{meta 952}# (#{lambda-meta 244}# #{val 948}#)))
+             (if (not (assq 'name #{meta 952}#))
+               (#{set-lambda-meta! 246}#
+                 #{val 948}#
+                 (cons (cons 'name #{name 947}#) #{meta 952}#))))))))
+   (#{build-void 265}#
+     (lambda (#{source 953}#)
+       (#{make-void 203}# #{source 953}#)))
+   (#{build-call 267}#
+     (lambda (#{source 955}# #{fun-exp 956}# #{arg-exps 957}#)
        (#{make-call 225}#
-         #{source 945}#
-         #{fun-exp 946}#
-         #{arg-exps 947}#)))
-   (#{build-conditional 267}#
-     (lambda (#{source 951}#
-              #{test-exp 952}#
-              #{then-exp 953}#
-              #{else-exp 954}#)
+         #{source 955}#
+         #{fun-exp 956}#
+         #{arg-exps 957}#)))
+   (#{build-conditional 269}#
+     (lambda (#{source 961}#
+              #{test-exp 962}#
+              #{then-exp 963}#
+              #{else-exp 964}#)
        (#{make-conditional 223}#
-         #{source 951}#
-         #{test-exp 952}#
-         #{then-exp 953}#
-         #{else-exp 954}#)))
-   (#{build-dynlet 269}#
-     (lambda (#{source 959}#
-              #{fluids 960}#
-              #{vals 961}#
-              #{body 962}#)
-       (#{make-dynlet 237}#
-         #{source 959}#
-         #{fluids 960}#
-         #{vals 961}#
-         #{body 962}#)))
-   (#{build-lexical-reference 271}#
-     (lambda (#{type 967}#
-              #{source 968}#
-              #{name 969}#
-              #{var 970}#)
+         #{source 961}#
+         #{test-exp 962}#
+         #{then-exp 963}#
+         #{else-exp 964}#)))
+   (#{build-dynlet 271}#
+     (lambda (#{source 969}#
+              #{fluids 970}#
+              #{vals 971}#
+              #{body 972}#)
+       (#{make-dynlet 239}#
+         #{source 969}#
+         #{fluids 970}#
+         #{vals 971}#
+         #{body 972}#)))
+   (#{build-lexical-reference 273}#
+     (lambda (#{type 977}#
+              #{source 978}#
+              #{name 979}#
+              #{var 980}#)
        (#{make-lexical-ref 209}#
-         #{source 968}#
-         #{name 969}#
-         #{var 970}#)))
-   (#{build-lexical-assignment 273}#
-     (lambda (#{source 975}#
-              #{name 976}#
-              #{var 977}#
-              #{exp 978}#)
+         #{source 978}#
+         #{name 979}#
+         #{var 980}#)))
+   (#{build-lexical-assignment 275}#
+     (lambda (#{source 985}#
+              #{name 986}#
+              #{var 987}#
+              #{exp 988}#)
        (begin
-         (#{maybe-name-value! 261}#
-           #{name 976}#
-           #{exp 978}#)
+         (#{maybe-name-value! 263}#
+           #{name 986}#
+           #{exp 988}#)
          (#{make-lexical-set 211}#
-           #{source 975}#
-           #{name 976}#
-           #{var 977}#
-           #{exp 978}#))))
-   (#{analyze-variable 275}#
-     (lambda (#{mod 983}#
-              #{var 984}#
-              #{modref-cont 985}#
-              #{bare-cont 986}#)
-       (if (not #{mod 983}#)
-         (#{bare-cont 986}# #{var 984}#)
+           #{source 985}#
+           #{name 986}#
+           #{var 987}#
+           #{exp 988}#))))
+   (#{analyze-variable 277}#
+     (lambda (#{mod 993}#
+              #{var 994}#
+              #{modref-cont 995}#
+              #{bare-cont 996}#)
+       (if (not #{mod 993}#)
+         (#{bare-cont 996}# #{var 994}#)
          (begin
-           (let ((#{kind 993}# (car #{mod 983}#))
-                 (#{mod 994}# (cdr #{mod 983}#)))
-             (if (eqv? #{kind 993}# 'public)
-               (#{modref-cont 985}# #{mod 994}# #{var 984}# #t)
-               (if (eqv? #{kind 993}# 'private)
+           (let ((#{kind 1003}# (car #{mod 993}#))
+                 (#{mod 1004}# (cdr #{mod 993}#)))
+             (if (memv #{kind 1003}# '(public))
+               (#{modref-cont 995}# #{mod 1004}# #{var 994}# #t)
+               (if (memv #{kind 1003}# '(private))
                  (if (not (equal?
-                            #{mod 994}#
+                            #{mod 1004}#
                             (module-name (current-module))))
-                   (#{modref-cont 985}# #{mod 994}# #{var 984}# #f)
-                   (#{bare-cont 986}# #{var 984}#))
-                 (if (eqv? #{kind 993}# 'bare)
-                   (#{bare-cont 986}# #{var 984}#)
-                   (if (eqv? #{kind 993}# 'hygiene)
+                   (#{modref-cont 995}# #{mod 1004}# #{var 994}# #f)
+                   (#{bare-cont 996}# #{var 994}#))
+                 (if (memv #{kind 1003}# '(bare))
+                   (#{bare-cont 996}# #{var 994}#)
+                   (if (memv #{kind 1003}# '(hygiene))
                      (if (if (not (equal?
-                                    #{mod 994}#
+                                    #{mod 1004}#
                                     (module-name (current-module))))
                            (module-variable
-                             (resolve-module #{mod 994}#)
-                             #{var 984}#)
+                             (resolve-module #{mod 1004}#)
+                             #{var 994}#)
                            #f)
-                       (#{modref-cont 985}# #{mod 994}# #{var 984}# #f)
-                       (#{bare-cont 986}# #{var 984}#))
+                       (#{modref-cont 995}# #{mod 1004}# #{var 994}# #f)
+                       (#{bare-cont 996}# #{var 994}#))
                      (syntax-violation
                        #f
                        "bad module kind"
-                       #{var 984}#
-                       #{mod 994}#))))))))))
-   (#{build-global-reference 277}#
-     (lambda (#{source 1002}# #{var 1003}# #{mod 1004}#)
-       (#{analyze-variable 275}#
-         #{mod 1004}#
-         #{var 1003}#
-         (lambda (#{mod 1008}# #{var 1009}# #{public? 1010}#)
+                       #{var 994}#
+                       #{mod 1004}#))))))))))
+   (#{build-global-reference 279}#
+     (lambda (#{source 1012}# #{var 1013}# #{mod 1014}#)
+       (#{analyze-variable 277}#
+         #{mod 1014}#
+         #{var 1013}#
+         (lambda (#{mod 1018}# #{var 1019}# #{public? 1020}#)
            (#{make-module-ref 213}#
-             #{source 1002}#
-             #{mod 1008}#
-             #{var 1009}#
-             #{public? 1010}#))
-         (lambda (#{var 1014}#)
+             #{source 1012}#
+             #{mod 1018}#
+             #{var 1019}#
+             #{public? 1020}#))
+         (lambda (#{var 1024}#)
            (#{make-toplevel-ref 217}#
-             #{source 1002}#
-             #{var 1014}#)))))
-   (#{build-global-assignment 279}#
-     (lambda (#{source 1016}#
-              #{var 1017}#
-              #{exp 1018}#
-              #{mod 1019}#)
+             #{source 1012}#
+             #{var 1024}#)))))
+   (#{build-global-assignment 281}#
+     (lambda (#{source 1026}#
+              #{var 1027}#
+              #{exp 1028}#
+              #{mod 1029}#)
        (begin
-         (#{maybe-name-value! 261}#
-           #{var 1017}#
-           #{exp 1018}#)
-         (#{analyze-variable 275}#
-           #{mod 1019}#
-           #{var 1017}#
-           (lambda (#{mod 1024}# #{var 1025}# #{public? 1026}#)
+         (#{maybe-name-value! 263}#
+           #{var 1027}#
+           #{exp 1028}#)
+         (#{analyze-variable 277}#
+           #{mod 1029}#
+           #{var 1027}#
+           (lambda (#{mod 1034}# #{var 1035}# #{public? 1036}#)
              (#{make-module-set 215}#
-               #{source 1016}#
-               #{mod 1024}#
-               #{var 1025}#
-               #{public? 1026}#
-               #{exp 1018}#))
-           (lambda (#{var 1030}#)
+               #{source 1026}#
+               #{mod 1034}#
+               #{var 1035}#
+               #{public? 1036}#
+               #{exp 1028}#))
+           (lambda (#{var 1040}#)
              (#{make-toplevel-set 219}#
-               #{source 1016}#
-               #{var 1030}#
-               #{exp 1018}#))))))
-   (#{build-global-definition 281}#
-     (lambda (#{source 1032}# #{var 1033}# #{exp 1034}#)
+               #{source 1026}#
+               #{var 1040}#
+               #{exp 1028}#))))))
+   (#{build-global-definition 283}#
+     (lambda (#{source 1042}# #{var 1043}# #{exp 1044}#)
        (begin
-         (#{maybe-name-value! 261}#
-           #{var 1033}#
-           #{exp 1034}#)
+         (#{maybe-name-value! 263}#
+           #{var 1043}#
+           #{exp 1044}#)
          (#{make-toplevel-define 221}#
-           #{source 1032}#
-           #{var 1033}#
-           #{exp 1034}#))))
-   (#{build-simple-lambda 283}#
-     (lambda (#{src 1038}#
-              #{req 1039}#
-              #{rest 1040}#
-              #{vars 1041}#
-              #{meta 1042}#
-              #{exp 1043}#)
-       (#{make-lambda 229}#
-         #{src 1038}#
-         #{meta 1042}#
-         (#{make-lambda-case 231}#
-           #{src 1038}#
-           #{req 1039}#
+           #{source 1042}#
+           #{var 1043}#
+           #{exp 1044}#))))
+   (#{build-simple-lambda 285}#
+     (lambda (#{src 1048}#
+              #{req 1049}#
+              #{rest 1050}#
+              #{vars 1051}#
+              #{meta 1052}#
+              #{exp 1053}#)
+       (#{make-lambda 231}#
+         #{src 1048}#
+         #{meta 1052}#
+         (#{make-lambda-case 233}#
+           #{src 1048}#
+           #{req 1049}#
            #f
-           #{rest 1040}#
+           #{rest 1050}#
            #f
            '()
-           #{vars 1041}#
-           #{exp 1043}#
-           #f))))
-   (#{build-case-lambda 285}#
-     (lambda (#{src 1050}# #{meta 1051}# #{body 1052}#)
-       (#{make-lambda 229}#
-         #{src 1050}#
-         #{meta 1051}#
-         #{body 1052}#)))
-   (#{build-lambda-case 287}#
-     (lambda (#{src 1056}#
-              #{req 1057}#
-              #{opt 1058}#
-              #{rest 1059}#
-              #{kw 1060}#
-              #{inits 1061}#
-              #{vars 1062}#
-              #{body 1063}#
-              #{else-case 1064}#)
-       (#{make-lambda-case 231}#
-         #{src 1056}#
-         #{req 1057}#
-         #{opt 1058}#
-         #{rest 1059}#
-         #{kw 1060}#
-         #{inits 1061}#
-         #{vars 1062}#
-         #{body 1063}#
-         #{else-case 1064}#)))
-   (#{build-primref 289}#
-     (lambda (#{src 1074}# #{name 1075}#)
-       (if (equal? (module-name (current-module)) '(guile))
-         (#{make-toplevel-ref 217}#
-           #{src 1074}#
-           #{name 1075}#)
-         (#{make-module-ref 213}#
-           #{src 1074}#
-           '(guile)
-           #{name 1075}#
+           #{vars 1051}#
+           #{exp 1053}#
            #f))))
-   (#{build-data 291}#
-     (lambda (#{src 1078}# #{exp 1079}#)
-       (#{make-const 205}# #{src 1078}# #{exp 1079}#)))
-   (#{build-sequence 293}#
-     (lambda (#{src 1082}# #{exps 1083}#)
-       (if (null? (cdr #{exps 1083}#))
-         (car #{exps 1083}#)
-         (#{make-sequence 227}#
-           #{src 1082}#
-           #{exps 1083}#))))
-   (#{build-let 295}#
-     (lambda (#{src 1086}#
-              #{ids 1087}#
-              #{vars 1088}#
-              #{val-exps 1089}#
-              #{body-exp 1090}#)
+   (#{build-case-lambda 287}#
+     (lambda (#{src 1060}# #{meta 1061}# #{body 1062}#)
+       (#{make-lambda 231}#
+         #{src 1060}#
+         #{meta 1061}#
+         #{body 1062}#)))
+   (#{build-lambda-case 289}#
+     (lambda (#{src 1066}#
+              #{req 1067}#
+              #{opt 1068}#
+              #{rest 1069}#
+              #{kw 1070}#
+              #{inits 1071}#
+              #{vars 1072}#
+              #{body 1073}#
+              #{else-case 1074}#)
+       (#{make-lambda-case 233}#
+         #{src 1066}#
+         #{req 1067}#
+         #{opt 1068}#
+         #{rest 1069}#
+         #{kw 1070}#
+         #{inits 1071}#
+         #{vars 1072}#
+         #{body 1073}#
+         #{else-case 1074}#)))
+   (#{build-primcall 291}#
+     (lambda (#{src 1084}# #{name 1085}# #{args 1086}#)
+       (#{make-primcall 227}#
+         #{src 1084}#
+         #{name 1085}#
+         #{args 1086}#)))
+   (#{build-primref 293}#
+     (lambda (#{src 1090}# #{name 1091}#)
+       (#{make-primitive-ref 207}#
+         #{src 1090}#
+         #{name 1091}#)))
+   (#{build-data 295}#
+     (lambda (#{src 1094}# #{exp 1095}#)
+       (#{make-const 205}# #{src 1094}# #{exp 1095}#)))
+   (#{build-sequence 297}#
+     (lambda (#{src 1098}# #{exps 1099}#)
+       (if (null? (cdr #{exps 1099}#))
+         (car #{exps 1099}#)
+         (#{make-sequence 229}#
+           #{src 1098}#
+           #{exps 1099}#))))
+   (#{build-let 299}#
+     (lambda (#{src 1102}#
+              #{ids 1103}#
+              #{vars 1104}#
+              #{val-exps 1105}#
+              #{body-exp 1106}#)
        (begin
          (for-each
-           #{maybe-name-value! 261}#
-           #{ids 1087}#
-           #{val-exps 1089}#)
-         (if (null? #{vars 1088}#)
-           #{body-exp 1090}#
-           (#{make-let 233}#
-             #{src 1086}#
-             #{ids 1087}#
-             #{vars 1088}#
-             #{val-exps 1089}#
-             #{body-exp 1090}#)))))
-   (#{build-named-let 297}#
-     (lambda (#{src 1096}#
-              #{ids 1097}#
-              #{vars 1098}#
-              #{val-exps 1099}#
-              #{body-exp 1100}#)
+           #{maybe-name-value! 263}#
+           #{ids 1103}#
+           #{val-exps 1105}#)
+         (if (null? #{vars 1104}#)
+           #{body-exp 1106}#
+           (#{make-let 235}#
+             #{src 1102}#
+             #{ids 1103}#
+             #{vars 1104}#
+             #{val-exps 1105}#
+             #{body-exp 1106}#)))))
+   (#{build-named-let 301}#
+     (lambda (#{src 1112}#
+              #{ids 1113}#
+              #{vars 1114}#
+              #{val-exps 1115}#
+              #{body-exp 1116}#)
        (begin
-         (let ((#{f 1110}# (car #{vars 1098}#))
-               (#{f-name 1111}# (car #{ids 1097}#))
-               (#{vars 1112}# (cdr #{vars 1098}#))
-               (#{ids 1113}# (cdr #{ids 1097}#)))
+         (let ((#{f 1126}# (car #{vars 1114}#))
+               (#{f-name 1127}# (car #{ids 1113}#))
+               (#{vars 1128}# (cdr #{vars 1114}#))
+               (#{ids 1129}# (cdr #{ids 1113}#)))
            (begin
-             (let ((#{proc 1115}#
-                     (#{build-simple-lambda 283}#
-                       #{src 1096}#
-                       #{ids 1113}#
+             (let ((#{proc 1131}#
+                     (#{build-simple-lambda 285}#
+                       #{src 1112}#
+                       #{ids 1129}#
                        #f
-                       #{vars 1112}#
+                       #{vars 1128}#
                        '()
-                       #{body-exp 1100}#)))
+                       #{body-exp 1116}#)))
                (begin
-                 (#{maybe-name-value! 261}#
-                   #{f-name 1111}#
-                   #{proc 1115}#)
+                 (#{maybe-name-value! 263}#
+                   #{f-name 1127}#
+                   #{proc 1131}#)
                  (for-each
-                   #{maybe-name-value! 261}#
-                   #{ids 1113}#
-                   #{val-exps 1099}#)
-                 (#{make-letrec 235}#
-                   #{src 1096}#
+                   #{maybe-name-value! 263}#
+                   #{ids 1129}#
+                   #{val-exps 1115}#)
+                 (#{make-letrec 237}#
+                   #{src 1112}#
                    #f
-                   (list #{f-name 1111}#)
-                   (list #{f 1110}#)
-                   (list #{proc 1115}#)
-                   (#{build-call 265}#
-                     #{src 1096}#
-                     (#{build-lexical-reference 271}#
+                   (list #{f-name 1127}#)
+                   (list #{f 1126}#)
+                   (list #{proc 1131}#)
+                   (#{build-call 267}#
+                     #{src 1112}#
+                     (#{build-lexical-reference 273}#
                        'fun
-                       #{src 1096}#
-                       #{f-name 1111}#
-                       #{f 1110}#)
-                     #{val-exps 1099}#)))))))))
-   (#{build-letrec 299}#
-     (lambda (#{src 1116}#
-              #{in-order? 1117}#
-              #{ids 1118}#
-              #{vars 1119}#
-              #{val-exps 1120}#
-              #{body-exp 1121}#)
-       (if (null? #{vars 1119}#)
-         #{body-exp 1121}#
+                       #{src 1112}#
+                       #{f-name 1127}#
+                       #{f 1126}#)
+                     #{val-exps 1115}#)))))))))
+   (#{build-letrec 303}#
+     (lambda (#{src 1132}#
+              #{in-order? 1133}#
+              #{ids 1134}#
+              #{vars 1135}#
+              #{val-exps 1136}#
+              #{body-exp 1137}#)
+       (if (null? #{vars 1135}#)
+         #{body-exp 1137}#
          (begin
            (for-each
-             #{maybe-name-value! 261}#
-             #{ids 1118}#
-             #{val-exps 1120}#)
-           (#{make-letrec 235}#
-             #{src 1116}#
-             #{in-order? 1117}#
-             #{ids 1118}#
-             #{vars 1119}#
-             #{val-exps 1120}#
-             #{body-exp 1121}#)))))
-   (#{make-syntax-object 303}#
-     (lambda (#{expression 1128}#
-              #{wrap 1129}#
-              #{module 1130}#)
+             #{maybe-name-value! 263}#
+             #{ids 1134}#
+             #{val-exps 1136}#)
+           (#{make-letrec 237}#
+             #{src 1132}#
+             #{in-order? 1133}#
+             #{ids 1134}#
+             #{vars 1135}#
+             #{val-exps 1136}#
+             #{body-exp 1137}#)))))
+   (#{make-syntax-object 307}#
+     (lambda (#{expression 1144}#
+              #{wrap 1145}#
+              #{module 1146}#)
        (vector
          'syntax-object
-         #{expression 1128}#
-         #{wrap 1129}#
-         #{module 1130}#)))
-   (#{syntax-object? 305}#
-     (lambda (#{x 1134}#)
-       (if (vector? #{x 1134}#)
-         (if (= (vector-length #{x 1134}#) 4)
-           (eq? (vector-ref #{x 1134}# 0) 'syntax-object)
+         #{expression 1144}#
+         #{wrap 1145}#
+         #{module 1146}#)))
+   (#{syntax-object? 309}#
+     (lambda (#{x 1150}#)
+       (if (vector? #{x 1150}#)
+         (if (= (vector-length #{x 1150}#) 4)
+           (eq? (vector-ref #{x 1150}# 0) 'syntax-object)
            #f)
          #f)))
-   (#{syntax-object-expression 307}#
-     (lambda (#{x 1139}#) (vector-ref #{x 1139}# 1)))
-   (#{syntax-object-wrap 309}#
-     (lambda (#{x 1141}#) (vector-ref #{x 1141}# 2)))
-   (#{syntax-object-module 311}#
-     (lambda (#{x 1143}#) (vector-ref #{x 1143}# 3)))
-   (#{source-annotation 320}#
-     (lambda (#{x 1157}#)
-       (if (#{syntax-object? 305}# #{x 1157}#)
-         (#{source-annotation 320}#
-           (#{syntax-object-expression 307}# #{x 1157}#))
-         (if (pair? #{x 1157}#)
+   (#{syntax-object-expression 311}#
+     (lambda (#{x 1155}#) (vector-ref #{x 1155}# 1)))
+   (#{syntax-object-wrap 313}#
+     (lambda (#{x 1157}#) (vector-ref #{x 1157}# 2)))
+   (#{syntax-object-module 315}#
+     (lambda (#{x 1159}#) (vector-ref #{x 1159}# 3)))
+   (#{source-annotation 324}#
+     (lambda (#{x 1173}#)
+       (if (#{syntax-object? 309}# #{x 1173}#)
+         (#{source-annotation 324}#
+           (#{syntax-object-expression 311}# #{x 1173}#))
+         (if (pair? #{x 1173}#)
            (begin
-             (let ((#{props 1164}# (source-properties #{x 1157}#)))
-               (if (pair? #{props 1164}#) #{props 1164}# #f)))
+             (let ((#{props 1180}# (source-properties #{x 1173}#)))
+               (if (pair? #{props 1180}#) #{props 1180}# #f)))
            #f))))
-   (#{extend-env 327}#
-     (lambda (#{labels 1166}# #{bindings 1167}# #{r 1168}#)
-       (if (null? #{labels 1166}#)
-         #{r 1168}#
-         (#{extend-env 327}#
-           (cdr #{labels 1166}#)
-           (cdr #{bindings 1167}#)
-           (cons (cons (car #{labels 1166}#)
-                       (car #{bindings 1167}#))
-                 #{r 1168}#)))))
-   (#{extend-var-env 329}#
-     (lambda (#{labels 1172}# #{vars 1173}# #{r 1174}#)
-       (if (null? #{labels 1172}#)
-         #{r 1174}#
-         (#{extend-var-env 329}#
-           (cdr #{labels 1172}#)
-           (cdr #{vars 1173}#)
-           (cons (cons (car #{labels 1172}#)
-                       (cons 'lexical (car #{vars 1173}#)))
-                 #{r 1174}#)))))
-   (#{macros-only-env 331}#
-     (lambda (#{r 1179}#)
-       (if (null? #{r 1179}#)
+   (#{extend-env 331}#
+     (lambda (#{labels 1182}# #{bindings 1183}# #{r 1184}#)
+       (if (null? #{labels 1182}#)
+         #{r 1184}#
+         (#{extend-env 331}#
+           (cdr #{labels 1182}#)
+           (cdr #{bindings 1183}#)
+           (cons (cons (car #{labels 1182}#)
+                       (car #{bindings 1183}#))
+                 #{r 1184}#)))))
+   (#{extend-var-env 333}#
+     (lambda (#{labels 1188}# #{vars 1189}# #{r 1190}#)
+       (if (null? #{labels 1188}#)
+         #{r 1190}#
+         (#{extend-var-env 333}#
+           (cdr #{labels 1188}#)
+           (cdr #{vars 1189}#)
+           (cons (cons (car #{labels 1188}#)
+                       (cons 'lexical (car #{vars 1189}#)))
+                 #{r 1190}#)))))
+   (#{macros-only-env 335}#
+     (lambda (#{r 1195}#)
+       (if (null? #{r 1195}#)
          '()
          (begin
-           (let ((#{a 1182}# (car #{r 1179}#)))
-             (if (eq? (car (cdr #{a 1182}#)) 'macro)
-               (cons #{a 1182}#
-                     (#{macros-only-env 331}# (cdr #{r 1179}#)))
-               (#{macros-only-env 331}# (cdr #{r 1179}#))))))))
-   (#{lookup 333}#
-     (lambda (#{x 1183}# #{r 1184}# #{mod 1185}#)
+           (let ((#{a 1198}# (car #{r 1195}#)))
+             (if (eq? (car (cdr #{a 1198}#)) 'macro)
+               (cons #{a 1198}#
+                     (#{macros-only-env 335}# (cdr #{r 1195}#)))
+               (#{macros-only-env 335}# (cdr #{r 1195}#))))))))
+   (#{lookup 337}#
+     (lambda (#{x 1199}# #{r 1200}# #{mod 1201}#)
        (begin
-         (let ((#{t 1191}# (assq #{x 1183}# #{r 1184}#)))
-           (if #{t 1191}#
-             (cdr #{t 1191}#)
-             (if (symbol? #{x 1183}#)
+         (let ((#{t 1207}# (assq #{x 1199}# #{r 1200}#)))
+           (if #{t 1207}#
+             (cdr #{t 1207}#)
+             (if (symbol? #{x 1199}#)
                (begin
-                 (let ((#{t 1197}#
-                         (#{get-global-definition-hook 257}#
-                           #{x 1183}#
-                           #{mod 1185}#)))
-                   (if #{t 1197}# #{t 1197}# '(global))))
+                 (let ((#{t 1213}#
+                         (#{get-global-definition-hook 259}#
+                           #{x 1199}#
+                           #{mod 1201}#)))
+                   (if #{t 1213}# #{t 1213}# '(global))))
                '(displaced-lexical)))))))
-   (#{global-extend 335}#
-     (lambda (#{type 1202}# #{sym 1203}# #{val 1204}#)
-       (#{put-global-definition-hook 255}#
-         #{sym 1203}#
-         #{type 1202}#
-         #{val 1204}#)))
-   (#{nonsymbol-id? 337}#
-     (lambda (#{x 1208}#)
-       (if (#{syntax-object? 305}# #{x 1208}#)
+   (#{global-extend 339}#
+     (lambda (#{type 1218}# #{sym 1219}# #{val 1220}#)
+       (#{put-global-definition-hook 257}#
+         #{sym 1219}#
+         #{type 1218}#
+         #{val 1220}#)))
+   (#{nonsymbol-id? 341}#
+     (lambda (#{x 1224}#)
+       (if (#{syntax-object? 309}# #{x 1224}#)
          (symbol?
-           (#{syntax-object-expression 307}# #{x 1208}#))
+           (#{syntax-object-expression 311}# #{x 1224}#))
          #f)))
-   (#{id? 339}#
-     (lambda (#{x 1212}#)
-       (if (symbol? #{x 1212}#)
+   (#{id? 343}#
+     (lambda (#{x 1228}#)
+       (if (symbol? #{x 1228}#)
          #t
-         (if (#{syntax-object? 305}# #{x 1212}#)
+         (if (#{syntax-object? 309}# #{x 1228}#)
            (symbol?
-             (#{syntax-object-expression 307}# #{x 1212}#))
+             (#{syntax-object-expression 311}# #{x 1228}#))
            #f))))
-   (#{id-sym-name&marks 342}#
-     (lambda (#{x 1219}# #{w 1220}#)
-       (if (#{syntax-object? 305}# #{x 1219}#)
+   (#{id-sym-name&marks 346}#
+     (lambda (#{x 1235}# #{w 1236}#)
+       (if (#{syntax-object? 309}# #{x 1235}#)
          (values
-           (#{syntax-object-expression 307}# #{x 1219}#)
-           (#{join-marks 389}#
-             (car #{w 1220}#)
-             (car (#{syntax-object-wrap 309}# #{x 1219}#))))
-         (values #{x 1219}# (car #{w 1220}#)))))
-   (#{gen-label 352}#
+           (#{syntax-object-expression 311}# #{x 1235}#)
+           (#{join-marks 393}#
+             (car #{w 1236}#)
+             (car (#{syntax-object-wrap 313}# #{x 1235}#))))
+         (values #{x 1235}# (car #{w 1236}#)))))
+   (#{gen-label 356}#
      (lambda () (symbol->string (gensym "i"))))
-   (#{gen-labels 354}#
-     (lambda (#{ls 1226}#)
-       (if (null? #{ls 1226}#)
+   (#{gen-labels 358}#
+     (lambda (#{ls 1242}#)
+       (if (null? #{ls 1242}#)
          '()
-         (cons (#{gen-label 352}#)
-               (#{gen-labels 354}# (cdr #{ls 1226}#))))))
-   (#{make-ribcage 357}#
-     (lambda (#{symnames 1228}#
-              #{marks 1229}#
-              #{labels 1230}#)
+         (cons (#{gen-label 356}#)
+               (#{gen-labels 358}# (cdr #{ls 1242}#))))))
+   (#{make-ribcage 361}#
+     (lambda (#{symnames 1244}#
+              #{marks 1245}#
+              #{labels 1246}#)
        (vector
          'ribcage
-         #{symnames 1228}#
-         #{marks 1229}#
-         #{labels 1230}#)))
-   (#{ribcage-symnames 361}#
-     (lambda (#{x 1239}#) (vector-ref #{x 1239}# 1)))
-   (#{ribcage-marks 363}#
-     (lambda (#{x 1241}#) (vector-ref #{x 1241}# 2)))
-   (#{ribcage-labels 365}#
-     (lambda (#{x 1243}#) (vector-ref #{x 1243}# 3)))
-   (#{set-ribcage-symnames! 367}#
-     (lambda (#{x 1245}# #{update 1246}#)
-       (vector-set! #{x 1245}# 1 #{update 1246}#)))
-   (#{set-ribcage-marks! 369}#
-     (lambda (#{x 1249}# #{update 1250}#)
-       (vector-set! #{x 1249}# 2 #{update 1250}#)))
-   (#{set-ribcage-labels! 371}#
-     (lambda (#{x 1253}# #{update 1254}#)
-       (vector-set! #{x 1253}# 3 #{update 1254}#)))
-   (#{anti-mark 377}#
-     (lambda (#{w 1257}#)
-       (cons (cons #f (car #{w 1257}#))
-             (cons 'shift (cdr #{w 1257}#)))))
-   (#{extend-ribcage! 381}#
-     (lambda (#{ribcage 1263}# #{id 1264}# #{label 1265}#)
+         #{symnames 1244}#
+         #{marks 1245}#
+         #{labels 1246}#)))
+   (#{ribcage-symnames 365}#
+     (lambda (#{x 1255}#) (vector-ref #{x 1255}# 1)))
+   (#{ribcage-marks 367}#
+     (lambda (#{x 1257}#) (vector-ref #{x 1257}# 2)))
+   (#{ribcage-labels 369}#
+     (lambda (#{x 1259}#) (vector-ref #{x 1259}# 3)))
+   (#{set-ribcage-symnames! 371}#
+     (lambda (#{x 1261}# #{update 1262}#)
+       (vector-set! #{x 1261}# 1 #{update 1262}#)))
+   (#{set-ribcage-marks! 373}#
+     (lambda (#{x 1265}# #{update 1266}#)
+       (vector-set! #{x 1265}# 2 #{update 1266}#)))
+   (#{set-ribcage-labels! 375}#
+     (lambda (#{x 1269}# #{update 1270}#)
+       (vector-set! #{x 1269}# 3 #{update 1270}#)))
+   (#{anti-mark 381}#
+     (lambda (#{w 1273}#)
+       (cons (cons #f (car #{w 1273}#))
+             (cons 'shift (cdr #{w 1273}#)))))
+   (#{extend-ribcage! 385}#
+     (lambda (#{ribcage 1279}# #{id 1280}# #{label 1281}#)
        (begin
-         (#{set-ribcage-symnames! 367}#
-           #{ribcage 1263}#
-           (cons (#{syntax-object-expression 307}# #{id 1264}#)
-                 (#{ribcage-symnames 361}# #{ribcage 1263}#)))
-         (#{set-ribcage-marks! 369}#
-           #{ribcage 1263}#
-           (cons (car (#{syntax-object-wrap 309}# #{id 1264}#))
-                 (#{ribcage-marks 363}# #{ribcage 1263}#)))
-         (#{set-ribcage-labels! 371}#
-           #{ribcage 1263}#
-           (cons #{label 1265}#
-                 (#{ribcage-labels 365}# #{ribcage 1263}#))))))
-   (#{make-binding-wrap 383}#
-     (lambda (#{ids 1270}# #{labels 1271}# #{w 1272}#)
-       (if (null? #{ids 1270}#)
-         #{w 1272}#
-         (cons (car #{w 1272}#)
+         (#{set-ribcage-symnames! 371}#
+           #{ribcage 1279}#
+           (cons (#{syntax-object-expression 311}# #{id 1280}#)
+                 (#{ribcage-symnames 365}# #{ribcage 1279}#)))
+         (#{set-ribcage-marks! 373}#
+           #{ribcage 1279}#
+           (cons (car (#{syntax-object-wrap 313}# #{id 1280}#))
+                 (#{ribcage-marks 367}# #{ribcage 1279}#)))
+         (#{set-ribcage-labels! 375}#
+           #{ribcage 1279}#
+           (cons #{label 1281}#
+                 (#{ribcage-labels 369}# #{ribcage 1279}#))))))
+   (#{make-binding-wrap 387}#
+     (lambda (#{ids 1286}# #{labels 1287}# #{w 1288}#)
+       (if (null? #{ids 1286}#)
+         #{w 1288}#
+         (cons (car #{w 1288}#)
                (cons (begin
-                       (let ((#{labelvec 1279}#
-                               (list->vector #{labels 1271}#)))
+                       (let ((#{labelvec 1295}#
+                               (list->vector #{labels 1287}#)))
                          (begin
-                           (let ((#{n 1281}#
-                                   (vector-length #{labelvec 1279}#)))
+                           (let ((#{n 1297}#
+                                   (vector-length #{labelvec 1295}#)))
                              (begin
-                               (let ((#{symnamevec 1284}#
-                                       (make-vector #{n 1281}#))
-                                     (#{marksvec 1285}#
-                                       (make-vector #{n 1281}#)))
+                               (let ((#{symnamevec 1300}#
+                                       (make-vector #{n 1297}#))
+                                     (#{marksvec 1301}#
+                                       (make-vector #{n 1297}#)))
                                  (begin
                                    (letrec*
-                                     ((#{f 1289}#
-                                        (lambda (#{ids 1290}# #{i 1291}#)
-                                          (if (not (null? #{ids 1290}#))
+                                     ((#{f 1305}#
+                                        (lambda (#{ids 1306}# #{i 1307}#)
+                                          (if (not (null? #{ids 1306}#))
                                             (call-with-values
                                               (lambda ()
-                                                (#{id-sym-name&marks 342}#
-                                                  (car #{ids 1290}#)
-                                                  #{w 1272}#))
-                                              (lambda (#{symname 1292}#
-                                                       #{marks 1293}#)
+                                                (#{id-sym-name&marks 346}#
+                                                  (car #{ids 1306}#)
+                                                  #{w 1288}#))
+                                              (lambda (#{symname 1308}#
+                                                       #{marks 1309}#)
                                                 (begin
                                                   (vector-set!
-                                                    #{symnamevec 1284}#
-                                                    #{i 1291}#
-                                                    #{symname 1292}#)
+                                                    #{symnamevec 1300}#
+                                                    #{i 1307}#
+                                                    #{symname 1308}#)
                                                   (vector-set!
-                                                    #{marksvec 1285}#
-                                                    #{i 1291}#
-                                                    #{marks 1293}#)
-                                                  (#{f 1289}#
-                                                    (cdr #{ids 1290}#)
-                                                    (#{1+}# #{i 1291}#)))))))))
-                                     (begin (#{f 1289}# #{ids 1270}# 0)))
-                                   (#{make-ribcage 357}#
-                                     #{symnamevec 1284}#
-                                     #{marksvec 1285}#
-                                     #{labelvec 1279}#))))))))
-                     (cdr #{w 1272}#))))))
-   (#{smart-append 385}#
-     (lambda (#{m1 1298}# #{m2 1299}#)
-       (if (null? #{m2 1299}#)
-         #{m1 1298}#
-         (append #{m1 1298}# #{m2 1299}#))))
-   (#{join-wraps 387}#
-     (lambda (#{w1 1302}# #{w2 1303}#)
+                                                    #{marksvec 1301}#
+                                                    #{i 1307}#
+                                                    #{marks 1309}#)
+                                                  (#{f 1305}#
+                                                    (cdr #{ids 1306}#)
+                                                    (#{1+}# #{i 1307}#)))))))))
+                                     (begin (#{f 1305}# #{ids 1286}# 0)))
+                                   (#{make-ribcage 361}#
+                                     #{symnamevec 1300}#
+                                     #{marksvec 1301}#
+                                     #{labelvec 1295}#))))))))
+                     (cdr #{w 1288}#))))))
+   (#{smart-append 389}#
+     (lambda (#{m1 1314}# #{m2 1315}#)
+       (if (null? #{m2 1315}#)
+         #{m1 1314}#
+         (append #{m1 1314}# #{m2 1315}#))))
+   (#{join-wraps 391}#
+     (lambda (#{w1 1318}# #{w2 1319}#)
        (begin
-         (let ((#{m1 1308}# (car #{w1 1302}#))
-               (#{s1 1309}# (cdr #{w1 1302}#)))
-           (if (null? #{m1 1308}#)
-             (if (null? #{s1 1309}#)
-               #{w2 1303}#
-               (cons (car #{w2 1303}#)
-                     (#{smart-append 385}#
-                       #{s1 1309}#
-                       (cdr #{w2 1303}#))))
-             (cons (#{smart-append 385}#
-                     #{m1 1308}#
-                     (car #{w2 1303}#))
-                   (#{smart-append 385}#
-                     #{s1 1309}#
-                     (cdr #{w2 1303}#))))))))
-   (#{join-marks 389}#
-     (lambda (#{m1 1318}# #{m2 1319}#)
-       (#{smart-append 385}# #{m1 1318}# #{m2 1319}#)))
-   (#{same-marks? 391}#
-     (lambda (#{x 1322}# #{y 1323}#)
+         (let ((#{m1 1324}# (car #{w1 1318}#))
+               (#{s1 1325}# (cdr #{w1 1318}#)))
+           (if (null? #{m1 1324}#)
+             (if (null? #{s1 1325}#)
+               #{w2 1319}#
+               (cons (car #{w2 1319}#)
+                     (#{smart-append 389}#
+                       #{s1 1325}#
+                       (cdr #{w2 1319}#))))
+             (cons (#{smart-append 389}#
+                     #{m1 1324}#
+                     (car #{w2 1319}#))
+                   (#{smart-append 389}#
+                     #{s1 1325}#
+                     (cdr #{w2 1319}#))))))))
+   (#{join-marks 393}#
+     (lambda (#{m1 1334}# #{m2 1335}#)
+       (#{smart-append 389}# #{m1 1334}# #{m2 1335}#)))
+   (#{same-marks? 395}#
+     (lambda (#{x 1338}# #{y 1339}#)
        (begin
-         (let ((#{t 1328}# (eq? #{x 1322}# #{y 1323}#)))
-           (if #{t 1328}#
-             #{t 1328}#
-             (if (not (null? #{x 1322}#))
-               (if (not (null? #{y 1323}#))
-                 (if (eq? (car #{x 1322}#) (car #{y 1323}#))
-                   (#{same-marks? 391}#
-                     (cdr #{x 1322}#)
-                     (cdr #{y 1323}#))
+         (let ((#{t 1344}# (eq? #{x 1338}# #{y 1339}#)))
+           (if #{t 1344}#
+             #{t 1344}#
+             (if (not (null? #{x 1338}#))
+               (if (not (null? #{y 1339}#))
+                 (if (eq? (car #{x 1338}#) (car #{y 1339}#))
+                   (#{same-marks? 395}#
+                     (cdr #{x 1338}#)
+                     (cdr #{y 1339}#))
                    #f)
                  #f)
                #f))))))
-   (#{id-var-name 393}#
-     (lambda (#{id 1334}# #{w 1335}#)
+   (#{id-var-name 397}#
+     (lambda (#{id 1350}# #{w 1351}#)
        (letrec*
-         ((#{search 1340}#
-            (lambda (#{sym 1356}# #{subst 1357}# #{marks 1358}#)
-              (if (null? #{subst 1357}#)
-                (values #f #{marks 1358}#)
+         ((#{search 1356}#
+            (lambda (#{sym 1372}# #{subst 1373}# #{marks 1374}#)
+              (if (null? #{subst 1373}#)
+                (values #f #{marks 1374}#)
                 (begin
-                  (let ((#{fst 1363}# (car #{subst 1357}#)))
-                    (if (eq? #{fst 1363}# 'shift)
-                      (#{search 1340}#
-                        #{sym 1356}#
-                        (cdr #{subst 1357}#)
-                        (cdr #{marks 1358}#))
+                  (let ((#{fst 1379}# (car #{subst 1373}#)))
+                    (if (eq? #{fst 1379}# 'shift)
+                      (#{search 1356}#
+                        #{sym 1372}#
+                        (cdr #{subst 1373}#)
+                        (cdr #{marks 1374}#))
                       (begin
-                        (let ((#{symnames 1365}#
-                                (#{ribcage-symnames 361}# #{fst 1363}#)))
-                          (if (vector? #{symnames 1365}#)
-                            (#{search-vector-rib 1344}#
-                              #{sym 1356}#
-                              #{subst 1357}#
-                              #{marks 1358}#
-                              #{symnames 1365}#
-                              #{fst 1363}#)
-                            (#{search-list-rib 1342}#
-                              #{sym 1356}#
-                              #{subst 1357}#
-                              #{marks 1358}#
-                              #{symnames 1365}#
-                              #{fst 1363}#))))))))))
-          (#{search-list-rib 1342}#
-            (lambda (#{sym 1366}#
-                     #{subst 1367}#
-                     #{marks 1368}#
-                     #{symnames 1369}#
-                     #{ribcage 1370}#)
+                        (let ((#{symnames 1381}#
+                                (#{ribcage-symnames 365}# #{fst 1379}#)))
+                          (if (vector? #{symnames 1381}#)
+                            (#{search-vector-rib 1360}#
+                              #{sym 1372}#
+                              #{subst 1373}#
+                              #{marks 1374}#
+                              #{symnames 1381}#
+                              #{fst 1379}#)
+                            (#{search-list-rib 1358}#
+                              #{sym 1372}#
+                              #{subst 1373}#
+                              #{marks 1374}#
+                              #{symnames 1381}#
+                              #{fst 1379}#))))))))))
+          (#{search-list-rib 1358}#
+            (lambda (#{sym 1382}#
+                     #{subst 1383}#
+                     #{marks 1384}#
+                     #{symnames 1385}#
+                     #{ribcage 1386}#)
               (letrec*
-                ((#{f 1379}#
-                   (lambda (#{symnames 1380}# #{i 1381}#)
-                     (if (null? #{symnames 1380}#)
-                       (#{search 1340}#
-                         #{sym 1366}#
-                         (cdr #{subst 1367}#)
-                         #{marks 1368}#)
-                       (if (if (eq? (car #{symnames 1380}#) #{sym 1366}#)
-                             (#{same-marks? 391}#
-                               #{marks 1368}#
+                ((#{f 1395}#
+                   (lambda (#{symnames 1396}# #{i 1397}#)
+                     (if (null? #{symnames 1396}#)
+                       (#{search 1356}#
+                         #{sym 1382}#
+                         (cdr #{subst 1383}#)
+                         #{marks 1384}#)
+                       (if (if (eq? (car #{symnames 1396}#) #{sym 1382}#)
+                             (#{same-marks? 395}#
+                               #{marks 1384}#
                                (list-ref
-                                 (#{ribcage-marks 363}# #{ribcage 1370}#)
-                                 #{i 1381}#))
+                                 (#{ribcage-marks 367}# #{ribcage 1386}#)
+                                 #{i 1397}#))
                              #f)
                          (values
                            (list-ref
-                             (#{ribcage-labels 365}# #{ribcage 1370}#)
-                             #{i 1381}#)
-                           #{marks 1368}#)
-                         (#{f 1379}#
-                           (cdr #{symnames 1380}#)
-                           (#{1+}# #{i 1381}#)))))))
-                (begin (#{f 1379}# #{symnames 1369}# 0)))))
-          (#{search-vector-rib 1344}#
-            (lambda (#{sym 1390}#
-                     #{subst 1391}#
-                     #{marks 1392}#
-                     #{symnames 1393}#
-                     #{ribcage 1394}#)
+                             (#{ribcage-labels 369}# #{ribcage 1386}#)
+                             #{i 1397}#)
+                           #{marks 1384}#)
+                         (#{f 1395}#
+                           (cdr #{symnames 1396}#)
+                           (#{1+}# #{i 1397}#)))))))
+                (begin (#{f 1395}# #{symnames 1385}# 0)))))
+          (#{search-vector-rib 1360}#
+            (lambda (#{sym 1406}#
+                     #{subst 1407}#
+                     #{marks 1408}#
+                     #{symnames 1409}#
+                     #{ribcage 1410}#)
               (begin
-                (let ((#{n 1401}# (vector-length #{symnames 1393}#)))
+                (let ((#{n 1417}# (vector-length #{symnames 1409}#)))
                   (letrec*
-                    ((#{f 1404}#
-                       (lambda (#{i 1405}#)
-                         (if (= #{i 1405}# #{n 1401}#)
-                           (#{search 1340}#
-                             #{sym 1390}#
-                             (cdr #{subst 1391}#)
-                             #{marks 1392}#)
+                    ((#{f 1420}#
+                       (lambda (#{i 1421}#)
+                         (if (= #{i 1421}# #{n 1417}#)
+                           (#{search 1356}#
+                             #{sym 1406}#
+                             (cdr #{subst 1407}#)
+                             #{marks 1408}#)
                            (if (if (eq? (vector-ref
-                                          #{symnames 1393}#
-                                          #{i 1405}#)
-                                        #{sym 1390}#)
-                                 (#{same-marks? 391}#
-                                   #{marks 1392}#
+                                          #{symnames 1409}#
+                                          #{i 1421}#)
+                                        #{sym 1406}#)
+                                 (#{same-marks? 395}#
+                                   #{marks 1408}#
                                    (vector-ref
-                                     (#{ribcage-marks 363}# #{ribcage 1394}#)
-                                     #{i 1405}#))
+                                     (#{ribcage-marks 367}# #{ribcage 1410}#)
+                                     #{i 1421}#))
                                  #f)
                              (values
                                (vector-ref
-                                 (#{ribcage-labels 365}# #{ribcage 1394}#)
-                                 #{i 1405}#)
-                               #{marks 1392}#)
-                             (#{f 1404}# (#{1+}# #{i 1405}#)))))))
-                    (begin (#{f 1404}# 0))))))))
+                                 (#{ribcage-labels 369}# #{ribcage 1410}#)
+                                 #{i 1421}#)
+                               #{marks 1408}#)
+                             (#{f 1420}# (#{1+}# #{i 1421}#)))))))
+                    (begin (#{f 1420}# 0))))))))
          (begin
-           (if (symbol? #{id 1334}#)
+           (if (symbol? #{id 1350}#)
              (begin
-               (let ((#{t 1417}#
-                       (#{search 1340}#
-                         #{id 1334}#
-                         (cdr #{w 1335}#)
-                         (car #{w 1335}#))))
-                 (if #{t 1417}# #{t 1417}# #{id 1334}#)))
-             (if (#{syntax-object? 305}# #{id 1334}#)
+               (let ((#{t 1433}#
+                       (#{search 1356}#
+                         #{id 1350}#
+                         (cdr #{w 1351}#)
+                         (car #{w 1351}#))))
+                 (if #{t 1433}# #{t 1433}# #{id 1350}#)))
+             (if (#{syntax-object? 309}# #{id 1350}#)
                (begin
-                 (let ((#{id 1426}#
-                         (#{syntax-object-expression 307}# #{id 1334}#))
-                       (#{w1 1427}#
-                         (#{syntax-object-wrap 309}# #{id 1334}#)))
+                 (let ((#{id 1442}#
+                         (#{syntax-object-expression 311}# #{id 1350}#))
+                       (#{w1 1443}#
+                         (#{syntax-object-wrap 313}# #{id 1350}#)))
                    (begin
-                     (let ((#{marks 1429}#
-                             (#{join-marks 389}#
-                               (car #{w 1335}#)
-                               (car #{w1 1427}#))))
+                     (let ((#{marks 1445}#
+                             (#{join-marks 393}#
+                               (car #{w 1351}#)
+                               (car #{w1 1443}#))))
                        (call-with-values
                          (lambda ()
-                           (#{search 1340}#
-                             #{id 1426}#
-                             (cdr #{w 1335}#)
-                             #{marks 1429}#))
-                         (lambda (#{new-id 1433}# #{marks 1434}#)
+                           (#{search 1356}#
+                             #{id 1442}#
+                             (cdr #{w 1351}#)
+                             #{marks 1445}#))
+                         (lambda (#{new-id 1449}# #{marks 1450}#)
                            (begin
-                             (let ((#{t 1439}# #{new-id 1433}#))
-                               (if #{t 1439}#
-                                 #{t 1439}#
+                             (let ((#{t 1455}# #{new-id 1449}#))
+                               (if #{t 1455}#
+                                 #{t 1455}#
                                  (begin
-                                   (let ((#{t 1442}#
-                                           (#{search 1340}#
-                                             #{id 1426}#
-                                             (cdr #{w1 1427}#)
-                                             #{marks 1434}#)))
-                                     (if #{t 1442}#
-                                       #{t 1442}#
-                                       #{id 1426}#))))))))))))
+                                   (let ((#{t 1458}#
+                                           (#{search 1356}#
+                                             #{id 1442}#
+                                             (cdr #{w1 1443}#)
+                                             #{marks 1450}#)))
+                                     (if #{t 1458}#
+                                       #{t 1458}#
+                                       #{id 1442}#))))))))))))
                (syntax-violation
                  'id-var-name
                  "invalid id"
-                 #{id 1334}#)))))))
-   (#{free-id=? 395}#
-     (lambda (#{i 1447}# #{j 1448}#)
+                 #{id 1350}#)))))))
+   (#{free-id=? 399}#
+     (lambda (#{i 1463}# #{j 1464}#)
        (if (eq? (begin
-                  (let ((#{x 1454}# #{i 1447}#))
-                    (if (#{syntax-object? 305}# #{x 1454}#)
-                      (#{syntax-object-expression 307}# #{x 1454}#)
-                      #{x 1454}#)))
+                  (let ((#{x 1470}# #{i 1463}#))
+                    (if (#{syntax-object? 309}# #{x 1470}#)
+                      (#{syntax-object-expression 311}# #{x 1470}#)
+                      #{x 1470}#)))
                 (begin
-                  (let ((#{x 1457}# #{j 1448}#))
-                    (if (#{syntax-object? 305}# #{x 1457}#)
-                      (#{syntax-object-expression 307}# #{x 1457}#)
-                      #{x 1457}#))))
-         (eq? (#{id-var-name 393}# #{i 1447}# '(()))
-              (#{id-var-name 393}# #{j 1448}# '(())))
+                  (let ((#{x 1473}# #{j 1464}#))
+                    (if (#{syntax-object? 309}# #{x 1473}#)
+                      (#{syntax-object-expression 311}# #{x 1473}#)
+                      #{x 1473}#))))
+         (eq? (#{id-var-name 397}# #{i 1463}# '(()))
+              (#{id-var-name 397}# #{j 1464}# '(())))
          #f)))
-   (#{bound-id=? 397}#
-     (lambda (#{i 1461}# #{j 1462}#)
-       (if (if (#{syntax-object? 305}# #{i 1461}#)
-             (#{syntax-object? 305}# #{j 1462}#)
+   (#{bound-id=? 401}#
+     (lambda (#{i 1477}# #{j 1478}#)
+       (if (if (#{syntax-object? 309}# #{i 1477}#)
+             (#{syntax-object? 309}# #{j 1478}#)
              #f)
-         (if (eq? (#{syntax-object-expression 307}# #{i 1461}#)
-                  (#{syntax-object-expression 307}# #{j 1462}#))
-           (#{same-marks? 391}#
-             (car (#{syntax-object-wrap 309}# #{i 1461}#))
-             (car (#{syntax-object-wrap 309}# #{j 1462}#)))
+         (if (eq? (#{syntax-object-expression 311}# #{i 1477}#)
+                  (#{syntax-object-expression 311}# #{j 1478}#))
+           (#{same-marks? 395}#
+             (car (#{syntax-object-wrap 313}# #{i 1477}#))
+             (car (#{syntax-object-wrap 313}# #{j 1478}#)))
            #f)
-         (eq? #{i 1461}# #{j 1462}#))))
-   (#{valid-bound-ids? 399}#
-     (lambda (#{ids 1471}#)
+         (eq? #{i 1477}# #{j 1478}#))))
+   (#{valid-bound-ids? 403}#
+     (lambda (#{ids 1487}#)
        (if (letrec*
-             ((#{all-ids? 1476}#
-                (lambda (#{ids 1477}#)
+             ((#{all-ids? 1492}#
+                (lambda (#{ids 1493}#)
                   (begin
-                    (let ((#{t 1480}# (null? #{ids 1477}#)))
-                      (if #{t 1480}#
-                        #{t 1480}#
-                        (if (#{id? 339}# (car #{ids 1477}#))
-                          (#{all-ids? 1476}# (cdr #{ids 1477}#))
+                    (let ((#{t 1496}# (null? #{ids 1493}#)))
+                      (if #{t 1496}#
+                        #{t 1496}#
+                        (if (#{id? 343}# (car #{ids 1493}#))
+                          (#{all-ids? 1492}# (cdr #{ids 1493}#))
                           #f)))))))
-             (begin (#{all-ids? 1476}# #{ids 1471}#)))
-         (#{distinct-bound-ids? 401}# #{ids 1471}#)
+             (begin (#{all-ids? 1492}# #{ids 1487}#)))
+         (#{distinct-bound-ids? 405}# #{ids 1487}#)
          #f)))
-   (#{distinct-bound-ids? 401}#
-     (lambda (#{ids 1485}#)
+   (#{distinct-bound-ids? 405}#
+     (lambda (#{ids 1501}#)
        (letrec*
-         ((#{distinct? 1489}#
-            (lambda (#{ids 1490}#)
+         ((#{distinct? 1505}#
+            (lambda (#{ids 1506}#)
               (begin
-                (let ((#{t 1493}# (null? #{ids 1490}#)))
-                  (if #{t 1493}#
-                    #{t 1493}#
-                    (if (not (#{bound-id-member? 403}#
-                               (car #{ids 1490}#)
-                               (cdr #{ids 1490}#)))
-                      (#{distinct? 1489}# (cdr #{ids 1490}#))
+                (let ((#{t 1509}# (null? #{ids 1506}#)))
+                  (if #{t 1509}#
+                    #{t 1509}#
+                    (if (not (#{bound-id-member? 407}#
+                               (car #{ids 1506}#)
+                               (cdr #{ids 1506}#)))
+                      (#{distinct? 1505}# (cdr #{ids 1506}#))
                       #f)))))))
-         (begin (#{distinct? 1489}# #{ids 1485}#)))))
-   (#{bound-id-member? 403}#
-     (lambda (#{x 1497}# #{list 1498}#)
-       (if (not (null? #{list 1498}#))
+         (begin (#{distinct? 1505}# #{ids 1501}#)))))
+   (#{bound-id-member? 407}#
+     (lambda (#{x 1513}# #{list 1514}#)
+       (if (not (null? #{list 1514}#))
          (begin
-           (let ((#{t 1505}#
-                   (#{bound-id=? 397}#
-                     #{x 1497}#
-                     (car #{list 1498}#))))
-             (if #{t 1505}#
-               #{t 1505}#
-               (#{bound-id-member? 403}#
-                 #{x 1497}#
-                 (cdr #{list 1498}#)))))
+           (let ((#{t 1521}#
+                   (#{bound-id=? 401}#
+                     #{x 1513}#
+                     (car #{list 1514}#))))
+             (if #{t 1521}#
+               #{t 1521}#
+               (#{bound-id-member? 407}#
+                 #{x 1513}#
+                 (cdr #{list 1514}#)))))
          #f)))
-   (#{wrap 405}#
-     (lambda (#{x 1507}# #{w 1508}# #{defmod 1509}#)
-       (if (if (null? (car #{w 1508}#))
-             (null? (cdr #{w 1508}#))
+   (#{wrap 409}#
+     (lambda (#{x 1523}# #{w 1524}# #{defmod 1525}#)
+       (if (if (null? (car #{w 1524}#))
+             (null? (cdr #{w 1524}#))
              #f)
-         #{x 1507}#
-         (if (#{syntax-object? 305}# #{x 1507}#)
-           (#{make-syntax-object 303}#
-             (#{syntax-object-expression 307}# #{x 1507}#)
-             (#{join-wraps 387}#
-               #{w 1508}#
-               (#{syntax-object-wrap 309}# #{x 1507}#))
-             (#{syntax-object-module 311}# #{x 1507}#))
-           (if (null? #{x 1507}#)
-             #{x 1507}#
-             (#{make-syntax-object 303}#
-               #{x 1507}#
-               #{w 1508}#
-               #{defmod 1509}#))))))
-   (#{source-wrap 407}#
-     (lambda (#{x 1524}#
-              #{w 1525}#
-              #{s 1526}#
-              #{defmod 1527}#)
-       (#{wrap 405}#
-         (#{decorate-source 259}# #{x 1524}# #{s 1526}#)
-         #{w 1525}#
-         #{defmod 1527}#)))
-   (#{chi-sequence 409}#
-     (lambda (#{body 1532}#
-              #{r 1533}#
-              #{w 1534}#
-              #{s 1535}#
-              #{mod 1536}#)
-       (#{build-sequence 293}#
-         #{s 1535}#
+         #{x 1523}#
+         (if (#{syntax-object? 309}# #{x 1523}#)
+           (#{make-syntax-object 307}#
+             (#{syntax-object-expression 311}# #{x 1523}#)
+             (#{join-wraps 391}#
+               #{w 1524}#
+               (#{syntax-object-wrap 313}# #{x 1523}#))
+             (#{syntax-object-module 315}# #{x 1523}#))
+           (if (null? #{x 1523}#)
+             #{x 1523}#
+             (#{make-syntax-object 307}#
+               #{x 1523}#
+               #{w 1524}#
+               #{defmod 1525}#))))))
+   (#{source-wrap 411}#
+     (lambda (#{x 1540}#
+              #{w 1541}#
+              #{s 1542}#
+              #{defmod 1543}#)
+       (#{wrap 409}#
+         (#{decorate-source 261}# #{x 1540}# #{s 1542}#)
+         #{w 1541}#
+         #{defmod 1543}#)))
+   (#{chi-sequence 413}#
+     (lambda (#{body 1548}#
+              #{r 1549}#
+              #{w 1550}#
+              #{s 1551}#
+              #{mod 1552}#)
+       (#{build-sequence 297}#
+         #{s 1551}#
          (letrec*
-           ((#{dobody 1547}#
-              (lambda (#{body 1548}#
-                       #{r 1549}#
-                       #{w 1550}#
-                       #{mod 1551}#)
-                (if (null? #{body 1548}#)
+           ((#{dobody 1563}#
+              (lambda (#{body 1564}#
+                       #{r 1565}#
+                       #{w 1566}#
+                       #{mod 1567}#)
+                (if (null? #{body 1564}#)
                   '()
                   (begin
-                    (let ((#{first 1553}#
-                            (#{chi 419}#
-                              (car #{body 1548}#)
-                              #{r 1549}#
-                              #{w 1550}#
-                              #{mod 1551}#)))
-                      (cons #{first 1553}#
-                            (#{dobody 1547}#
-                              (cdr #{body 1548}#)
-                              #{r 1549}#
-                              #{w 1550}#
-                              #{mod 1551}#))))))))
+                    (let ((#{first 1569}#
+                            (#{chi 423}#
+                              (car #{body 1564}#)
+                              #{r 1565}#
+                              #{w 1566}#
+                              #{mod 1567}#)))
+                      (cons #{first 1569}#
+                            (#{dobody 1563}#
+                              (cdr #{body 1564}#)
+                              #{r 1565}#
+                              #{w 1566}#
+                              #{mod 1567}#))))))))
            (begin
-             (#{dobody 1547}#
-               #{body 1532}#
-               #{r 1533}#
-               #{w 1534}#
-               #{mod 1536}#))))))
-   (#{chi-top-sequence 411}#
-     (lambda (#{body 1554}#
-              #{r 1555}#
-              #{w 1556}#
-              #{s 1557}#
-              #{m 1558}#
-              #{esew 1559}#
-              #{mod 1560}#)
+             (#{dobody 1563}#
+               #{body 1548}#
+               #{r 1549}#
+               #{w 1550}#
+               #{mod 1552}#))))))
+   (#{chi-top-sequence 415}#
+     (lambda (#{body 1570}#
+              #{r 1571}#
+              #{w 1572}#
+              #{s 1573}#
+              #{m 1574}#
+              #{esew 1575}#
+              #{mod 1576}#)
        (letrec*
-         ((#{scan 1569}#
-            (lambda (#{body 1570}#
-                     #{r 1571}#
-                     #{w 1572}#
-                     #{s 1573}#
-                     #{m 1574}#
-                     #{esew 1575}#
-                     #{mod 1576}#
-                     #{exps 1577}#)
-              (if (null? #{body 1570}#)
-                #{exps 1577}#
+         ((#{scan 1585}#
+            (lambda (#{body 1586}#
+                     #{r 1587}#
+                     #{w 1588}#
+                     #{s 1589}#
+                     #{m 1590}#
+                     #{esew 1591}#
+                     #{mod 1592}#
+                     #{exps 1593}#)
+              (if (null? #{body 1586}#)
+                #{exps 1593}#
                 (call-with-values
                   (lambda ()
                     (call-with-values
                       (lambda ()
                         (begin
-                          (let ((#{e 1590}# (car #{body 1570}#)))
-                            (#{syntax-type 417}#
-                              #{e 1590}#
-                              #{r 1571}#
-                              #{w 1572}#
+                          (let ((#{e 1606}# (car #{body 1586}#)))
+                            (#{syntax-type 421}#
+                              #{e 1606}#
+                              #{r 1587}#
+                              #{w 1588}#
                               (begin
-                                (let ((#{t 1593}#
-                                        (#{source-annotation 320}#
-                                          #{e 1590}#)))
-                                  (if #{t 1593}# #{t 1593}# #{s 1573}#)))
+                                (let ((#{t 1609}#
+                                        (#{source-annotation 324}#
+                                          #{e 1606}#)))
+                                  (if #{t 1609}# #{t 1609}# #{s 1589}#)))
                               #f
-                              #{mod 1576}#
+                              #{mod 1592}#
                               #f))))
-                      (lambda (#{type 1595}#
-                               #{value 1596}#
-                               #{e 1597}#
-                               #{w 1598}#
-                               #{s 1599}#
-                               #{mod 1600}#)
-                        (if (eqv? #{type 1595}# 'begin-form)
-                          (let ((#{tmp 1608}# #{e 1597}#))
-                            (let ((#{tmp 1609}#
-                                    ($sc-dispatch #{tmp 1608}# '(_))))
-                              (if #{tmp 1609}#
-                                (@apply (lambda () #{exps 1577}#) #{tmp 1609}#)
-                                (let ((#{tmp 1610}#
+                      (lambda (#{type 1611}#
+                               #{value 1612}#
+                               #{e 1613}#
+                               #{w 1614}#
+                               #{s 1615}#
+                               #{mod 1616}#)
+                        (if (memv #{type 1611}# '(begin-form))
+                          (let ((#{tmp 1624}# #{e 1613}#))
+                            (let ((#{tmp 1625}#
+                                    ($sc-dispatch #{tmp 1624}# '(_))))
+                              (if #{tmp 1625}#
+                                (@apply (lambda () #{exps 1593}#) #{tmp 1625}#)
+                                (let ((#{tmp 1626}#
                                         ($sc-dispatch
-                                          #{tmp 1608}#
+                                          #{tmp 1624}#
                                           '(_ any . each-any))))
-                                  (if #{tmp 1610}#
+                                  (if #{tmp 1626}#
                                     (@apply
-                                      (lambda (#{e1 1613}# #{e2 1614}#)
-                                        (#{scan 1569}#
-                                          (cons #{e1 1613}# #{e2 1614}#)
-                                          #{r 1571}#
-                                          #{w 1598}#
-                                          #{s 1599}#
-                                          #{m 1574}#
-                                          #{esew 1575}#
-                                          #{mod 1600}#
-                                          #{exps 1577}#))
-                                      #{tmp 1610}#)
+                                      (lambda (#{e1 1629}# #{e2 1630}#)
+                                        (#{scan 1585}#
+                                          (cons #{e1 1629}# #{e2 1630}#)
+                                          #{r 1587}#
+                                          #{w 1614}#
+                                          #{s 1615}#
+                                          #{m 1590}#
+                                          #{esew 1591}#
+                                          #{mod 1616}#
+                                          #{exps 1593}#))
+                                      #{tmp 1626}#)
                                     (syntax-violation
                                       #f
                                       "source expression failed to match any pattern"
-                                      #{tmp 1608}#))))))
-                          (if (eqv? #{type 1595}# 'local-syntax-form)
-                            (#{chi-local-syntax 429}#
-                              #{value 1596}#
-                              #{e 1597}#
-                              #{r 1571}#
-                              #{w 1598}#
-                              #{s 1599}#
-                              #{mod 1600}#
-                              (lambda (#{body 1617}#
-                                       #{r 1618}#
-                                       #{w 1619}#
-                                       #{s 1620}#
-                                       #{mod 1621}#)
-                                (#{scan 1569}#
-                                  #{body 1617}#
-                                  #{r 1618}#
-                                  #{w 1619}#
-                                  #{s 1620}#
-                                  #{m 1574}#
-                                  #{esew 1575}#
-                                  #{mod 1621}#
-                                  #{exps 1577}#)))
-                            (if (eqv? #{type 1595}# 'eval-when-form)
-                              (let ((#{tmp 1628}# #{e 1597}#))
-                                (let ((#{tmp 1629}#
+                                      #{tmp 1624}#))))))
+                          (if (memv #{type 1611}# '(local-syntax-form))
+                            (#{chi-local-syntax 433}#
+                              #{value 1612}#
+                              #{e 1613}#
+                              #{r 1587}#
+                              #{w 1614}#
+                              #{s 1615}#
+                              #{mod 1616}#
+                              (lambda (#{body 1633}#
+                                       #{r 1634}#
+                                       #{w 1635}#
+                                       #{s 1636}#
+                                       #{mod 1637}#)
+                                (#{scan 1585}#
+                                  #{body 1633}#
+                                  #{r 1634}#
+                                  #{w 1635}#
+                                  #{s 1636}#
+                                  #{m 1590}#
+                                  #{esew 1591}#
+                                  #{mod 1637}#
+                                  #{exps 1593}#)))
+                            (if (memv #{type 1611}# '(eval-when-form))
+                              (let ((#{tmp 1644}# #{e 1613}#))
+                                (let ((#{tmp 1645}#
                                         ($sc-dispatch
-                                          #{tmp 1628}#
+                                          #{tmp 1644}#
                                           '(_ each-any any . each-any))))
-                                  (if #{tmp 1629}#
+                                  (if #{tmp 1645}#
                                     (@apply
-                                      (lambda (#{x 1633}#
-                                               #{e1 1634}#
-                                               #{e2 1635}#)
+                                      (lambda (#{x 1649}#
+                                               #{e1 1650}#
+                                               #{e2 1651}#)
                                         (begin
-                                          (let ((#{when-list 1638}#
-                                                  (#{chi-when-list 415}#
-                                                    #{e 1597}#
-                                                    #{x 1633}#
-                                                    #{w 1598}#))
-                                                (#{body 1639}#
-                                                  (cons #{e1 1634}#
-                                                        #{e2 1635}#)))
-                                            (if (eq? #{m 1574}# 'e)
+                                          (let ((#{when-list 1654}#
+                                                  (#{chi-when-list 419}#
+                                                    #{e 1613}#
+                                                    #{x 1649}#
+                                                    #{w 1614}#))
+                                                (#{body 1655}#
+                                                  (cons #{e1 1650}#
+                                                        #{e2 1651}#)))
+                                            (if (eq? #{m 1590}# 'e)
                                               (if (memq 'eval
-                                                        #{when-list 1638}#)
-                                                (#{scan 1569}#
-                                                  #{body 1639}#
-                                                  #{r 1571}#
-                                                  #{w 1598}#
-                                                  #{s 1599}#
+                                                        #{when-list 1654}#)
+                                                (#{scan 1585}#
+                                                  #{body 1655}#
+                                                  #{r 1587}#
+                                                  #{w 1614}#
+                                                  #{s 1615}#
                                                   (if (memq 'expand
-                                                            #{when-list 1638}#)
+                                                            #{when-list 1654}#)
                                                     'c&e
                                                     'e)
                                                   '(eval)
-                                                  #{mod 1600}#
-                                                  #{exps 1577}#)
+                                                  #{mod 1616}#
+                                                  #{exps 1593}#)
                                                 (begin
                                                   (if (memq 'expand
-                                                            #{when-list 1638}#)
-                                                    (#{top-level-eval-hook 250}#
-                                                      (#{chi-top-sequence 411}#
-                                                        #{body 1639}#
-                                                        #{r 1571}#
-                                                        #{w 1598}#
-                                                        #{s 1599}#
+                                                            #{when-list 1654}#)
+                                                    (#{top-level-eval-hook 252}#
+                                                      (#{chi-top-sequence 415}#
+                                                        #{body 1655}#
+                                                        #{r 1587}#
+                                                        #{w 1614}#
+                                                        #{s 1615}#
                                                         'e
                                                         '(eval)
-                                                        #{mod 1600}#)
-                                                      #{mod 1600}#))
-                                                  #{exps 1577}#))
+                                                        #{mod 1616}#)
+                                                      #{mod 1616}#))
+                                                  #{exps 1593}#))
                                               (if (memq 'load
-                                                        #{when-list 1638}#)
+                                                        #{when-list 1654}#)
                                                 (if (begin
-                                                      (let ((#{t 1648}#
+                                                      (let ((#{t 1664}#
                                                               (memq 'compile
-                                                                    #{when-list 1638}#)))
-                                                        (if #{t 1648}#
-                                                          #{t 1648}#
+                                                                    #{when-list 1654}#)))
+                                                        (if #{t 1664}#
+                                                          #{t 1664}#
                                                           (begin
-                                                            (let ((#{t 1651}#
+                                                            (let ((#{t 1667}#
                                                                     (memq 'expand
-                                                                          #{when-list 1638}#)))
-                                                              (if #{t 1651}#
-                                                                #{t 1651}#
-                                                                (if (eq? #{m 1574}#
+                                                                          #{when-list 1654}#)))
+                                                              (if #{t 1667}#
+                                                                #{t 1667}#
+                                                                (if (eq? #{m 1590}#
                                                                          'c&e)
                                                                   (memq 'eval
-                                                                        #{when-list 1638}#)
+                                                                        #{when-list 1654}#)
                                                                   #f)))))))
-                                                  (#{scan 1569}#
-                                                    #{body 1639}#
-                                                    #{r 1571}#
-                                                    #{w 1598}#
-                                                    #{s 1599}#
+                                                  (#{scan 1585}#
+                                                    #{body 1655}#
+                                                    #{r 1587}#
+                                                    #{w 1614}#
+                                                    #{s 1615}#
                                                     'c&e
                                                     '(compile load)
-                                                    #{mod 1600}#
-                                                    #{exps 1577}#)
-                                                  (if (if (eq? #{m 1574}# 'c)
-                                                        #t
-                                                        (eq? #{m 1574}# 'c&e))
-                                                    (#{scan 1569}#
-                                                      #{body 1639}#
-                                                      #{r 1571}#
-                                                      #{w 1598}#
-                                                      #{s 1599}#
+                                                    #{mod 1616}#
+                                                    #{exps 1593}#)
+                                                  (if (memq #{m 1590}#
+                                                            '(c c&e))
+                                                    (#{scan 1585}#
+                                                      #{body 1655}#
+                                                      #{r 1587}#
+                                                      #{w 1614}#
+                                                      #{s 1615}#
                                                       'c
                                                       '(load)
-                                                      #{mod 1600}#
-                                                      #{exps 1577}#)
-                                                    #{exps 1577}#))
+                                                      #{mod 1616}#
+                                                      #{exps 1593}#)
+                                                    #{exps 1593}#))
                                                 (if (begin
-                                                      (let ((#{t 1659}#
+                                                      (let ((#{t 1675}#
                                                               (memq 'compile
-                                                                    #{when-list 1638}#)))
-                                                        (if #{t 1659}#
-                                                          #{t 1659}#
+                                                                    #{when-list 1654}#)))
+                                                        (if #{t 1675}#
+                                                          #{t 1675}#
                                                           (begin
-                                                            (let ((#{t 1662}#
+                                                            (let ((#{t 1678}#
                                                                     (memq 'expand
-                                                                          #{when-list 1638}#)))
-                                                              (if #{t 1662}#
-                                                                #{t 1662}#
-                                                                (if (eq? #{m 1574}#
+                                                                          #{when-list 1654}#)))
+                                                              (if #{t 1678}#
+                                                                #{t 1678}#
+                                                                (if (eq? #{m 1590}#
                                                                          'c&e)
                                                                   (memq 'eval
-                                                                        #{when-list 1638}#)
+                                                                        #{when-list 1654}#)
                                                                   #f)))))))
                                                   (begin
-                                                    (#{top-level-eval-hook 250}#
-                                                      (#{chi-top-sequence 411}#
-                                                        #{body 1639}#
-                                                        #{r 1571}#
-                                                        #{w 1598}#
-                                                        #{s 1599}#
+                                                    (#{top-level-eval-hook 252}#
+                                                      (#{chi-top-sequence 415}#
+                                                        #{body 1655}#
+                                                        #{r 1587}#
+                                                        #{w 1614}#
+                                                        #{s 1615}#
                                                         'e
                                                         '(eval)
-                                                        #{mod 1600}#)
-                                                      #{mod 1600}#)
-                                                    #{exps 1577}#)
-                                                  #{exps 1577}#))))))
-                                      #{tmp 1629}#)
+                                                        #{mod 1616}#)
+                                                      #{mod 1616}#)
+                                                    #{exps 1593}#)
+                                                  #{exps 1593}#))))))
+                                      #{tmp 1645}#)
                                     (syntax-violation
                                       #f
                                       "source expression failed to match any pattern"
-                                      #{tmp 1628}#))))
-                              (if (eqv? #{type 1595}# 'define-syntax-form)
+                                      #{tmp 1644}#))))
+                              (if (memv #{type 1611}# '(define-syntax-form))
                                 (begin
-                                  (let ((#{n 1670}#
-                                          (#{id-var-name 393}#
-                                            #{value 1596}#
-                                            #{w 1598}#))
-                                        (#{r 1671}#
-                                          (#{macros-only-env 331}#
-                                            #{r 1571}#)))
-                                    (if (eqv? #{m 1574}# 'c)
-                                      (if (memq 'compile #{esew 1575}#)
+                                  (let ((#{n 1686}#
+                                          (#{id-var-name 397}#
+                                            #{value 1612}#
+                                            #{w 1614}#))
+                                        (#{r 1687}#
+                                          (#{macros-only-env 335}#
+                                            #{r 1587}#)))
+                                    (if (memv #{m 1590}# '(c))
+                                      (if (memq 'compile #{esew 1591}#)
                                         (begin
-                                          (let ((#{e 1674}#
-                                                  (#{chi-install-global 413}#
-                                                    #{n 1670}#
-                                                    (#{chi 419}#
-                                                      #{e 1597}#
-                                                      #{r 1671}#
-                                                      #{w 1598}#
-                                                      #{mod 1600}#))))
+                                          (let ((#{e 1690}#
+                                                  (#{chi-install-global 417}#
+                                                    #{n 1686}#
+                                                    (#{chi 423}#
+                                                      #{e 1613}#
+                                                      #{r 1687}#
+                                                      #{w 1614}#
+                                                      #{mod 1616}#))))
                                             (begin
-                                              (#{top-level-eval-hook 250}#
-                                                #{e 1674}#
-                                                #{mod 1600}#)
-                                              (if (memq 'load #{esew 1575}#)
-                                                (cons #{e 1674}# #{exps 1577}#)
-                                                #{exps 1577}#))))
-                                        (if (memq 'load #{esew 1575}#)
-                                          (cons (#{chi-install-global 413}#
-                                                  #{n 1670}#
-                                                  (#{chi 419}#
-                                                    #{e 1597}#
-                                                    #{r 1671}#
-                                                    #{w 1598}#
-                                                    #{mod 1600}#))
-                                                #{exps 1577}#)
-                                          #{exps 1577}#))
-                                      (if (eqv? #{m 1574}# 'c&e)
+                                              (#{top-level-eval-hook 252}#
+                                                #{e 1690}#
+                                                #{mod 1616}#)
+                                              (if (memq 'load #{esew 1591}#)
+                                                (cons #{e 1690}# #{exps 1593}#)
+                                                #{exps 1593}#))))
+                                        (if (memq 'load #{esew 1591}#)
+                                          (cons (#{chi-install-global 417}#
+                                                  #{n 1686}#
+                                                  (#{chi 423}#
+                                                    #{e 1613}#
+                                                    #{r 1687}#
+                                                    #{w 1614}#
+                                                    #{mod 1616}#))
+                                                #{exps 1593}#)
+                                          #{exps 1593}#))
+                                      (if (memv #{m 1590}# '(c&e))
                                         (begin
-                                          (let ((#{e 1677}#
-                                                  (#{chi-install-global 413}#
-                                                    #{n 1670}#
-                                                    (#{chi 419}#
-                                                      #{e 1597}#
-                                                      #{r 1671}#
-                                                      #{w 1598}#
-                                                      #{mod 1600}#))))
+                                          (let ((#{e 1693}#
+                                                  (#{chi-install-global 417}#
+                                                    #{n 1686}#
+                                                    (#{chi 423}#
+                                                      #{e 1613}#
+                                                      #{r 1687}#
+                                                      #{w 1614}#
+                                                      #{mod 1616}#))))
                                             (begin
-                                              (#{top-level-eval-hook 250}#
-                                                #{e 1677}#
-                                                #{mod 1600}#)
-                                              (cons #{e 1677}#
-                                                    #{exps 1577}#))))
+                                              (#{top-level-eval-hook 252}#
+                                                #{e 1693}#
+                                                #{mod 1616}#)
+                                              (cons #{e 1693}#
+                                                    #{exps 1593}#))))
                                         (begin
-                                          (if (memq 'eval #{esew 1575}#)
-                                            (#{top-level-eval-hook 250}#
-                                              (#{chi-install-global 413}#
-                                                #{n 1670}#
-                                                (#{chi 419}#
-                                                  #{e 1597}#
-                                                  #{r 1671}#
-                                                  #{w 1598}#
-                                                  #{mod 1600}#))
-                                              #{mod 1600}#))
-                                          #{exps 1577}#)))))
-                                (if (eqv? #{type 1595}# 'define-form)
+                                          (if (memq 'eval #{esew 1591}#)
+                                            (#{top-level-eval-hook 252}#
+                                              (#{chi-install-global 417}#
+                                                #{n 1686}#
+                                                (#{chi 423}#
+                                                  #{e 1613}#
+                                                  #{r 1687}#
+                                                  #{w 1614}#
+                                                  #{mod 1616}#))
+                                              #{mod 1616}#))
+                                          #{exps 1593}#)))))
+                                (if (memv #{type 1611}# '(define-form))
                                   (begin
-                                    (let ((#{n 1682}#
-                                            (#{id-var-name 393}#
-                                              #{value 1596}#
-                                              #{w 1598}#)))
+                                    (let ((#{n 1698}#
+                                            (#{id-var-name 397}#
+                                              #{value 1612}#
+                                              #{w 1614}#)))
                                       (begin
-                                        (let ((#{type 1684}#
-                                                (car (#{lookup 333}#
-                                                       #{n 1682}#
-                                                       #{r 1571}#
-                                                       #{mod 1600}#))))
-                                          (if (if (eqv? #{type 1684}# 'global)
-                                                #t
-                                                (if (eqv? #{type 1684}# 'core)
-                                                  #t
-                                                  (if (eqv? #{type 1684}#
-                                                            'macro)
-                                                    #t
-                                                    (eqv? #{type 1684}#
-                                                          'module-ref))))
+                                        (let ((#{type 1700}#
+                                                (car (#{lookup 337}#
+                                                       #{n 1698}#
+                                                       #{r 1587}#
+                                                       #{mod 1616}#))))
+                                          (if (memv #{type 1700}#
+                                                    '(global
+                                                       core
+                                                       macro
+                                                       module-ref))
                                             (begin
-                                              (if (if (if (eq? #{m 1574}# 'c)
-                                                        #t
-                                                        (eq? #{m 1574}# 'c&e))
+                                              (if (if (memq #{m 1590}#
+                                                            '(c c&e))
                                                     (if (not (module-local-variable
                                                                (current-module)
-                                                               #{n 1682}#))
+                                                               #{n 1698}#))
                                                       (current-module)
                                                       #f)
                                                     #f)
                                                 (begin
-                                                  (let ((#{old 1691}#
+                                                  (let ((#{old 1707}#
                                                           (module-variable
                                                             (current-module)
-                                                            #{n 1682}#)))
+                                                            #{n 1698}#)))
                                                     (if (if (variable?
-                                                              #{old 1691}#)
+                                                              #{old 1707}#)
                                                           (variable-bound?
-                                                            #{old 1691}#)
+                                                            #{old 1707}#)
                                                           #f)
                                                       (module-define!
                                                         (current-module)
-                                                        #{n 1682}#
+                                                        #{n 1698}#
                                                         (variable-ref
-                                                          #{old 1691}#))
+                                                          #{old 1707}#))
                                                       (module-add!
                                                         (current-module)
-                                                        #{n 1682}#
+                                                        #{n 1698}#
                                                         (make-undefined-variable))))))
-                                              (cons (if (eq? #{m 1574}# 'c&e)
+                                              (cons (if (eq? #{m 1590}# 'c&e)
                                                       (begin
-                                                        (let ((#{x 1695}#
-                                                                (#{build-global-definition 281}#
-                                                                  #{s 1599}#
-                                                                  #{n 1682}#
-                                                                  (#{chi 419}#
-                                                                    #{e 1597}#
-                                                                    #{r 1571}#
-                                                                    #{w 1598}#
-                                                                    #{mod 1600}#))))
+                                                        (let ((#{x 1711}#
+                                                                (#{build-global-definition 283}#
+                                                                  #{s 1615}#
+                                                                  #{n 1698}#
+                                                                  (#{chi 423}#
+                                                                    #{e 1613}#
+                                                                    #{r 1587}#
+                                                                    #{w 1614}#
+                                                                    #{mod 1616}#))))
                                                           (begin
-                                                            (#{top-level-eval-hook 250}#
-                                                              #{x 1695}#
-                                                              #{mod 1600}#)
-                                                            #{x 1695}#)))
+                                                            (#{top-level-eval-hook 252}#
+                                                              #{x 1711}#
+                                                              #{mod 1616}#)
+                                                            #{x 1711}#)))
                                                       (lambda ()
-                                                        (#{build-global-definition 281}#
-                                                          #{s 1599}#
-                                                          #{n 1682}#
-                                                          (#{chi 419}#
-                                                            #{e 1597}#
-                                                            #{r 1571}#
-                                                            #{w 1598}#
-                                                            #{mod 1600}#))))
-                                                    #{exps 1577}#))
-                                            (if (eqv? #{type 1684}#
-                                                      'displaced-lexical)
+                                                        (#{build-global-definition 283}#
+                                                          #{s 1615}#
+                                                          #{n 1698}#
+                                                          (#{chi 423}#
+                                                            #{e 1613}#
+                                                            #{r 1587}#
+                                                            #{w 1614}#
+                                                            #{mod 1616}#))))
+                                                    #{exps 1593}#))
+                                            (if (memv #{type 1700}#
+                                                      '(displaced-lexical))
                                               (syntax-violation
                                                 #f
                                                 "identifier out of context"
-                                                #{e 1597}#
-                                                (#{wrap 405}#
-                                                  #{value 1596}#
-                                                  #{w 1598}#
-                                                  #{mod 1600}#))
+                                                #{e 1613}#
+                                                (#{wrap 409}#
+                                                  #{value 1612}#
+                                                  #{w 1614}#
+                                                  #{mod 1616}#))
                                               (syntax-violation
                                                 #f
                                                 "cannot define keyword at top level"
-                                                #{e 1597}#
-                                                (#{wrap 405}#
-                                                  #{value 1596}#
-                                                  #{w 1598}#
-                                                  #{mod 1600}#))))))))
-                                  (cons (if (eq? #{m 1574}# 'c&e)
+                                                #{e 1613}#
+                                                (#{wrap 409}#
+                                                  #{value 1612}#
+                                                  #{w 1614}#
+                                                  #{mod 1616}#))))))))
+                                  (cons (if (eq? #{m 1590}# 'c&e)
                                           (begin
-                                            (let ((#{x 1700}#
-                                                    (#{chi-expr 421}#
-                                                      #{type 1595}#
-                                                      #{value 1596}#
-                                                      #{e 1597}#
-                                                      #{r 1571}#
-                                                      #{w 1598}#
-                                                      #{s 1599}#
-                                                      #{mod 1600}#)))
+                                            (let ((#{x 1716}#
+                                                    (#{chi-expr 425}#
+                                                      #{type 1611}#
+                                                      #{value 1612}#
+                                                      #{e 1613}#
+                                                      #{r 1587}#
+                                                      #{w 1614}#
+                                                      #{s 1615}#
+                                                      #{mod 1616}#)))
                                               (begin
-                                                (#{top-level-eval-hook 250}#
-                                                  #{x 1700}#
-                                                  #{mod 1600}#)
-                                                #{x 1700}#)))
+                                                (#{top-level-eval-hook 252}#
+                                                  #{x 1716}#
+                                                  #{mod 1616}#)
+                                                #{x 1716}#)))
                                           (lambda ()
-                                            (#{chi-expr 421}#
-                                              #{type 1595}#
-                                              #{value 1596}#
-                                              #{e 1597}#
-                                              #{r 1571}#
-                                              #{w 1598}#
-                                              #{s 1599}#
-                                              #{mod 1600}#)))
-                                        #{exps 1577}#)))))))))
-                  (lambda (#{exps 1701}#)
-                    (#{scan 1569}#
-                      (cdr #{body 1570}#)
-                      #{r 1571}#
-                      #{w 1572}#
-                      #{s 1573}#
-                      #{m 1574}#
-                      #{esew 1575}#
-                      #{mod 1576}#
-                      #{exps 1701}#)))))))
+                                            (#{chi-expr 425}#
+                                              #{type 1611}#
+                                              #{value 1612}#
+                                              #{e 1613}#
+                                              #{r 1587}#
+                                              #{w 1614}#
+                                              #{s 1615}#
+                                              #{mod 1616}#)))
+                                        #{exps 1593}#)))))))))
+                  (lambda (#{exps 1717}#)
+                    (#{scan 1585}#
+                      (cdr #{body 1586}#)
+                      #{r 1587}#
+                      #{w 1588}#
+                      #{s 1589}#
+                      #{m 1590}#
+                      #{esew 1591}#
+                      #{mod 1592}#
+                      #{exps 1717}#)))))))
          (begin
            (call-with-values
              (lambda ()
-               (#{scan 1569}#
-                 #{body 1554}#
-                 #{r 1555}#
-                 #{w 1556}#
-                 #{s 1557}#
-                 #{m 1558}#
-                 #{esew 1559}#
-                 #{mod 1560}#
+               (#{scan 1585}#
+                 #{body 1570}#
+                 #{r 1571}#
+                 #{w 1572}#
+                 #{s 1573}#
+                 #{m 1574}#
+                 #{esew 1575}#
+                 #{mod 1576}#
                  '()))
-             (lambda (#{exps 1703}#)
-               (if (null? #{exps 1703}#)
-                 (#{build-void 263}# #{s 1557}#)
-                 (#{build-sequence 293}#
-                   #{s 1557}#
+             (lambda (#{exps 1719}#)
+               (if (null? #{exps 1719}#)
+                 (#{build-void 265}# #{s 1573}#)
+                 (#{build-sequence 297}#
+                   #{s 1573}#
                    (letrec*
-                     ((#{lp 1708}#
-                        (lambda (#{in 1709}# #{out 1710}#)
-                          (if (null? #{in 1709}#)
-                            #{out 1710}#
+                     ((#{lp 1724}#
+                        (lambda (#{in 1725}# #{out 1726}#)
+                          (if (null? #{in 1725}#)
+                            #{out 1726}#
                             (begin
-                              (let ((#{e 1712}# (car #{in 1709}#)))
-                                (#{lp 1708}#
-                                  (cdr #{in 1709}#)
-                                  (cons (if (procedure? #{e 1712}#)
-                                          (#{e 1712}#)
-                                          #{e 1712}#)
-                                        #{out 1710}#))))))))
-                     (begin (#{lp 1708}# #{exps 1703}# '())))))))))))
-   (#{chi-install-global 413}#
-     (lambda (#{name 1713}# #{e 1714}#)
-       (#{build-global-definition 281}#
+                              (let ((#{e 1728}# (car #{in 1725}#)))
+                                (#{lp 1724}#
+                                  (cdr #{in 1725}#)
+                                  (cons (if (procedure? #{e 1728}#)
+                                          (#{e 1728}#)
+                                          #{e 1728}#)
+                                        #{out 1726}#))))))))
+                     (begin (#{lp 1724}# #{exps 1719}# '())))))))))))
+   (#{chi-install-global 417}#
+     (lambda (#{name 1729}# #{e 1730}#)
+       (#{build-global-definition 283}#
          #f
-         #{name 1713}#
-         (#{build-call 265}#
+         #{name 1729}#
+         (#{build-primcall 291}#
            #f
-           (#{build-primref 289}#
-             #f
-             'make-syntax-transformer)
-           (list (#{build-data 291}# #f #{name 1713}#)
-                 (#{build-data 291}# #f 'macro)
-                 #{e 1714}#)))))
-   (#{chi-when-list 415}#
-     (lambda (#{e 1722}# #{when-list 1723}# #{w 1724}#)
+           'make-syntax-transformer
+           (list (#{build-data 295}# #f #{name 1729}#)
+                 (#{build-data 295}# #f 'macro)
+                 #{e 1730}#)))))
+   (#{chi-when-list 419}#
+     (lambda (#{e 1737}# #{when-list 1738}# #{w 1739}#)
        (letrec*
-         ((#{f 1731}#
-            (lambda (#{when-list 1732}# #{situations 1733}#)
-              (if (null? #{when-list 1732}#)
-                #{situations 1733}#
-                (#{f 1731}#
-                  (cdr #{when-list 1732}#)
+         ((#{f 1746}#
+            (lambda (#{when-list 1747}# #{situations 1748}#)
+              (if (null? #{when-list 1747}#)
+                #{situations 1748}#
+                (#{f 1746}#
+                  (cdr #{when-list 1747}#)
                   (cons (begin
-                          (let ((#{x 1735}# (car #{when-list 1732}#)))
-                            (if (#{free-id=? 395}#
-                                  #{x 1735}#
+                          (let ((#{x 1750}# (car #{when-list 1747}#)))
+                            (if (#{free-id=? 399}#
+                                  #{x 1750}#
                                   '#(syntax-object
                                      compile
                                      ((top)
                                       #(ribcage () () ())
                                       #(ribcage () () ())
                                       #(ribcage () () ())
-                                      #(ribcage #(x) #((top)) #("i1734"))
+                                      #(ribcage #(x) #((top)) #("i1749"))
                                       #(ribcage () () ())
                                       #(ribcage
                                         #(f when-list situations)
                                         #((top) (top) (top))
-                                        #("i1728" "i1729" "i1730"))
+                                        #("i1743" "i1744" "i1745"))
                                       #(ribcage () () ())
                                       #(ribcage
                                         #(e when-list w)
                                         #((top) (top) (top))
-                                        #("i1725" "i1726" "i1727"))
+                                        #("i1740" "i1741" "i1742"))
                                       #(ribcage
                                         (lambda-var-list
                                           gen-var
                                           build-sequence
                                           build-data
                                           build-primref
+                                          build-primcall
                                           build-lambda-case
                                           build-case-lambda
                                           build-simple-lambda
                                           make-lambda-case
                                           make-lambda
                                           make-sequence
+                                          make-primcall
                                           make-call
                                           make-conditional
                                           make-toplevel-define
                                          (top)
                                          (top)
                                          (top)
+                                         (top)
+                                         (top)
                                          (top))
-                                        ("i448"
+                                        ("i452"
+                                         "i450"
+                                         "i448"
                                          "i446"
                                          "i444"
                                          "i442"
                                          "i388"
                                          "i386"
                                          "i384"
+                                         "i383"
                                          "i382"
                                          "i380"
                                          "i379"
                                          "i378"
+                                         "i377"
                                          "i376"
-                                         "i375"
                                          "i374"
-                                         "i373"
                                          "i372"
                                          "i370"
                                          "i368"
                                          "i364"
                                          "i362"
                                          "i360"
-                                         "i358"
-                                         "i356"
+                                         "i357"
+                                         "i355"
+                                         "i354"
                                          "i353"
+                                         "i352"
                                          "i351"
                                          "i350"
                                          "i349"
                                          "i348"
                                          "i347"
-                                         "i346"
                                          "i345"
                                          "i344"
-                                         "i343"
-                                         "i341"
+                                         "i342"
                                          "i340"
                                          "i338"
                                          "i336"
                                          "i334"
                                          "i332"
                                          "i330"
+                                         "i329"
                                          "i328"
+                                         "i327"
                                          "i326"
                                          "i325"
-                                         "i324"
                                          "i323"
                                          "i322"
-                                         "i321"
-                                         "i319"
+                                         "i320"
                                          "i318"
                                          "i316"
                                          "i314"
                                          "i260"
                                          "i258"
                                          "i256"
-                                         "i254"
+                                         "i255"
                                          "i253"
                                          "i251"
+                                         "i250"
                                          "i249"
                                          "i248"
                                          "i247"
-                                         "i246"
                                          "i245"
                                          "i243"
                                          "i241"
-                                         "i239"
+                                         "i238"
                                          "i236"
                                          "i234"
                                          "i232"
                                         ("i40" "i39" "i38")))
                                      (hygiene guile)))
                               'compile
-                              (if (#{free-id=? 395}#
-                                    #{x 1735}#
+                              (if (#{free-id=? 399}#
+                                    #{x 1750}#
                                     '#(syntax-object
                                        load
                                        ((top)
                                         #(ribcage () () ())
                                         #(ribcage () () ())
                                         #(ribcage () () ())
-                                        #(ribcage #(x) #((top)) #("i1734"))
+                                        #(ribcage #(x) #((top)) #("i1749"))
                                         #(ribcage () () ())
                                         #(ribcage
                                           #(f when-list situations)
                                           #((top) (top) (top))
-                                          #("i1728" "i1729" "i1730"))
+                                          #("i1743" "i1744" "i1745"))
                                         #(ribcage () () ())
                                         #(ribcage
                                           #(e when-list w)
                                           #((top) (top) (top))
-                                          #("i1725" "i1726" "i1727"))
+                                          #("i1740" "i1741" "i1742"))
                                         #(ribcage
                                           (lambda-var-list
                                             gen-var
                                             build-sequence
                                             build-data
                                             build-primref
+                                            build-primcall
                                             build-lambda-case
                                             build-case-lambda
                                             build-simple-lambda
                                             make-lambda-case
                                             make-lambda
                                             make-sequence
+                                            make-primcall
                                             make-call
                                             make-conditional
                                             make-toplevel-define
                                            (top)
                                            (top)
                                            (top)
+                                           (top)
+                                           (top)
                                            (top))
-                                          ("i448"
+                                          ("i452"
+                                           "i450"
+                                           "i448"
                                            "i446"
                                            "i444"
                                            "i442"
                                            "i388"
                                            "i386"
                                            "i384"
+                                           "i383"
                                            "i382"
                                            "i380"
                                            "i379"
                                            "i378"
+                                           "i377"
                                            "i376"
-                                           "i375"
                                            "i374"
-                                           "i373"
                                            "i372"
                                            "i370"
                                            "i368"
                                            "i364"
                                            "i362"
                                            "i360"
-                                           "i358"
-                                           "i356"
+                                           "i357"
+                                           "i355"
+                                           "i354"
                                            "i353"
+                                           "i352"
                                            "i351"
                                            "i350"
                                            "i349"
                                            "i348"
                                            "i347"
-                                           "i346"
                                            "i345"
                                            "i344"
-                                           "i343"
-                                           "i341"
+                                           "i342"
                                            "i340"
                                            "i338"
                                            "i336"
                                            "i334"
                                            "i332"
                                            "i330"
+                                           "i329"
                                            "i328"
+                                           "i327"
                                            "i326"
                                            "i325"
-                                           "i324"
                                            "i323"
                                            "i322"
-                                           "i321"
-                                           "i319"
+                                           "i320"
                                            "i318"
                                            "i316"
                                            "i314"
                                            "i260"
                                            "i258"
                                            "i256"
-                                           "i254"
+                                           "i255"
                                            "i253"
                                            "i251"
+                                           "i250"
                                            "i249"
                                            "i248"
                                            "i247"
-                                           "i246"
                                            "i245"
                                            "i243"
                                            "i241"
-                                           "i239"
+                                           "i238"
                                            "i236"
                                            "i234"
                                            "i232"
                                           ("i40" "i39" "i38")))
                                        (hygiene guile)))
                                 'load
-                                (if (#{free-id=? 395}#
-                                      #{x 1735}#
+                                (if (#{free-id=? 399}#
+                                      #{x 1750}#
                                       '#(syntax-object
                                          eval
                                          ((top)
                                           #(ribcage () () ())
                                           #(ribcage () () ())
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i1734"))
+                                          #(ribcage #(x) #((top)) #("i1749"))
                                           #(ribcage () () ())
                                           #(ribcage
                                             #(f when-list situations)
                                             #((top) (top) (top))
-                                            #("i1728" "i1729" "i1730"))
+                                            #("i1743" "i1744" "i1745"))
                                           #(ribcage () () ())
                                           #(ribcage
                                             #(e when-list w)
                                             #((top) (top) (top))
-                                            #("i1725" "i1726" "i1727"))
+                                            #("i1740" "i1741" "i1742"))
                                           #(ribcage
                                             (lambda-var-list
                                               gen-var
                                               build-sequence
                                               build-data
                                               build-primref
+                                              build-primcall
                                               build-lambda-case
                                               build-case-lambda
                                               build-simple-lambda
                                               make-lambda-case
                                               make-lambda
                                               make-sequence
+                                              make-primcall
                                               make-call
                                               make-conditional
                                               make-toplevel-define
                                              (top)
                                              (top)
                                              (top)
+                                             (top)
+                                             (top)
                                              (top))
-                                            ("i448"
+                                            ("i452"
+                                             "i450"
+                                             "i448"
                                              "i446"
                                              "i444"
                                              "i442"
                                              "i388"
                                              "i386"
                                              "i384"
+                                             "i383"
                                              "i382"
                                              "i380"
                                              "i379"
                                              "i378"
+                                             "i377"
                                              "i376"
-                                             "i375"
                                              "i374"
-                                             "i373"
                                              "i372"
                                              "i370"
                                              "i368"
                                              "i364"
                                              "i362"
                                              "i360"
-                                             "i358"
-                                             "i356"
+                                             "i357"
+                                             "i355"
+                                             "i354"
                                              "i353"
+                                             "i352"
                                              "i351"
                                              "i350"
                                              "i349"
                                              "i348"
                                              "i347"
-                                             "i346"
                                              "i345"
                                              "i344"
-                                             "i343"
-                                             "i341"
+                                             "i342"
                                              "i340"
                                              "i338"
                                              "i336"
                                              "i334"
                                              "i332"
                                              "i330"
+                                             "i329"
                                              "i328"
+                                             "i327"
                                              "i326"
                                              "i325"
-                                             "i324"
                                              "i323"
                                              "i322"
-                                             "i321"
-                                             "i319"
+                                             "i320"
                                              "i318"
                                              "i316"
                                              "i314"
                                              "i260"
                                              "i258"
                                              "i256"
-                                             "i254"
+                                             "i255"
                                              "i253"
                                              "i251"
+                                             "i250"
                                              "i249"
                                              "i248"
                                              "i247"
-                                             "i246"
                                              "i245"
                                              "i243"
                                              "i241"
-                                             "i239"
+                                             "i238"
                                              "i236"
                                              "i234"
                                              "i232"
                                             ("i40" "i39" "i38")))
                                          (hygiene guile)))
                                   'eval
-                                  (if (#{free-id=? 395}#
-                                        #{x 1735}#
+                                  (if (#{free-id=? 399}#
+                                        #{x 1750}#
                                         '#(syntax-object
                                            expand
                                            ((top)
                                             #(ribcage () () ())
                                             #(ribcage () () ())
                                             #(ribcage () () ())
-                                            #(ribcage #(x) #((top)) #("i1734"))
+                                            #(ribcage #(x) #((top)) #("i1749"))
                                             #(ribcage () () ())
                                             #(ribcage
                                               #(f when-list situations)
                                               #((top) (top) (top))
-                                              #("i1728" "i1729" "i1730"))
+                                              #("i1743" "i1744" "i1745"))
                                             #(ribcage () () ())
                                             #(ribcage
                                               #(e when-list w)
                                               #((top) (top) (top))
-                                              #("i1725" "i1726" "i1727"))
+                                              #("i1740" "i1741" "i1742"))
                                             #(ribcage
                                               (lambda-var-list
                                                 gen-var
                                                 build-sequence
                                                 build-data
                                                 build-primref
+                                                build-primcall
                                                 build-lambda-case
                                                 build-case-lambda
                                                 build-simple-lambda
                                                 make-lambda-case
                                                 make-lambda
                                                 make-sequence
+                                                make-primcall
                                                 make-call
                                                 make-conditional
                                                 make-toplevel-define
                                                (top)
                                                (top)
                                                (top)
+                                               (top)
+                                               (top)
                                                (top))
-                                              ("i448"
+                                              ("i452"
+                                               "i450"
+                                               "i448"
                                                "i446"
                                                "i444"
                                                "i442"
                                                "i388"
                                                "i386"
                                                "i384"
+                                               "i383"
                                                "i382"
                                                "i380"
                                                "i379"
                                                "i378"
+                                               "i377"
                                                "i376"
-                                               "i375"
                                                "i374"
-                                               "i373"
                                                "i372"
                                                "i370"
                                                "i368"
                                                "i364"
                                                "i362"
                                                "i360"
-                                               "i358"
-                                               "i356"
+                                               "i357"
+                                               "i355"
+                                               "i354"
                                                "i353"
+                                               "i352"
                                                "i351"
                                                "i350"
                                                "i349"
                                                "i348"
                                                "i347"
-                                               "i346"
                                                "i345"
                                                "i344"
-                                               "i343"
-                                               "i341"
+                                               "i342"
                                                "i340"
                                                "i338"
                                                "i336"
                                                "i334"
                                                "i332"
                                                "i330"
+                                               "i329"
                                                "i328"
+                                               "i327"
                                                "i326"
                                                "i325"
-                                               "i324"
                                                "i323"
                                                "i322"
-                                               "i321"
-                                               "i319"
+                                               "i320"
                                                "i318"
                                                "i316"
                                                "i314"
                                                "i260"
                                                "i258"
                                                "i256"
-                                               "i254"
+                                               "i255"
                                                "i253"
                                                "i251"
+                                               "i250"
                                                "i249"
                                                "i248"
                                                "i247"
-                                               "i246"
                                                "i245"
                                                "i243"
                                                "i241"
-                                               "i239"
+                                               "i238"
                                                "i236"
                                                "i234"
                                                "i232"
                                     (syntax-violation
                                       'eval-when
                                       "invalid situation"
-                                      #{e 1722}#
-                                      (#{wrap 405}#
-                                        #{x 1735}#
-                                        #{w 1724}#
+                                      #{e 1737}#
+                                      (#{wrap 409}#
+                                        #{x 1750}#
+                                        #{w 1739}#
                                         #f))))))))
-                        #{situations 1733}#))))))
-         (begin (#{f 1731}# #{when-list 1723}# '())))))
-   (#{syntax-type 417}#
-     (lambda (#{e 1745}#
-              #{r 1746}#
-              #{w 1747}#
-              #{s 1748}#
-              #{rib 1749}#
-              #{mod 1750}#
-              #{for-car? 1751}#)
-       (if (symbol? #{e 1745}#)
+                        #{situations 1748}#))))))
+         (begin (#{f 1746}# #{when-list 1738}# '())))))
+   (#{syntax-type 421}#
+     (lambda (#{e 1760}#
+              #{r 1761}#
+              #{w 1762}#
+              #{s 1763}#
+              #{rib 1764}#
+              #{mod 1765}#
+              #{for-car? 1766}#)
+       (if (symbol? #{e 1760}#)
          (begin
-           (let ((#{n 1763}#
-                   (#{id-var-name 393}# #{e 1745}# #{w 1747}#)))
+           (let ((#{n 1778}#
+                   (#{id-var-name 397}# #{e 1760}# #{w 1762}#)))
              (begin
-               (let ((#{b 1765}#
-                       (#{lookup 333}#
-                         #{n 1763}#
-                         #{r 1746}#
-                         #{mod 1750}#)))
+               (let ((#{b 1780}#
+                       (#{lookup 337}#
+                         #{n 1778}#
+                         #{r 1761}#
+                         #{mod 1765}#)))
                  (begin
-                   (let ((#{type 1767}# (car #{b 1765}#)))
-                     (if (eqv? #{type 1767}# 'lexical)
+                   (let ((#{type 1782}# (car #{b 1780}#)))
+                     (if (memv #{type 1782}# '(lexical))
                        (values
-                         #{type 1767}#
-                         (cdr #{b 1765}#)
-                         #{e 1745}#
-                         #{w 1747}#
-                         #{s 1748}#
-                         #{mod 1750}#)
-                       (if (eqv? #{type 1767}# 'global)
+                         #{type 1782}#
+                         (cdr #{b 1780}#)
+                         #{e 1760}#
+                         #{w 1762}#
+                         #{s 1763}#
+                         #{mod 1765}#)
+                       (if (memv #{type 1782}# '(global))
                          (values
-                           #{type 1767}#
-                           #{n 1763}#
-                           #{e 1745}#
-                           #{w 1747}#
-                           #{s 1748}#
-                           #{mod 1750}#)
-                         (if (eqv? #{type 1767}# 'macro)
-                           (if #{for-car? 1751}#
+                           #{type 1782}#
+                           #{n 1778}#
+                           #{e 1760}#
+                           #{w 1762}#
+                           #{s 1763}#
+                           #{mod 1765}#)
+                         (if (memv #{type 1782}# '(macro))
+                           (if #{for-car? 1766}#
                              (values
-                               #{type 1767}#
-                               (cdr #{b 1765}#)
-                               #{e 1745}#
-                               #{w 1747}#
-                               #{s 1748}#
-                               #{mod 1750}#)
-                             (#{syntax-type 417}#
-                               (#{chi-macro 425}#
-                                 (cdr #{b 1765}#)
-                                 #{e 1745}#
-                                 #{r 1746}#
-                                 #{w 1747}#
-                                 #{s 1748}#
-                                 #{rib 1749}#
-                                 #{mod 1750}#)
-                               #{r 1746}#
+                               #{type 1782}#
+                               (cdr #{b 1780}#)
+                               #{e 1760}#
+                               #{w 1762}#
+                               #{s 1763}#
+                               #{mod 1765}#)
+                             (#{syntax-type 421}#
+                               (#{chi-macro 429}#
+                                 (cdr #{b 1780}#)
+                                 #{e 1760}#
+                                 #{r 1761}#
+                                 #{w 1762}#
+                                 #{s 1763}#
+                                 #{rib 1764}#
+                                 #{mod 1765}#)
+                               #{r 1761}#
                                '(())
-                               #{s 1748}#
-                               #{rib 1749}#
-                               #{mod 1750}#
+                               #{s 1763}#
+                               #{rib 1764}#
+                               #{mod 1765}#
                                #f))
                            (values
-                             #{type 1767}#
-                             (cdr #{b 1765}#)
-                             #{e 1745}#
-                             #{w 1747}#
-                             #{s 1748}#
-                             #{mod 1750}#))))))))))
-         (if (pair? #{e 1745}#)
+                             #{type 1782}#
+                             (cdr #{b 1780}#)
+                             #{e 1760}#
+                             #{w 1762}#
+                             #{s 1763}#
+                             #{mod 1765}#))))))))))
+         (if (pair? #{e 1760}#)
            (begin
-             (let ((#{first 1781}# (car #{e 1745}#)))
+             (let ((#{first 1796}# (car #{e 1760}#)))
                (call-with-values
                  (lambda ()
-                   (#{syntax-type 417}#
-                     #{first 1781}#
-                     #{r 1746}#
-                     #{w 1747}#
-                     #{s 1748}#
-                     #{rib 1749}#
-                     #{mod 1750}#
+                   (#{syntax-type 421}#
+                     #{first 1796}#
+                     #{r 1761}#
+                     #{w 1762}#
+                     #{s 1763}#
+                     #{rib 1764}#
+                     #{mod 1765}#
                      #t))
-                 (lambda (#{ftype 1782}#
-                          #{fval 1783}#
-                          #{fe 1784}#
-                          #{fw 1785}#
-                          #{fs 1786}#
-                          #{fmod 1787}#)
-                   (if (eqv? #{ftype 1782}# 'lexical)
+                 (lambda (#{ftype 1797}#
+                          #{fval 1798}#
+                          #{fe 1799}#
+                          #{fw 1800}#
+                          #{fs 1801}#
+                          #{fmod 1802}#)
+                   (if (memv #{ftype 1797}# '(lexical))
                      (values
                        'lexical-call
-                       #{fval 1783}#
-                       #{e 1745}#
-                       #{w 1747}#
-                       #{s 1748}#
-                       #{mod 1750}#)
-                     (if (eqv? #{ftype 1782}# 'global)
+                       #{fval 1798}#
+                       #{e 1760}#
+                       #{w 1762}#
+                       #{s 1763}#
+                       #{mod 1765}#)
+                     (if (memv #{ftype 1797}# '(global))
                        (values
                          'global-call
-                         (#{make-syntax-object 303}#
-                           #{fval 1783}#
-                           #{w 1747}#
-                           #{fmod 1787}#)
-                         #{e 1745}#
-                         #{w 1747}#
-                         #{s 1748}#
-                         #{mod 1750}#)
-                       (if (eqv? #{ftype 1782}# 'macro)
-                         (#{syntax-type 417}#
-                           (#{chi-macro 425}#
-                             #{fval 1783}#
-                             #{e 1745}#
-                             #{r 1746}#
-                             #{w 1747}#
-                             #{s 1748}#
-                             #{rib 1749}#
-                             #{mod 1750}#)
-                           #{r 1746}#
+                         (#{make-syntax-object 307}#
+                           #{fval 1798}#
+                           #{w 1762}#
+                           #{fmod 1802}#)
+                         #{e 1760}#
+                         #{w 1762}#
+                         #{s 1763}#
+                         #{mod 1765}#)
+                       (if (memv #{ftype 1797}# '(macro))
+                         (#{syntax-type 421}#
+                           (#{chi-macro 429}#
+                             #{fval 1798}#
+                             #{e 1760}#
+                             #{r 1761}#
+                             #{w 1762}#
+                             #{s 1763}#
+                             #{rib 1764}#
+                             #{mod 1765}#)
+                           #{r 1761}#
                            '(())
-                           #{s 1748}#
-                           #{rib 1749}#
-                           #{mod 1750}#
-                           #{for-car? 1751}#)
-                         (if (eqv? #{ftype 1782}# 'module-ref)
+                           #{s 1763}#
+                           #{rib 1764}#
+                           #{mod 1765}#
+                           #{for-car? 1766}#)
+                         (if (memv #{ftype 1797}# '(module-ref))
                            (call-with-values
                              (lambda ()
-                               (#{fval 1783}#
-                                 #{e 1745}#
-                                 #{r 1746}#
-                                 #{w 1747}#))
-                             (lambda (#{e 1799}#
-                                      #{r 1800}#
-                                      #{w 1801}#
-                                      #{s 1802}#
-                                      #{mod 1803}#)
-                               (#{syntax-type 417}#
-                                 #{e 1799}#
-                                 #{r 1800}#
-                                 #{w 1801}#
-                                 #{s 1802}#
-                                 #{rib 1749}#
-                                 #{mod 1803}#
-                                 #{for-car? 1751}#)))
-                           (if (eqv? #{ftype 1782}# 'core)
+                               (#{fval 1798}#
+                                 #{e 1760}#
+                                 #{r 1761}#
+                                 #{w 1762}#))
+                             (lambda (#{e 1814}#
+                                      #{r 1815}#
+                                      #{w 1816}#
+                                      #{s 1817}#
+                                      #{mod 1818}#)
+                               (#{syntax-type 421}#
+                                 #{e 1814}#
+                                 #{r 1815}#
+                                 #{w 1816}#
+                                 #{s 1817}#
+                                 #{rib 1764}#
+                                 #{mod 1818}#
+                                 #{for-car? 1766}#)))
+                           (if (memv #{ftype 1797}# '(core))
                              (values
                                'core-form
-                               #{fval 1783}#
-                               #{e 1745}#
-                               #{w 1747}#
-                               #{s 1748}#
-                               #{mod 1750}#)
-                             (if (eqv? #{ftype 1782}# 'local-syntax)
+                               #{fval 1798}#
+                               #{e 1760}#
+                               #{w 1762}#
+                               #{s 1763}#
+                               #{mod 1765}#)
+                             (if (memv #{ftype 1797}# '(local-syntax))
                                (values
                                  'local-syntax-form
-                                 #{fval 1783}#
-                                 #{e 1745}#
-                                 #{w 1747}#
-                                 #{s 1748}#
-                                 #{mod 1750}#)
-                               (if (eqv? #{ftype 1782}# 'begin)
+                                 #{fval 1798}#
+                                 #{e 1760}#
+                                 #{w 1762}#
+                                 #{s 1763}#
+                                 #{mod 1765}#)
+                               (if (memv #{ftype 1797}# '(begin))
                                  (values
                                    'begin-form
                                    #f
-                                   #{e 1745}#
-                                   #{w 1747}#
-                                   #{s 1748}#
-                                   #{mod 1750}#)
-                                 (if (eqv? #{ftype 1782}# 'eval-when)
+                                   #{e 1760}#
+                                   #{w 1762}#
+                                   #{s 1763}#
+                                   #{mod 1765}#)
+                                 (if (memv #{ftype 1797}# '(eval-when))
                                    (values
                                      'eval-when-form
                                      #f
-                                     #{e 1745}#
-                                     #{w 1747}#
-                                     #{s 1748}#
-                                     #{mod 1750}#)
-                                   (if (eqv? #{ftype 1782}# 'define)
-                                     (let ((#{tmp 1814}# #{e 1745}#))
-                                       (let ((#{tmp 1815}#
+                                     #{e 1760}#
+                                     #{w 1762}#
+                                     #{s 1763}#
+                                     #{mod 1765}#)
+                                   (if (memv #{ftype 1797}# '(define))
+                                     (let ((#{tmp 1829}# #{e 1760}#))
+                                       (let ((#{tmp 1830}#
                                                ($sc-dispatch
-                                                 #{tmp 1814}#
+                                                 #{tmp 1829}#
                                                  '(_ any any))))
-                                         (if (if #{tmp 1815}#
+                                         (if (if #{tmp 1830}#
                                                (@apply
-                                                 (lambda (#{name 1818}#
-                                                          #{val 1819}#)
-                                                   (#{id? 339}# #{name 1818}#))
-                                                 #{tmp 1815}#)
+                                                 (lambda (#{name 1833}#
+                                                          #{val 1834}#)
+                                                   (#{id? 343}# #{name 1833}#))
+                                                 #{tmp 1830}#)
                                                #f)
                                            (@apply
-                                             (lambda (#{name 1822}#
-                                                      #{val 1823}#)
+                                             (lambda (#{name 1837}#
+                                                      #{val 1838}#)
                                                (values
                                                  'define-form
-                                                 #{name 1822}#
-                                                 #{val 1823}#
-                                                 #{w 1747}#
-                                                 #{s 1748}#
-                                                 #{mod 1750}#))
-                                             #{tmp 1815}#)
-                                           (let ((#{tmp 1824}#
+                                                 #{name 1837}#
+                                                 #{val 1838}#
+                                                 #{w 1762}#
+                                                 #{s 1763}#
+                                                 #{mod 1765}#))
+                                             #{tmp 1830}#)
+                                           (let ((#{tmp 1839}#
                                                    ($sc-dispatch
-                                                     #{tmp 1814}#
+                                                     #{tmp 1829}#
                                                      '(_ (any . any)
                                                          any
                                                          .
                                                          each-any))))
-                                             (if (if #{tmp 1824}#
+                                             (if (if #{tmp 1839}#
                                                    (@apply
-                                                     (lambda (#{name 1829}#
-                                                              #{args 1830}#
-                                                              #{e1 1831}#
-                                                              #{e2 1832}#)
-                                                       (if (#{id? 339}#
-                                                             #{name 1829}#)
-                                                         (#{valid-bound-ids? 399}#
-                                                           (#{lambda-var-list 449}#
-                                                             #{args 1830}#))
+                                                     (lambda (#{name 1844}#
+                                                              #{args 1845}#
+                                                              #{e1 1846}#
+                                                              #{e2 1847}#)
+                                                       (if (#{id? 343}#
+                                                             #{name 1844}#)
+                                                         (#{valid-bound-ids? 403}#
+                                                           (#{lambda-var-list 453}#
+                                                             #{args 1845}#))
                                                          #f))
-                                                     #{tmp 1824}#)
+                                                     #{tmp 1839}#)
                                                    #f)
                                                (@apply
-                                                 (lambda (#{name 1839}#
-                                                          #{args 1840}#
-                                                          #{e1 1841}#
-                                                          #{e2 1842}#)
+                                                 (lambda (#{name 1854}#
+                                                          #{args 1855}#
+                                                          #{e1 1856}#
+                                                          #{e2 1857}#)
                                                    (values
                                                      'define-form
-                                                     (#{wrap 405}#
-                                                       #{name 1839}#
-                                                       #{w 1747}#
-                                                       #{mod 1750}#)
-                                                     (#{decorate-source 259}#
+                                                     (#{wrap 409}#
+                                                       #{name 1854}#
+                                                       #{w 1762}#
+                                                       #{mod 1765}#)
+                                                     (#{decorate-source 261}#
                                                        (cons '#(syntax-object
                                                                 lambda
                                                                 ((top)
                                                                      (top)
                                                                      (top)
                                                                      (top))
-                                                                   #("i1835"
-                                                                     "i1836"
-                                                                     "i1837"
-                                                                     "i1838"))
+                                                                   #("i1850"
+                                                                     "i1851"
+                                                                     "i1852"
+                                                                     "i1853"))
                                                                  #(ribcage
                                                                    ()
                                                                    ()
                                                                      (top)
                                                                      (top)
                                                                      (top))
-                                                                   #("i1788"
-                                                                     "i1789"
-                                                                     "i1790"
-                                                                     "i1791"
-                                                                     "i1792"
-                                                                     "i1793"))
+                                                                   #("i1803"
+                                                                     "i1804"
+                                                                     "i1805"
+                                                                     "i1806"
+                                                                     "i1807"
+                                                                     "i1808"))
                                                                  #(ribcage
                                                                    ()
                                                                    ()
                                                                  #(ribcage
                                                                    #(first)
                                                                    #((top))
-                                                                   #("i1780"))
+                                                                   #("i1795"))
                                                                  #(ribcage
                                                                    ()
                                                                    ()
                                                                      (top)
                                                                      (top)
                                                                      (top))
-                                                                   #("i1752"
-                                                                     "i1753"
-                                                                     "i1754"
-                                                                     "i1755"
-                                                                     "i1756"
-                                                                     "i1757"
-                                                                     "i1758"))
+                                                                   #("i1767"
+                                                                     "i1768"
+                                                                     "i1769"
+                                                                     "i1770"
+                                                                     "i1771"
+                                                                     "i1772"
+                                                                     "i1773"))
                                                                  #(ribcage
                                                                    (lambda-var-list
                                                                      gen-var
                                                                      build-sequence
                                                                      build-data
                                                                      build-primref
+                                                                     build-primcall
                                                                      build-lambda-case
                                                                      build-case-lambda
                                                                      build-simple-lambda
                                                                      make-lambda-case
                                                                      make-lambda
                                                                      make-sequence
+                                                                     make-primcall
                                                                      make-call
                                                                      make-conditional
                                                                      make-toplevel-define
                                                                     (top)
                                                                     (top)
                                                                     (top)
+                                                                    (top)
+                                                                    (top)
                                                                     (top))
-                                                                   ("i448"
+                                                                   ("i452"
+                                                                    "i450"
+                                                                    "i448"
                                                                     "i446"
                                                                     "i444"
                                                                     "i442"
                                                                     "i388"
                                                                     "i386"
                                                                     "i384"
+                                                                    "i383"
                                                                     "i382"
                                                                     "i380"
                                                                     "i379"
                                                                     "i378"
+                                                                    "i377"
                                                                     "i376"
-                                                                    "i375"
                                                                     "i374"
-                                                                    "i373"
                                                                     "i372"
                                                                     "i370"
                                                                     "i368"
                                                                     "i364"
                                                                     "i362"
                                                                     "i360"
-                                                                    "i358"
-                                                                    "i356"
+                                                                    "i357"
+                                                                    "i355"
+                                                                    "i354"
                                                                     "i353"
+                                                                    "i352"
                                                                     "i351"
                                                                     "i350"
                                                                     "i349"
                                                                     "i348"
                                                                     "i347"
-                                                                    "i346"
                                                                     "i345"
                                                                     "i344"
-                                                                    "i343"
-                                                                    "i341"
+                                                                    "i342"
                                                                     "i340"
                                                                     "i338"
                                                                     "i336"
                                                                     "i334"
                                                                     "i332"
                                                                     "i330"
+                                                                    "i329"
                                                                     "i328"
+                                                                    "i327"
                                                                     "i326"
                                                                     "i325"
-                                                                    "i324"
                                                                     "i323"
                                                                     "i322"
-                                                                    "i321"
-                                                                    "i319"
+                                                                    "i320"
                                                                     "i318"
                                                                     "i316"
                                                                     "i314"
                                                                     "i260"
                                                                     "i258"
                                                                     "i256"
-                                                                    "i254"
+                                                                    "i255"
                                                                     "i253"
                                                                     "i251"
+                                                                    "i250"
                                                                     "i249"
                                                                     "i248"
                                                                     "i247"
-                                                                    "i246"
                                                                     "i245"
                                                                     "i243"
                                                                     "i241"
-                                                                    "i239"
+                                                                    "i238"
                                                                     "i236"
                                                                     "i234"
                                                                     "i232"
                                                                     "i38")))
                                                                 (hygiene
                                                                   guile))
-                                                             (#{wrap 405}#
-                                                               (cons #{args 1840}#
-                                                                     (cons #{e1 1841}#
-                                                                           #{e2 1842}#))
-                                                               #{w 1747}#
-                                                               #{mod 1750}#))
-                                                       #{s 1748}#)
+                                                             (#{wrap 409}#
+                                                               (cons #{args 1855}#
+                                                                     (cons #{e1 1856}#
+                                                                           #{e2 1857}#))
+                                                               #{w 1762}#
+                                                               #{mod 1765}#))
+                                                       #{s 1763}#)
                                                      '(())
-                                                     #{s 1748}#
-                                                     #{mod 1750}#))
-                                                 #{tmp 1824}#)
-                                               (let ((#{tmp 1845}#
+                                                     #{s 1763}#
+                                                     #{mod 1765}#))
+                                                 #{tmp 1839}#)
+                                               (let ((#{tmp 1860}#
                                                        ($sc-dispatch
-                                                         #{tmp 1814}#
+                                                         #{tmp 1829}#
                                                          '(_ any))))
-                                                 (if (if #{tmp 1845}#
+                                                 (if (if #{tmp 1860}#
                                                        (@apply
-                                                         (lambda (#{name 1847}#)
-                                                           (#{id? 339}#
-                                                             #{name 1847}#))
-                                                         #{tmp 1845}#)
+                                                         (lambda (#{name 1862}#)
+                                                           (#{id? 343}#
+                                                             #{name 1862}#))
+                                                         #{tmp 1860}#)
                                                        #f)
                                                    (@apply
-                                                     (lambda (#{name 1849}#)
+                                                     (lambda (#{name 1864}#)
                                                        (values
                                                          'define-form
-                                                         (#{wrap 405}#
-                                                           #{name 1849}#
-                                                           #{w 1747}#
-                                                           #{mod 1750}#)
+                                                         (#{wrap 409}#
+                                                           #{name 1864}#
+                                                           #{w 1762}#
+                                                           #{mod 1765}#)
                                                          '(#(syntax-object
                                                              if
                                                              ((top)
                                                               #(ribcage
                                                                 #(name)
                                                                 #((top))
-                                                                #("i1848"))
+                                                                #("i1863"))
                                                               #(ribcage
                                                                 ()
                                                                 ()
                                                                   (top)
                                                                   (top)
                                                                   (top))
-                                                                #("i1788"
-                                                                  "i1789"
-                                                                  "i1790"
-                                                                  "i1791"
-                                                                  "i1792"
-                                                                  "i1793"))
+                                                                #("i1803"
+                                                                  "i1804"
+                                                                  "i1805"
+                                                                  "i1806"
+                                                                  "i1807"
+                                                                  "i1808"))
                                                               #(ribcage
                                                                 ()
                                                                 ()
                                                               #(ribcage
                                                                 #(first)
                                                                 #((top))
-                                                                #("i1780"))
+                                                                #("i1795"))
                                                               #(ribcage
                                                                 ()
                                                                 ()
                                                                   (top)
                                                                   (top)
                                                                   (top))
-                                                                #("i1752"
-                                                                  "i1753"
-                                                                  "i1754"
-                                                                  "i1755"
-                                                                  "i1756"
-                                                                  "i1757"
-                                                                  "i1758"))
+                                                                #("i1767"
+                                                                  "i1768"
+                                                                  "i1769"
+                                                                  "i1770"
+                                                                  "i1771"
+                                                                  "i1772"
+                                                                  "i1773"))
                                                               #(ribcage
                                                                 (lambda-var-list
                                                                   gen-var
                                                                   build-sequence
                                                                   build-data
                                                                   build-primref
+                                                                  build-primcall
                                                                   build-lambda-case
                                                                   build-case-lambda
                                                                   build-simple-lambda
                                                                   make-lambda-case
                                                                   make-lambda
                                                                   make-sequence
+                                                                  make-primcall
                                                                   make-call
                                                                   make-conditional
                                                                   make-toplevel-define
                                                                  (top)
                                                                  (top)
                                                                  (top)
+                                                                 (top)
+                                                                 (top)
                                                                  (top))
-                                                                ("i448"
+                                                                ("i452"
+                                                                 "i450"
+                                                                 "i448"
                                                                  "i446"
                                                                  "i444"
                                                                  "i442"
                                                                  "i388"
                                                                  "i386"
                                                                  "i384"
+                                                                 "i383"
                                                                  "i382"
                                                                  "i380"
                                                                  "i379"
                                                                  "i378"
+                                                                 "i377"
                                                                  "i376"
-                                                                 "i375"
                                                                  "i374"
-                                                                 "i373"
                                                                  "i372"
                                                                  "i370"
                                                                  "i368"
                                                                  "i364"
                                                                  "i362"
                                                                  "i360"
-                                                                 "i358"
-                                                                 "i356"
+                                                                 "i357"
+                                                                 "i355"
+                                                                 "i354"
                                                                  "i353"
+                                                                 "i352"
                                                                  "i351"
                                                                  "i350"
                                                                  "i349"
                                                                  "i348"
                                                                  "i347"
-                                                                 "i346"
                                                                  "i345"
                                                                  "i344"
-                                                                 "i343"
-                                                                 "i341"
+                                                                 "i342"
                                                                  "i340"
                                                                  "i338"
                                                                  "i336"
                                                                  "i334"
                                                                  "i332"
                                                                  "i330"
+                                                                 "i329"
                                                                  "i328"
+                                                                 "i327"
                                                                  "i326"
                                                                  "i325"
-                                                                 "i324"
                                                                  "i323"
                                                                  "i322"
-                                                                 "i321"
-                                                                 "i319"
+                                                                 "i320"
                                                                  "i318"
                                                                  "i316"
                                                                  "i314"
                                                                  "i260"
                                                                  "i258"
                                                                  "i256"
-                                                                 "i254"
+                                                                 "i255"
                                                                  "i253"
                                                                  "i251"
+                                                                 "i250"
                                                                  "i249"
                                                                  "i248"
                                                                  "i247"
-                                                                 "i246"
                                                                  "i245"
                                                                  "i243"
                                                                  "i241"
-                                                                 "i239"
+                                                                 "i238"
                                                                  "i236"
                                                                  "i234"
                                                                  "i232"
                                                               #(ribcage
                                                                 #(name)
                                                                 #((top))
-                                                                #("i1848"))
+                                                                #("i1863"))
                                                               #(ribcage
                                                                 ()
                                                                 ()
                                                                   (top)
                                                                   (top)
                                                                   (top))
-                                                                #("i1788"
-                                                                  "i1789"
-                                                                  "i1790"
-                                                                  "i1791"
-                                                                  "i1792"
-                                                                  "i1793"))
+                                                                #("i1803"
+                                                                  "i1804"
+                                                                  "i1805"
+                                                                  "i1806"
+                                                                  "i1807"
+                                                                  "i1808"))
                                                               #(ribcage
                                                                 ()
                                                                 ()
                                                               #(ribcage
                                                                 #(first)
                                                                 #((top))
-                                                                #("i1780"))
+                                                                #("i1795"))
                                                               #(ribcage
                                                                 ()
                                                                 ()
                                                                   (top)
                                                                   (top)
                                                                   (top))
-                                                                #("i1752"
-                                                                  "i1753"
-                                                                  "i1754"
-                                                                  "i1755"
-                                                                  "i1756"
-                                                                  "i1757"
-                                                                  "i1758"))
+                                                                #("i1767"
+                                                                  "i1768"
+                                                                  "i1769"
+                                                                  "i1770"
+                                                                  "i1771"
+                                                                  "i1772"
+                                                                  "i1773"))
                                                               #(ribcage
                                                                 (lambda-var-list
                                                                   gen-var
                                                                   build-sequence
                                                                   build-data
                                                                   build-primref
+                                                                  build-primcall
                                                                   build-lambda-case
                                                                   build-case-lambda
                                                                   build-simple-lambda
                                                                   make-lambda-case
                                                                   make-lambda
                                                                   make-sequence
+                                                                  make-primcall
                                                                   make-call
                                                                   make-conditional
                                                                   make-toplevel-define
                                                                  (top)
                                                                  (top)
                                                                  (top)
+                                                                 (top)
+                                                                 (top)
                                                                  (top))
-                                                                ("i448"
+                                                                ("i452"
+                                                                 "i450"
+                                                                 "i448"
                                                                  "i446"
                                                                  "i444"
                                                                  "i442"
                                                                  "i388"
                                                                  "i386"
                                                                  "i384"
+                                                                 "i383"
                                                                  "i382"
                                                                  "i380"
                                                                  "i379"
                                                                  "i378"
+                                                                 "i377"
                                                                  "i376"
-                                                                 "i375"
                                                                  "i374"
-                                                                 "i373"
                                                                  "i372"
                                                                  "i370"
                                                                  "i368"
                                                                  "i364"
                                                                  "i362"
                                                                  "i360"
-                                                                 "i358"
-                                                                 "i356"
+                                                                 "i357"
+                                                                 "i355"
+                                                                 "i354"
                                                                  "i353"
+                                                                 "i352"
                                                                  "i351"
                                                                  "i350"
                                                                  "i349"
                                                                  "i348"
                                                                  "i347"
-                                                                 "i346"
                                                                  "i345"
                                                                  "i344"
-                                                                 "i343"
-                                                                 "i341"
+                                                                 "i342"
                                                                  "i340"
                                                                  "i338"
                                                                  "i336"
                                                                  "i334"
                                                                  "i332"
                                                                  "i330"
+                                                                 "i329"
                                                                  "i328"
+                                                                 "i327"
                                                                  "i326"
                                                                  "i325"
-                                                                 "i324"
                                                                  "i323"
                                                                  "i322"
-                                                                 "i321"
-                                                                 "i319"
+                                                                 "i320"
                                                                  "i318"
                                                                  "i316"
                                                                  "i314"
                                                                  "i260"
                                                                  "i258"
                                                                  "i256"
-                                                                 "i254"
+                                                                 "i255"
                                                                  "i253"
                                                                  "i251"
+                                                                 "i250"
                                                                  "i249"
                                                                  "i248"
                                                                  "i247"
-                                                                 "i246"
                                                                  "i245"
                                                                  "i243"
                                                                  "i241"
-                                                                 "i239"
+                                                                 "i238"
                                                                  "i236"
                                                                  "i234"
                                                                  "i232"
                                                               #(ribcage
                                                                 #(name)
                                                                 #((top))
-                                                                #("i1848"))
+                                                                #("i1863"))
                                                               #(ribcage
                                                                 ()
                                                                 ()
                                                                   (top)
                                                                   (top)
                                                                   (top))
-                                                                #("i1788"
-                                                                  "i1789"
-                                                                  "i1790"
-                                                                  "i1791"
-                                                                  "i1792"
-                                                                  "i1793"))
+                                                                #("i1803"
+                                                                  "i1804"
+                                                                  "i1805"
+                                                                  "i1806"
+                                                                  "i1807"
+                                                                  "i1808"))
                                                               #(ribcage
                                                                 ()
                                                                 ()
                                                               #(ribcage
                                                                 #(first)
                                                                 #((top))
-                                                                #("i1780"))
+                                                                #("i1795"))
                                                               #(ribcage
                                                                 ()
                                                                 ()
                                                                   (top)
                                                                   (top)
                                                                   (top))
-                                                                #("i1752"
-                                                                  "i1753"
-                                                                  "i1754"
-                                                                  "i1755"
-                                                                  "i1756"
-                                                                  "i1757"
-                                                                  "i1758"))
+                                                                #("i1767"
+                                                                  "i1768"
+                                                                  "i1769"
+                                                                  "i1770"
+                                                                  "i1771"
+                                                                  "i1772"
+                                                                  "i1773"))
                                                               #(ribcage
                                                                 (lambda-var-list
                                                                   gen-var
                                                                   build-sequence
                                                                   build-data
                                                                   build-primref
+                                                                  build-primcall
                                                                   build-lambda-case
                                                                   build-case-lambda
                                                                   build-simple-lambda
                                                                   make-lambda-case
                                                                   make-lambda
                                                                   make-sequence
+                                                                  make-primcall
                                                                   make-call
                                                                   make-conditional
                                                                   make-toplevel-define
                                                                  (top)
                                                                  (top)
                                                                  (top)
+                                                                 (top)
+                                                                 (top)
                                                                  (top))
-                                                                ("i448"
+                                                                ("i452"
+                                                                 "i450"
+                                                                 "i448"
                                                                  "i446"
                                                                  "i444"
                                                                  "i442"
                                                                  "i388"
                                                                  "i386"
                                                                  "i384"
+                                                                 "i383"
                                                                  "i382"
                                                                  "i380"
                                                                  "i379"
                                                                  "i378"
+                                                                 "i377"
                                                                  "i376"
-                                                                 "i375"
                                                                  "i374"
-                                                                 "i373"
                                                                  "i372"
                                                                  "i370"
                                                                  "i368"
                                                                  "i364"
                                                                  "i362"
                                                                  "i360"
-                                                                 "i358"
-                                                                 "i356"
+                                                                 "i357"
+                                                                 "i355"
+                                                                 "i354"
                                                                  "i353"
+                                                                 "i352"
                                                                  "i351"
                                                                  "i350"
                                                                  "i349"
                                                                  "i348"
                                                                  "i347"
-                                                                 "i346"
                                                                  "i345"
                                                                  "i344"
-                                                                 "i343"
-                                                                 "i341"
+                                                                 "i342"
                                                                  "i340"
                                                                  "i338"
                                                                  "i336"
                                                                  "i334"
                                                                  "i332"
                                                                  "i330"
+                                                                 "i329"
                                                                  "i328"
+                                                                 "i327"
                                                                  "i326"
                                                                  "i325"
-                                                                 "i324"
                                                                  "i323"
                                                                  "i322"
-                                                                 "i321"
-                                                                 "i319"
+                                                                 "i320"
                                                                  "i318"
                                                                  "i316"
                                                                  "i314"
                                                                  "i260"
                                                                  "i258"
                                                                  "i256"
-                                                                 "i254"
+                                                                 "i255"
                                                                  "i253"
                                                                  "i251"
+                                                                 "i250"
                                                                  "i249"
                                                                  "i248"
                                                                  "i247"
-                                                                 "i246"
                                                                  "i245"
                                                                  "i243"
                                                                  "i241"
-                                                                 "i239"
+                                                                 "i238"
                                                                  "i236"
                                                                  "i234"
                                                                  "i232"
                                                                  "i38")))
                                                              (hygiene guile)))
                                                          '(())
-                                                         #{s 1748}#
-                                                         #{mod 1750}#))
-                                                     #{tmp 1845}#)
+                                                         #{s 1763}#
+                                                         #{mod 1765}#))
+                                                     #{tmp 1860}#)
                                                    (syntax-violation
                                                      #f
                                                      "source expression failed to match any pattern"
-                                                     #{tmp 1814}#))))))))
-                                     (if (eqv? #{ftype 1782}# 'define-syntax)
-                                       (let ((#{tmp 1852}# #{e 1745}#))
-                                         (let ((#{tmp 1853}#
+                                                     #{tmp 1829}#))))))))
+                                     (if (memv #{ftype 1797}# '(define-syntax))
+                                       (let ((#{tmp 1867}# #{e 1760}#))
+                                         (let ((#{tmp 1868}#
                                                  ($sc-dispatch
-                                                   #{tmp 1852}#
+                                                   #{tmp 1867}#
                                                    '(_ any any))))
-                                           (if (if #{tmp 1853}#
+                                           (if (if #{tmp 1868}#
                                                  (@apply
-                                                   (lambda (#{name 1856}#
-                                                            #{val 1857}#)
-                                                     (#{id? 339}#
-                                                       #{name 1856}#))
-                                                   #{tmp 1853}#)
+                                                   (lambda (#{name 1871}#
+                                                            #{val 1872}#)
+                                                     (#{id? 343}#
+                                                       #{name 1871}#))
+                                                   #{tmp 1868}#)
                                                  #f)
                                              (@apply
-                                               (lambda (#{name 1860}#
-                                                        #{val 1861}#)
+                                               (lambda (#{name 1875}#
+                                                        #{val 1876}#)
                                                  (values
                                                    'define-syntax-form
-                                                   #{name 1860}#
-                                                   #{val 1861}#
-                                                   #{w 1747}#
-                                                   #{s 1748}#
-                                                   #{mod 1750}#))
-                                               #{tmp 1853}#)
+                                                   #{name 1875}#
+                                                   #{val 1876}#
+                                                   #{w 1762}#
+                                                   #{s 1763}#
+                                                   #{mod 1765}#))
+                                               #{tmp 1868}#)
                                              (syntax-violation
                                                #f
                                                "source expression failed to match any pattern"
-                                               #{tmp 1852}#))))
+                                               #{tmp 1867}#))))
                                        (values
                                          'call
                                          #f
-                                         #{e 1745}#
-                                         #{w 1747}#
-                                         #{s 1748}#
-                                         #{mod 1750}#)))))))))))))))
-           (if (#{syntax-object? 305}# #{e 1745}#)
-             (#{syntax-type 417}#
-               (#{syntax-object-expression 307}# #{e 1745}#)
-               #{r 1746}#
-               (#{join-wraps 387}#
-                 #{w 1747}#
-                 (#{syntax-object-wrap 309}# #{e 1745}#))
+                                         #{e 1760}#
+                                         #{w 1762}#
+                                         #{s 1763}#
+                                         #{mod 1765}#)))))))))))))))
+           (if (#{syntax-object? 309}# #{e 1760}#)
+             (#{syntax-type 421}#
+               (#{syntax-object-expression 311}# #{e 1760}#)
+               #{r 1761}#
+               (#{join-wraps 391}#
+                 #{w 1762}#
+                 (#{syntax-object-wrap 313}# #{e 1760}#))
                (begin
-                 (let ((#{t 1867}#
-                         (#{source-annotation 320}# #{e 1745}#)))
-                   (if #{t 1867}# #{t 1867}# #{s 1748}#)))
-               #{rib 1749}#
+                 (let ((#{t 1882}#
+                         (#{source-annotation 324}# #{e 1760}#)))
+                   (if #{t 1882}# #{t 1882}# #{s 1763}#)))
+               #{rib 1764}#
                (begin
-                 (let ((#{t 1871}#
-                         (#{syntax-object-module 311}# #{e 1745}#)))
-                   (if #{t 1871}# #{t 1871}# #{mod 1750}#)))
-               #{for-car? 1751}#)
-             (if (self-evaluating? #{e 1745}#)
+                 (let ((#{t 1886}#
+                         (#{syntax-object-module 315}# #{e 1760}#)))
+                   (if #{t 1886}# #{t 1886}# #{mod 1765}#)))
+               #{for-car? 1766}#)
+             (if (self-evaluating? #{e 1760}#)
                (values
                  'constant
                  #f
-                 #{e 1745}#
-                 #{w 1747}#
-                 #{s 1748}#
-                 #{mod 1750}#)
+                 #{e 1760}#
+                 #{w 1762}#
+                 #{s 1763}#
+                 #{mod 1765}#)
                (values
                  'other
                  #f
-                 #{e 1745}#
-                 #{w 1747}#
-                 #{s 1748}#
-                 #{mod 1750}#)))))))
-   (#{chi 419}#
-     (lambda (#{e 1876}# #{r 1877}# #{w 1878}# #{mod 1879}#)
+                 #{e 1760}#
+                 #{w 1762}#
+                 #{s 1763}#
+                 #{mod 1765}#)))))))
+   (#{chi 423}#
+     (lambda (#{e 1891}# #{r 1892}# #{w 1893}# #{mod 1894}#)
        (call-with-values
          (lambda ()
-           (#{syntax-type 417}#
-             #{e 1876}#
-             #{r 1877}#
-             #{w 1878}#
-             (#{source-annotation 320}# #{e 1876}#)
+           (#{syntax-type 421}#
+             #{e 1891}#
+             #{r 1892}#
+             #{w 1893}#
+             (#{source-annotation 324}# #{e 1891}#)
              #f
-             #{mod 1879}#
+             #{mod 1894}#
              #f))
-         (lambda (#{type 1884}#
-                  #{value 1885}#
-                  #{e 1886}#
-                  #{w 1887}#
-                  #{s 1888}#
-                  #{mod 1889}#)
-           (#{chi-expr 421}#
-             #{type 1884}#
-             #{value 1885}#
-             #{e 1886}#
-             #{r 1877}#
-             #{w 1887}#
-             #{s 1888}#
-             #{mod 1889}#)))))
-   (#{chi-expr 421}#
-     (lambda (#{type 1896}#
-              #{value 1897}#
-              #{e 1898}#
-              #{r 1899}#
-              #{w 1900}#
-              #{s 1901}#
-              #{mod 1902}#)
-       (if (eqv? #{type 1896}# 'lexical)
-         (#{build-lexical-reference 271}#
+         (lambda (#{type 1899}#
+                  #{value 1900}#
+                  #{e 1901}#
+                  #{w 1902}#
+                  #{s 1903}#
+                  #{mod 1904}#)
+           (#{chi-expr 425}#
+             #{type 1899}#
+             #{value 1900}#
+             #{e 1901}#
+             #{r 1892}#
+             #{w 1902}#
+             #{s 1903}#
+             #{mod 1904}#)))))
+   (#{chi-expr 425}#
+     (lambda (#{type 1911}#
+              #{value 1912}#
+              #{e 1913}#
+              #{r 1914}#
+              #{w 1915}#
+              #{s 1916}#
+              #{mod 1917}#)
+       (if (memv #{type 1911}# '(lexical))
+         (#{build-lexical-reference 273}#
            'value
-           #{s 1901}#
-           #{e 1898}#
-           #{value 1897}#)
-         (if (if (eqv? #{type 1896}# 'core)
-               #t
-               (eqv? #{type 1896}# 'core-form))
-           (#{value 1897}#
-             #{e 1898}#
-             #{r 1899}#
-             #{w 1900}#
-             #{s 1901}#
-             #{mod 1902}#)
-           (if (eqv? #{type 1896}# 'module-ref)
+           #{s 1916}#
+           #{e 1913}#
+           #{value 1912}#)
+         (if (memv #{type 1911}# '(core core-form))
+           (#{value 1912}#
+             #{e 1913}#
+             #{r 1914}#
+             #{w 1915}#
+             #{s 1916}#
+             #{mod 1917}#)
+           (if (memv #{type 1911}# '(module-ref))
              (call-with-values
                (lambda ()
-                 (#{value 1897}# #{e 1898}# #{r 1899}# #{w 1900}#))
-               (lambda (#{e 1913}#
-                        #{r 1914}#
-                        #{w 1915}#
-                        #{s 1916}#
-                        #{mod 1917}#)
-                 (#{chi 419}#
+                 (#{value 1912}# #{e 1913}# #{r 1914}# #{w 1915}#))
+               (lambda (#{e 1928}#
+                        #{r 1929}#
+                        #{w 1930}#
+                        #{s 1931}#
+                        #{mod 1932}#)
+                 (#{chi 423}#
+                   #{e 1928}#
+                   #{r 1929}#
+                   #{w 1930}#
+                   #{mod 1932}#)))
+             (if (memv #{type 1911}# '(lexical-call))
+               (#{chi-call 427}#
+                 (begin
+                   (let ((#{id 1940}# (car #{e 1913}#)))
+                     (#{build-lexical-reference 273}#
+                       'fun
+                       (#{source-annotation 324}# #{id 1940}#)
+                       (if (#{syntax-object? 309}# #{id 1940}#)
+                         (syntax->datum #{id 1940}#)
+                         #{id 1940}#)
+                       #{value 1912}#)))
+                 #{e 1913}#
+                 #{r 1914}#
+                 #{w 1915}#
+                 #{s 1916}#
+                 #{mod 1917}#)
+               (if (memv #{type 1911}# '(global-call))
+                 (#{chi-call 427}#
+                   (#{build-global-reference 279}#
+                     (#{source-annotation 324}# (car #{e 1913}#))
+                     (if (#{syntax-object? 309}# #{value 1912}#)
+                       (#{syntax-object-expression 311}# #{value 1912}#)
+                       #{value 1912}#)
+                     (if (#{syntax-object? 309}# #{value 1912}#)
+                       (#{syntax-object-module 315}# #{value 1912}#)
+                       #{mod 1917}#))
                    #{e 1913}#
                    #{r 1914}#
                    #{w 1915}#
-                   #{mod 1917}#)))
-             (if (eqv? #{type 1896}# 'lexical-call)
-               (#{chi-call 423}#
-                 (begin
-                   (let ((#{id 1925}# (car #{e 1898}#)))
-                     (#{build-lexical-reference 271}#
-                       'fun
-                       (#{source-annotation 320}# #{id 1925}#)
-                       (if (#{syntax-object? 305}# #{id 1925}#)
-                         (syntax->datum #{id 1925}#)
-                         #{id 1925}#)
-                       #{value 1897}#)))
-                 #{e 1898}#
-                 #{r 1899}#
-                 #{w 1900}#
-                 #{s 1901}#
-                 #{mod 1902}#)
-               (if (eqv? #{type 1896}# 'global-call)
-                 (#{chi-call 423}#
-                   (#{build-global-reference 277}#
-                     (#{source-annotation 320}# (car #{e 1898}#))
-                     (if (#{syntax-object? 305}# #{value 1897}#)
-                       (#{syntax-object-expression 307}# #{value 1897}#)
-                       #{value 1897}#)
-                     (if (#{syntax-object? 305}# #{value 1897}#)
-                       (#{syntax-object-module 311}# #{value 1897}#)
-                       #{mod 1902}#))
-                   #{e 1898}#
-                   #{r 1899}#
-                   #{w 1900}#
-                   #{s 1901}#
-                   #{mod 1902}#)
-                 (if (eqv? #{type 1896}# 'constant)
-                   (#{build-data 291}#
-                     #{s 1901}#
-                     (#{strip 445}#
-                       (#{source-wrap 407}#
-                         #{e 1898}#
-                         #{w 1900}#
-                         #{s 1901}#
-                         #{mod 1902}#)
+                   #{s 1916}#
+                   #{mod 1917}#)
+                 (if (memv #{type 1911}# '(constant))
+                   (#{build-data 295}#
+                     #{s 1916}#
+                     (#{strip 449}#
+                       (#{source-wrap 411}#
+                         #{e 1913}#
+                         #{w 1915}#
+                         #{s 1916}#
+                         #{mod 1917}#)
                        '(())))
-                   (if (eqv? #{type 1896}# 'global)
-                     (#{build-global-reference 277}#
-                       #{s 1901}#
-                       #{value 1897}#
-                       #{mod 1902}#)
-                     (if (eqv? #{type 1896}# 'call)
-                       (#{chi-call 423}#
-                         (#{chi 419}#
-                           (car #{e 1898}#)
-                           #{r 1899}#
-                           #{w 1900}#
-                           #{mod 1902}#)
-                         #{e 1898}#
-                         #{r 1899}#
-                         #{w 1900}#
-                         #{s 1901}#
-                         #{mod 1902}#)
-                       (if (eqv? #{type 1896}# 'begin-form)
-                         (let ((#{tmp 1932}# #{e 1898}#))
-                           (let ((#{tmp 1933}#
+                   (if (memv #{type 1911}# '(global))
+                     (#{build-global-reference 279}#
+                       #{s 1916}#
+                       #{value 1912}#
+                       #{mod 1917}#)
+                     (if (memv #{type 1911}# '(call))
+                       (#{chi-call 427}#
+                         (#{chi 423}#
+                           (car #{e 1913}#)
+                           #{r 1914}#
+                           #{w 1915}#
+                           #{mod 1917}#)
+                         #{e 1913}#
+                         #{r 1914}#
+                         #{w 1915}#
+                         #{s 1916}#
+                         #{mod 1917}#)
+                       (if (memv #{type 1911}# '(begin-form))
+                         (let ((#{tmp 1947}# #{e 1913}#))
+                           (let ((#{tmp 1948}#
                                    ($sc-dispatch
-                                     #{tmp 1932}#
+                                     #{tmp 1947}#
                                      '(_ any . each-any))))
-                             (if #{tmp 1933}#
+                             (if #{tmp 1948}#
                                (@apply
-                                 (lambda (#{e1 1936}# #{e2 1937}#)
-                                   (#{chi-sequence 409}#
-                                     (cons #{e1 1936}# #{e2 1937}#)
-                                     #{r 1899}#
-                                     #{w 1900}#
-                                     #{s 1901}#
-                                     #{mod 1902}#))
-                                 #{tmp 1933}#)
+                                 (lambda (#{e1 1951}# #{e2 1952}#)
+                                   (#{chi-sequence 413}#
+                                     (cons #{e1 1951}# #{e2 1952}#)
+                                     #{r 1914}#
+                                     #{w 1915}#
+                                     #{s 1916}#
+                                     #{mod 1917}#))
+                                 #{tmp 1948}#)
                                (syntax-violation
                                  #f
                                  "source expression failed to match any pattern"
-                                 #{tmp 1932}#))))
-                         (if (eqv? #{type 1896}# 'local-syntax-form)
-                           (#{chi-local-syntax 429}#
-                             #{value 1897}#
-                             #{e 1898}#
-                             #{r 1899}#
-                             #{w 1900}#
-                             #{s 1901}#
-                             #{mod 1902}#
-                             #{chi-sequence 409}#)
-                           (if (eqv? #{type 1896}# 'eval-when-form)
-                             (let ((#{tmp 1941}# #{e 1898}#))
-                               (let ((#{tmp 1942}#
+                                 #{tmp 1947}#))))
+                         (if (memv #{type 1911}# '(local-syntax-form))
+                           (#{chi-local-syntax 433}#
+                             #{value 1912}#
+                             #{e 1913}#
+                             #{r 1914}#
+                             #{w 1915}#
+                             #{s 1916}#
+                             #{mod 1917}#
+                             #{chi-sequence 413}#)
+                           (if (memv #{type 1911}# '(eval-when-form))
+                             (let ((#{tmp 1956}# #{e 1913}#))
+                               (let ((#{tmp 1957}#
                                        ($sc-dispatch
-                                         #{tmp 1941}#
+                                         #{tmp 1956}#
                                          '(_ each-any any . each-any))))
-                                 (if #{tmp 1942}#
+                                 (if #{tmp 1957}#
                                    (@apply
-                                     (lambda (#{x 1946}#
-                                              #{e1 1947}#
-                                              #{e2 1948}#)
+                                     (lambda (#{x 1961}#
+                                              #{e1 1962}#
+                                              #{e2 1963}#)
                                        (begin
-                                         (let ((#{when-list 1950}#
-                                                 (#{chi-when-list 415}#
-                                                   #{e 1898}#
-                                                   #{x 1946}#
-                                                   #{w 1900}#)))
-                                           (if (memq 'eval #{when-list 1950}#)
-                                             (#{chi-sequence 409}#
-                                               (cons #{e1 1947}# #{e2 1948}#)
-                                               #{r 1899}#
-                                               #{w 1900}#
-                                               #{s 1901}#
-                                               #{mod 1902}#)
-                                             (#{chi-void 433}#)))))
-                                     #{tmp 1942}#)
+                                         (let ((#{when-list 1965}#
+                                                 (#{chi-when-list 419}#
+                                                   #{e 1913}#
+                                                   #{x 1961}#
+                                                   #{w 1915}#)))
+                                           (if (memq 'eval #{when-list 1965}#)
+                                             (#{chi-sequence 413}#
+                                               (cons #{e1 1962}# #{e2 1963}#)
+                                               #{r 1914}#
+                                               #{w 1915}#
+                                               #{s 1916}#
+                                               #{mod 1917}#)
+                                             (#{chi-void 437}#)))))
+                                     #{tmp 1957}#)
                                    (syntax-violation
                                      #f
                                      "source expression failed to match any pattern"
-                                     #{tmp 1941}#))))
-                             (if (if (eqv? #{type 1896}# 'define-form)
-                                   #t
-                                   (eqv? #{type 1896}# 'define-syntax-form))
+                                     #{tmp 1956}#))))
+                             (if (memv #{type 1911}#
+                                       '(define-form define-syntax-form))
                                (syntax-violation
                                  #f
                                  "definition in expression context"
-                                 #{e 1898}#
-                                 (#{wrap 405}#
-                                   #{value 1897}#
-                                   #{w 1900}#
-                                   #{mod 1902}#))
-                               (if (eqv? #{type 1896}# 'syntax)
+                                 #{e 1913}#
+                                 (#{wrap 409}#
+                                   #{value 1912}#
+                                   #{w 1915}#
+                                   #{mod 1917}#))
+                               (if (memv #{type 1911}# '(syntax))
                                  (syntax-violation
                                    #f
                                    "reference to pattern variable outside syntax form"
-                                   (#{source-wrap 407}#
-                                     #{e 1898}#
-                                     #{w 1900}#
-                                     #{s 1901}#
-                                     #{mod 1902}#))
-                                 (if (eqv? #{type 1896}# 'displaced-lexical)
+                                   (#{source-wrap 411}#
+                                     #{e 1913}#
+                                     #{w 1915}#
+                                     #{s 1916}#
+                                     #{mod 1917}#))
+                                 (if (memv #{type 1911}# '(displaced-lexical))
                                    (syntax-violation
                                      #f
                                      "reference to identifier outside its scope"
-                                     (#{source-wrap 407}#
-                                       #{e 1898}#
-                                       #{w 1900}#
-                                       #{s 1901}#
-                                       #{mod 1902}#))
+                                     (#{source-wrap 411}#
+                                       #{e 1913}#
+                                       #{w 1915}#
+                                       #{s 1916}#
+                                       #{mod 1917}#))
                                    (syntax-violation
                                      #f
                                      "unexpected syntax"
-                                     (#{source-wrap 407}#
-                                       #{e 1898}#
-                                       #{w 1900}#
-                                       #{s 1901}#
-                                       #{mod 1902}#))))))))))))))))))
-   (#{chi-call 423}#
-     (lambda (#{x 1957}#
-              #{e 1958}#
-              #{r 1959}#
-              #{w 1960}#
-              #{s 1961}#
-              #{mod 1962}#)
-       (let ((#{tmp 1969}# #{e 1958}#))
-         (let ((#{tmp 1970}#
-                 ($sc-dispatch #{tmp 1969}# '(any . each-any))))
-           (if #{tmp 1970}#
+                                     (#{source-wrap 411}#
+                                       #{e 1913}#
+                                       #{w 1915}#
+                                       #{s 1916}#
+                                       #{mod 1917}#))))))))))))))))))
+   (#{chi-call 427}#
+     (lambda (#{x 1972}#
+              #{e 1973}#
+              #{r 1974}#
+              #{w 1975}#
+              #{s 1976}#
+              #{mod 1977}#)
+       (let ((#{tmp 1984}# #{e 1973}#))
+         (let ((#{tmp 1985}#
+                 ($sc-dispatch #{tmp 1984}# '(any . each-any))))
+           (if #{tmp 1985}#
              (@apply
-               (lambda (#{e0 1973}# #{e1 1974}#)
-                 (#{build-call 265}#
-                   #{s 1961}#
-                   #{x 1957}#
-                   (map (lambda (#{e 1975}#)
-                          (#{chi 419}#
-                            #{e 1975}#
-                            #{r 1959}#
-                            #{w 1960}#
-                            #{mod 1962}#))
-                        #{e1 1974}#)))
-               #{tmp 1970}#)
+               (lambda (#{e0 1988}# #{e1 1989}#)
+                 (#{build-call 267}#
+                   #{s 1976}#
+                   #{x 1972}#
+                   (map (lambda (#{e 1990}#)
+                          (#{chi 423}#
+                            #{e 1990}#
+                            #{r 1974}#
+                            #{w 1975}#
+                            #{mod 1977}#))
+                        #{e1 1989}#)))
+               #{tmp 1985}#)
              (syntax-violation
                #f
                "source expression failed to match any pattern"
-               #{tmp 1969}#))))))
-   (#{chi-macro 425}#
-     (lambda (#{p 1978}#
-              #{e 1979}#
-              #{r 1980}#
-              #{w 1981}#
-              #{s 1982}#
-              #{rib 1983}#
-              #{mod 1984}#)
+               #{tmp 1984}#))))))
+   (#{chi-macro 429}#
+     (lambda (#{p 1993}#
+              #{e 1994}#
+              #{r 1995}#
+              #{w 1996}#
+              #{s 1997}#
+              #{rib 1998}#
+              #{mod 1999}#)
        (letrec*
-         ((#{rebuild-macro-output 1993}#
-            (lambda (#{x 1994}# #{m 1995}#)
-              (if (pair? #{x 1994}#)
-                (#{decorate-source 259}#
-                  (cons (#{rebuild-macro-output 1993}#
-                          (car #{x 1994}#)
-                          #{m 1995}#)
-                        (#{rebuild-macro-output 1993}#
-                          (cdr #{x 1994}#)
-                          #{m 1995}#))
-                  #{s 1982}#)
-                (if (#{syntax-object? 305}# #{x 1994}#)
+         ((#{rebuild-macro-output 2008}#
+            (lambda (#{x 2009}# #{m 2010}#)
+              (if (pair? #{x 2009}#)
+                (#{decorate-source 261}#
+                  (cons (#{rebuild-macro-output 2008}#
+                          (car #{x 2009}#)
+                          #{m 2010}#)
+                        (#{rebuild-macro-output 2008}#
+                          (cdr #{x 2009}#)
+                          #{m 2010}#))
+                  #{s 1997}#)
+                (if (#{syntax-object? 309}# #{x 2009}#)
                   (begin
-                    (let ((#{w 2003}#
-                            (#{syntax-object-wrap 309}# #{x 1994}#)))
+                    (let ((#{w 2018}#
+                            (#{syntax-object-wrap 313}# #{x 2009}#)))
                       (begin
-                        (let ((#{ms 2006}# (car #{w 2003}#))
-                              (#{s 2007}# (cdr #{w 2003}#)))
-                          (if (if (pair? #{ms 2006}#)
-                                (eq? (car #{ms 2006}#) #f)
+                        (let ((#{ms 2021}# (car #{w 2018}#))
+                              (#{s 2022}# (cdr #{w 2018}#)))
+                          (if (if (pair? #{ms 2021}#)
+                                (eq? (car #{ms 2021}#) #f)
                                 #f)
-                            (#{make-syntax-object 303}#
-                              (#{syntax-object-expression 307}# #{x 1994}#)
-                              (cons (cdr #{ms 2006}#)
-                                    (if #{rib 1983}#
-                                      (cons #{rib 1983}# (cdr #{s 2007}#))
-                                      (cdr #{s 2007}#)))
-                              (#{syntax-object-module 311}# #{x 1994}#))
-                            (#{make-syntax-object 303}#
-                              (#{decorate-source 259}#
-                                (#{syntax-object-expression 307}# #{x 1994}#)
-                                #{s 2007}#)
-                              (cons (cons #{m 1995}# #{ms 2006}#)
-                                    (if #{rib 1983}#
-                                      (cons #{rib 1983}#
-                                            (cons 'shift #{s 2007}#))
-                                      (cons 'shift #{s 2007}#)))
-                              (#{syntax-object-module 311}# #{x 1994}#)))))))
-                  (if (vector? #{x 1994}#)
+                            (#{make-syntax-object 307}#
+                              (#{syntax-object-expression 311}# #{x 2009}#)
+                              (cons (cdr #{ms 2021}#)
+                                    (if #{rib 1998}#
+                                      (cons #{rib 1998}# (cdr #{s 2022}#))
+                                      (cdr #{s 2022}#)))
+                              (#{syntax-object-module 315}# #{x 2009}#))
+                            (#{make-syntax-object 307}#
+                              (#{decorate-source 261}#
+                                (#{syntax-object-expression 311}# #{x 2009}#)
+                                #{s 2022}#)
+                              (cons (cons #{m 2010}# #{ms 2021}#)
+                                    (if #{rib 1998}#
+                                      (cons #{rib 1998}#
+                                            (cons 'shift #{s 2022}#))
+                                      (cons 'shift #{s 2022}#)))
+                              (#{syntax-object-module 315}# #{x 2009}#)))))))
+                  (if (vector? #{x 2009}#)
                     (begin
-                      (let ((#{n 2019}# (vector-length #{x 1994}#)))
+                      (let ((#{n 2034}# (vector-length #{x 2009}#)))
                         (begin
-                          (let ((#{v 2021}#
-                                  (#{decorate-source 259}#
-                                    (make-vector #{n 2019}#)
-                                    #{x 1994}#)))
+                          (let ((#{v 2036}#
+                                  (#{decorate-source 261}#
+                                    (make-vector #{n 2034}#)
+                                    #{x 2009}#)))
                             (letrec*
-                              ((#{loop 2024}#
-                                 (lambda (#{i 2025}#)
-                                   (if (= #{i 2025}# #{n 2019}#)
-                                     (begin (if #f #f) #{v 2021}#)
+                              ((#{loop 2039}#
+                                 (lambda (#{i 2040}#)
+                                   (if (= #{i 2040}# #{n 2034}#)
+                                     (begin (if #f #f) #{v 2036}#)
                                      (begin
                                        (vector-set!
-                                         #{v 2021}#
-                                         #{i 2025}#
-                                         (#{rebuild-macro-output 1993}#
-                                           (vector-ref #{x 1994}# #{i 2025}#)
-                                           #{m 1995}#))
-                                       (#{loop 2024}# (#{1+}# #{i 2025}#)))))))
-                              (begin (#{loop 2024}# 0)))))))
-                    (if (symbol? #{x 1994}#)
+                                         #{v 2036}#
+                                         #{i 2040}#
+                                         (#{rebuild-macro-output 2008}#
+                                           (vector-ref #{x 2009}# #{i 2040}#)
+                                           #{m 2010}#))
+                                       (#{loop 2039}# (#{1+}# #{i 2040}#)))))))
+                              (begin (#{loop 2039}# 0)))))))
+                    (if (symbol? #{x 2009}#)
                       (syntax-violation
                         #f
                         "encountered raw symbol in macro output"
-                        (#{source-wrap 407}#
-                          #{e 1979}#
-                          #{w 1981}#
-                          (cdr #{w 1981}#)
-                          #{mod 1984}#)
-                        #{x 1994}#)
-                      (#{decorate-source 259}# #{x 1994}# #{s 1982}#))))))))
+                        (#{source-wrap 411}#
+                          #{e 1994}#
+                          #{w 1996}#
+                          (cdr #{w 1996}#)
+                          #{mod 1999}#)
+                        #{x 2009}#)
+                      (#{decorate-source 261}# #{x 2009}# #{s 1997}#))))))))
          (begin
-           (#{rebuild-macro-output 1993}#
-             (#{p 1978}#
-               (#{source-wrap 407}#
-                 #{e 1979}#
-                 (#{anti-mark 377}# #{w 1981}#)
-                 #{s 1982}#
-                 #{mod 1984}#))
+           (#{rebuild-macro-output 2008}#
+             (#{p 1993}#
+               (#{source-wrap 411}#
+                 #{e 1994}#
+                 (#{anti-mark 381}# #{w 1996}#)
+                 #{s 1997}#
+                 #{mod 1999}#))
              (gensym "m"))))))
-   (#{chi-body 427}#
-     (lambda (#{body 2035}#
-              #{outer-form 2036}#
-              #{r 2037}#
-              #{w 2038}#
-              #{mod 2039}#)
+   (#{chi-body 431}#
+     (lambda (#{body 2050}#
+              #{outer-form 2051}#
+              #{r 2052}#
+              #{w 2053}#
+              #{mod 2054}#)
        (begin
-         (let ((#{r 2047}#
-                 (cons '("placeholder" placeholder) #{r 2037}#)))
+         (let ((#{r 2062}#
+                 (cons '("placeholder" placeholder) #{r 2052}#)))
            (begin
-             (let ((#{ribcage 2049}#
-                     (#{make-ribcage 357}# '() '() '())))
+             (let ((#{ribcage 2064}#
+                     (#{make-ribcage 361}# '() '() '())))
                (begin
-                 (let ((#{w 2052}#
-                         (cons (car #{w 2038}#)
-                               (cons #{ribcage 2049}# (cdr #{w 2038}#)))))
+                 (let ((#{w 2067}#
+                         (cons (car #{w 2053}#)
+                               (cons #{ribcage 2064}# (cdr #{w 2053}#)))))
                    (letrec*
-                     ((#{parse 2064}#
-                        (lambda (#{body 2065}#
-                                 #{ids 2066}#
-                                 #{labels 2067}#
-                                 #{var-ids 2068}#
-                                 #{vars 2069}#
-                                 #{vals 2070}#
-                                 #{bindings 2071}#)
-                          (if (null? #{body 2065}#)
+                     ((#{parse 2079}#
+                        (lambda (#{body 2080}#
+                                 #{ids 2081}#
+                                 #{labels 2082}#
+                                 #{var-ids 2083}#
+                                 #{vars 2084}#
+                                 #{vals 2085}#
+                                 #{bindings 2086}#)
+                          (if (null? #{body 2080}#)
                             (syntax-violation
                               #f
                               "no expressions in body"
-                              #{outer-form 2036}#)
+                              #{outer-form 2051}#)
                             (begin
-                              (let ((#{e 2076}# (cdr (car #{body 2065}#)))
-                                    (#{er 2077}# (car (car #{body 2065}#))))
+                              (let ((#{e 2091}# (cdr (car #{body 2080}#)))
+                                    (#{er 2092}# (car (car #{body 2080}#))))
                                 (call-with-values
                                   (lambda ()
-                                    (#{syntax-type 417}#
-                                      #{e 2076}#
-                                      #{er 2077}#
+                                    (#{syntax-type 421}#
+                                      #{e 2091}#
+                                      #{er 2092}#
                                       '(())
-                                      (#{source-annotation 320}# #{er 2077}#)
-                                      #{ribcage 2049}#
-                                      #{mod 2039}#
+                                      (#{source-annotation 324}# #{er 2092}#)
+                                      #{ribcage 2064}#
+                                      #{mod 2054}#
                                       #f))
-                                  (lambda (#{type 2079}#
-                                           #{value 2080}#
-                                           #{e 2081}#
-                                           #{w 2082}#
-                                           #{s 2083}#
-                                           #{mod 2084}#)
-                                    (if (eqv? #{type 2079}# 'define-form)
+                                  (lambda (#{type 2094}#
+                                           #{value 2095}#
+                                           #{e 2096}#
+                                           #{w 2097}#
+                                           #{s 2098}#
+                                           #{mod 2099}#)
+                                    (if (memv #{type 2094}# '(define-form))
                                       (begin
-                                        (let ((#{id 2094}#
-                                                (#{wrap 405}#
-                                                  #{value 2080}#
-                                                  #{w 2082}#
-                                                  #{mod 2084}#))
-                                              (#{label 2095}#
-                                                (#{gen-label 352}#)))
+                                        (let ((#{id 2109}#
+                                                (#{wrap 409}#
+                                                  #{value 2095}#
+                                                  #{w 2097}#
+                                                  #{mod 2099}#))
+                                              (#{label 2110}#
+                                                (#{gen-label 356}#)))
                                           (begin
-                                            (let ((#{var 2097}#
-                                                    (#{gen-var 447}#
-                                                      #{id 2094}#)))
+                                            (let ((#{var 2112}#
+                                                    (#{gen-var 451}#
+                                                      #{id 2109}#)))
                                               (begin
-                                                (#{extend-ribcage! 381}#
-                                                  #{ribcage 2049}#
-                                                  #{id 2094}#
-                                                  #{label 2095}#)
-                                                (#{parse 2064}#
-                                                  (cdr #{body 2065}#)
-                                                  (cons #{id 2094}#
-                                                        #{ids 2066}#)
-                                                  (cons #{label 2095}#
-                                                        #{labels 2067}#)
-                                                  (cons #{id 2094}#
-                                                        #{var-ids 2068}#)
-                                                  (cons #{var 2097}#
-                                                        #{vars 2069}#)
-                                                  (cons (cons #{er 2077}#
-                                                              (#{wrap 405}#
-                                                                #{e 2081}#
-                                                                #{w 2082}#
-                                                                #{mod 2084}#))
-                                                        #{vals 2070}#)
+                                                (#{extend-ribcage! 385}#
+                                                  #{ribcage 2064}#
+                                                  #{id 2109}#
+                                                  #{label 2110}#)
+                                                (#{parse 2079}#
+                                                  (cdr #{body 2080}#)
+                                                  (cons #{id 2109}#
+                                                        #{ids 2081}#)
+                                                  (cons #{label 2110}#
+                                                        #{labels 2082}#)
+                                                  (cons #{id 2109}#
+                                                        #{var-ids 2083}#)
+                                                  (cons #{var 2112}#
+                                                        #{vars 2084}#)
+                                                  (cons (cons #{er 2092}#
+                                                              (#{wrap 409}#
+                                                                #{e 2096}#
+                                                                #{w 2097}#
+                                                                #{mod 2099}#))
+                                                        #{vals 2085}#)
                                                   (cons (cons 'lexical
-                                                              #{var 2097}#)
-                                                        #{bindings 2071}#)))))))
-                                      (if (eqv? #{type 2079}#
-                                                'define-syntax-form)
+                                                              #{var 2112}#)
+                                                        #{bindings 2086}#)))))))
+                                      (if (memv #{type 2094}#
+                                                '(define-syntax-form))
                                         (begin
-                                          (let ((#{id 2102}#
-                                                  (#{wrap 405}#
-                                                    #{value 2080}#
-                                                    #{w 2082}#
-                                                    #{mod 2084}#))
-                                                (#{label 2103}#
-                                                  (#{gen-label 352}#)))
+                                          (let ((#{id 2117}#
+                                                  (#{wrap 409}#
+                                                    #{value 2095}#
+                                                    #{w 2097}#
+                                                    #{mod 2099}#))
+                                                (#{label 2118}#
+                                                  (#{gen-label 356}#)))
                                             (begin
-                                              (#{extend-ribcage! 381}#
-                                                #{ribcage 2049}#
-                                                #{id 2102}#
-                                                #{label 2103}#)
-                                              (#{parse 2064}#
-                                                (cdr #{body 2065}#)
-                                                (cons #{id 2102}# #{ids 2066}#)
-                                                (cons #{label 2103}#
-                                                      #{labels 2067}#)
-                                                #{var-ids 2068}#
-                                                #{vars 2069}#
-                                                #{vals 2070}#
+                                              (#{extend-ribcage! 385}#
+                                                #{ribcage 2064}#
+                                                #{id 2117}#
+                                                #{label 2118}#)
+                                              (#{parse 2079}#
+                                                (cdr #{body 2080}#)
+                                                (cons #{id 2117}# #{ids 2081}#)
+                                                (cons #{label 2118}#
+                                                      #{labels 2082}#)
+                                                #{var-ids 2083}#
+                                                #{vars 2084}#
+                                                #{vals 2085}#
                                                 (cons (cons 'macro
-                                                            (cons #{er 2077}#
-                                                                  (#{wrap 405}#
-                                                                    #{e 2081}#
-                                                                    #{w 2082}#
-                                                                    #{mod 2084}#)))
-                                                      #{bindings 2071}#)))))
-                                        (if (eqv? #{type 2079}# 'begin-form)
-                                          (let ((#{tmp 2106}# #{e 2081}#))
-                                            (let ((#{tmp 2107}#
+                                                            (cons #{er 2092}#
+                                                                  (#{wrap 409}#
+                                                                    #{e 2096}#
+                                                                    #{w 2097}#
+                                                                    #{mod 2099}#)))
+                                                      #{bindings 2086}#)))))
+                                        (if (memv #{type 2094}# '(begin-form))
+                                          (let ((#{tmp 2121}# #{e 2096}#))
+                                            (let ((#{tmp 2122}#
                                                     ($sc-dispatch
-                                                      #{tmp 2106}#
+                                                      #{tmp 2121}#
                                                       '(_ . each-any))))
-                                              (if #{tmp 2107}#
+                                              (if #{tmp 2122}#
                                                 (@apply
-                                                  (lambda (#{e1 2109}#)
-                                                    (#{parse 2064}#
+                                                  (lambda (#{e1 2124}#)
+                                                    (#{parse 2079}#
                                                       (letrec*
-                                                        ((#{f 2112}#
-                                                           (lambda (#{forms 2113}#)
-                                                             (if (null? #{forms 2113}#)
-                                                               (cdr #{body 2065}#)
-                                                               (cons (cons #{er 2077}#
-                                                                           (#{wrap 405}#
-                                                                             (car #{forms 2113}#)
-                                                                             #{w 2082}#
-                                                                             #{mod 2084}#))
-                                                                     (#{f 2112}#
-                                                                       (cdr #{forms 2113}#)))))))
+                                                        ((#{f 2127}#
+                                                           (lambda (#{forms 2128}#)
+                                                             (if (null? #{forms 2128}#)
+                                                               (cdr #{body 2080}#)
+                                                               (cons (cons #{er 2092}#
+                                                                           (#{wrap 409}#
+                                                                             (car #{forms 2128}#)
+                                                                             #{w 2097}#
+                                                                             #{mod 2099}#))
+                                                                     (#{f 2127}#
+                                                                       (cdr #{forms 2128}#)))))))
                                                         (begin
-                                                          (#{f 2112}#
-                                                            #{e1 2109}#)))
-                                                      #{ids 2066}#
-                                                      #{labels 2067}#
-                                                      #{var-ids 2068}#
-                                                      #{vars 2069}#
-                                                      #{vals 2070}#
-                                                      #{bindings 2071}#))
-                                                  #{tmp 2107}#)
+                                                          (#{f 2127}#
+                                                            #{e1 2124}#)))
+                                                      #{ids 2081}#
+                                                      #{labels 2082}#
+                                                      #{var-ids 2083}#
+                                                      #{vars 2084}#
+                                                      #{vals 2085}#
+                                                      #{bindings 2086}#))
+                                                  #{tmp 2122}#)
                                                 (syntax-violation
                                                   #f
                                                   "source expression failed to match any pattern"
-                                                  #{tmp 2106}#))))
-                                          (if (eqv? #{type 2079}#
-                                                    'local-syntax-form)
-                                            (#{chi-local-syntax 429}#
-                                              #{value 2080}#
-                                              #{e 2081}#
-                                              #{er 2077}#
-                                              #{w 2082}#
-                                              #{s 2083}#
-                                              #{mod 2084}#
-                                              (lambda (#{forms 2116}#
-                                                       #{er 2117}#
-                                                       #{w 2118}#
-                                                       #{s 2119}#
-                                                       #{mod 2120}#)
-                                                (#{parse 2064}#
+                                                  #{tmp 2121}#))))
+                                          (if (memv #{type 2094}#
+                                                    '(local-syntax-form))
+                                            (#{chi-local-syntax 433}#
+                                              #{value 2095}#
+                                              #{e 2096}#
+                                              #{er 2092}#
+                                              #{w 2097}#
+                                              #{s 2098}#
+                                              #{mod 2099}#
+                                              (lambda (#{forms 2131}#
+                                                       #{er 2132}#
+                                                       #{w 2133}#
+                                                       #{s 2134}#
+                                                       #{mod 2135}#)
+                                                (#{parse 2079}#
                                                   (letrec*
-                                                    ((#{f 2128}#
-                                                       (lambda (#{forms 2129}#)
-                                                         (if (null? #{forms 2129}#)
-                                                           (cdr #{body 2065}#)
-                                                           (cons (cons #{er 2117}#
-                                                                       (#{wrap 405}#
-                                                                         (car #{forms 2129}#)
-                                                                         #{w 2118}#
-                                                                         #{mod 2120}#))
-                                                                 (#{f 2128}#
-                                                                   (cdr #{forms 2129}#)))))))
+                                                    ((#{f 2143}#
+                                                       (lambda (#{forms 2144}#)
+                                                         (if (null? #{forms 2144}#)
+                                                           (cdr #{body 2080}#)
+                                                           (cons (cons #{er 2132}#
+                                                                       (#{wrap 409}#
+                                                                         (car #{forms 2144}#)
+                                                                         #{w 2133}#
+                                                                         #{mod 2135}#))
+                                                                 (#{f 2143}#
+                                                                   (cdr #{forms 2144}#)))))))
                                                     (begin
-                                                      (#{f 2128}#
-                                                        #{forms 2116}#)))
-                                                  #{ids 2066}#
-                                                  #{labels 2067}#
-                                                  #{var-ids 2068}#
-                                                  #{vars 2069}#
-                                                  #{vals 2070}#
-                                                  #{bindings 2071}#)))
-                                            (if (null? #{ids 2066}#)
-                                              (#{build-sequence 293}#
+                                                      (#{f 2143}#
+                                                        #{forms 2131}#)))
+                                                  #{ids 2081}#
+                                                  #{labels 2082}#
+                                                  #{var-ids 2083}#
+                                                  #{vars 2084}#
+                                                  #{vals 2085}#
+                                                  #{bindings 2086}#)))
+                                            (if (null? #{ids 2081}#)
+                                              (#{build-sequence 297}#
                                                 #f
-                                                (map (lambda (#{x 2132}#)
-                                                       (#{chi 419}#
-                                                         (cdr #{x 2132}#)
-                                                         (car #{x 2132}#)
+                                                (map (lambda (#{x 2147}#)
+                                                       (#{chi 423}#
+                                                         (cdr #{x 2147}#)
+                                                         (car #{x 2147}#)
                                                          '(())
-                                                         #{mod 2084}#))
-                                                     (cons (cons #{er 2077}#
-                                                                 (#{source-wrap 407}#
-                                                                   #{e 2081}#
-                                                                   #{w 2082}#
-                                                                   #{s 2083}#
-                                                                   #{mod 2084}#))
-                                                           (cdr #{body 2065}#))))
+                                                         #{mod 2099}#))
+                                                     (cons (cons #{er 2092}#
+                                                                 (#{source-wrap 411}#
+                                                                   #{e 2096}#
+                                                                   #{w 2097}#
+                                                                   #{s 2098}#
+                                                                   #{mod 2099}#))
+                                                           (cdr #{body 2080}#))))
                                               (begin
-                                                (if (not (#{valid-bound-ids? 399}#
-                                                           #{ids 2066}#))
+                                                (if (not (#{valid-bound-ids? 403}#
+                                                           #{ids 2081}#))
                                                   (syntax-violation
                                                     #f
                                                     "invalid or duplicate identifier in definition"
-                                                    #{outer-form 2036}#))
+                                                    #{outer-form 2051}#))
                                                 (letrec*
-                                                  ((#{loop 2139}#
-                                                     (lambda (#{bs 2140}#
-                                                              #{er-cache 2141}#
-                                                              #{r-cache 2142}#)
-                                                       (if (not (null? #{bs 2140}#))
+                                                  ((#{loop 2154}#
+                                                     (lambda (#{bs 2155}#
+                                                              #{er-cache 2156}#
+                                                              #{r-cache 2157}#)
+                                                       (if (not (null? #{bs 2155}#))
                                                          (begin
-                                                           (let ((#{b 2145}#
-                                                                   (car #{bs 2140}#)))
-                                                             (if (eq? (car #{b 2145}#)
+                                                           (let ((#{b 2160}#
+                                                                   (car #{bs 2155}#)))
+                                                             (if (eq? (car #{b 2160}#)
                                                                       'macro)
                                                                (begin
-                                                                 (let ((#{er 2148}#
-                                                                         (car (cdr #{b 2145}#))))
+                                                                 (let ((#{er 2163}#
+                                                                         (car (cdr #{b 2160}#))))
                                                                    (begin
-                                                                     (let ((#{r-cache 2150}#
-                                                                             (if (eq? #{er 2148}#
-                                                                                      #{er-cache 2141}#)
-                                                                               #{r-cache 2142}#
-                                                                               (#{macros-only-env 331}#
-                                                                                 #{er 2148}#))))
+                                                                     (let ((#{r-cache 2165}#
+                                                                             (if (eq? #{er 2163}#
+                                                                                      #{er-cache 2156}#)
+                                                                               #{r-cache 2157}#
+                                                                               (#{macros-only-env 335}#
+                                                                                 #{er 2163}#))))
                                                                        (begin
                                                                          (set-cdr!
-                                                                           #{b 2145}#
-                                                                           (#{eval-local-transformer 431}#
-                                                                             (#{chi 419}#
-                                                                               (cdr (cdr #{b 2145}#))
-                                                                               #{r-cache 2150}#
+                                                                           #{b 2160}#
+                                                                           (#{eval-local-transformer 435}#
+                                                                             (#{chi 423}#
+                                                                               (cdr (cdr #{b 2160}#))
+                                                                               #{r-cache 2165}#
                                                                                '(())
-                                                                               #{mod 2084}#)
-                                                                             #{mod 2084}#))
-                                                                         (#{loop 2139}#
-                                                                           (cdr #{bs 2140}#)
-                                                                           #{er 2148}#
-                                                                           #{r-cache 2150}#))))))
-                                                               (#{loop 2139}#
-                                                                 (cdr #{bs 2140}#)
-                                                                 #{er-cache 2141}#
-                                                                 #{r-cache 2142}#))))))))
+                                                                               #{mod 2099}#)
+                                                                             #{mod 2099}#))
+                                                                         (#{loop 2154}#
+                                                                           (cdr #{bs 2155}#)
+                                                                           #{er 2163}#
+                                                                           #{r-cache 2165}#))))))
+                                                               (#{loop 2154}#
+                                                                 (cdr #{bs 2155}#)
+                                                                 #{er-cache 2156}#
+                                                                 #{r-cache 2157}#))))))))
                                                   (begin
-                                                    (#{loop 2139}#
-                                                      #{bindings 2071}#
+                                                    (#{loop 2154}#
+                                                      #{bindings 2086}#
                                                       #f
                                                       #f)))
                                                 (set-cdr!
-                                                  #{r 2047}#
-                                                  (#{extend-env 327}#
-                                                    #{labels 2067}#
-                                                    #{bindings 2071}#
-                                                    (cdr #{r 2047}#)))
-                                                (#{build-letrec 299}#
+                                                  #{r 2062}#
+                                                  (#{extend-env 331}#
+                                                    #{labels 2082}#
+                                                    #{bindings 2086}#
+                                                    (cdr #{r 2062}#)))
+                                                (#{build-letrec 303}#
                                                   #f
                                                   #t
                                                   (reverse
                                                     (map syntax->datum
-                                                         #{var-ids 2068}#))
-                                                  (reverse #{vars 2069}#)
-                                                  (map (lambda (#{x 2153}#)
-                                                         (#{chi 419}#
-                                                           (cdr #{x 2153}#)
-                                                           (car #{x 2153}#)
+                                                         #{var-ids 2083}#))
+                                                  (reverse #{vars 2084}#)
+                                                  (map (lambda (#{x 2168}#)
+                                                         (#{chi 423}#
+                                                           (cdr #{x 2168}#)
+                                                           (car #{x 2168}#)
                                                            '(())
-                                                           #{mod 2084}#))
-                                                       (reverse #{vals 2070}#))
-                                                  (#{build-sequence 293}#
+                                                           #{mod 2099}#))
+                                                       (reverse #{vals 2085}#))
+                                                  (#{build-sequence 297}#
                                                     #f
-                                                    (map (lambda (#{x 2157}#)
-                                                           (#{chi 419}#
-                                                             (cdr #{x 2157}#)
-                                                             (car #{x 2157}#)
+                                                    (map (lambda (#{x 2172}#)
+                                                           (#{chi 423}#
+                                                             (cdr #{x 2172}#)
+                                                             (car #{x 2172}#)
                                                              '(())
-                                                             #{mod 2084}#))
-                                                         (cons (cons #{er 2077}#
-                                                                     (#{source-wrap 407}#
-                                                                       #{e 2081}#
-                                                                       #{w 2082}#
-                                                                       #{s 2083}#
-                                                                       #{mod 2084}#))
-                                                               (cdr #{body 2065}#)))))))))))))))))))
+                                                             #{mod 2099}#))
+                                                         (cons (cons #{er 2092}#
+                                                                     (#{source-wrap 411}#
+                                                                       #{e 2096}#
+                                                                       #{w 2097}#
+                                                                       #{s 2098}#
+                                                                       #{mod 2099}#))
+                                                               (cdr #{body 2080}#)))))))))))))))))))
                      (begin
-                       (#{parse 2064}#
-                         (map (lambda (#{x 2072}#)
-                                (cons #{r 2047}#
-                                      (#{wrap 405}#
-                                        #{x 2072}#
-                                        #{w 2052}#
-                                        #{mod 2039}#)))
-                              #{body 2035}#)
+                       (#{parse 2079}#
+                         (map (lambda (#{x 2087}#)
+                                (cons #{r 2062}#
+                                      (#{wrap 409}#
+                                        #{x 2087}#
+                                        #{w 2067}#
+                                        #{mod 2054}#)))
+                              #{body 2050}#)
                          '()
                          '()
                          '()
                          '()
                          '()
                          '())))))))))))
-   (#{chi-local-syntax 429}#
-     (lambda (#{rec? 2160}#
-              #{e 2161}#
-              #{r 2162}#
-              #{w 2163}#
-              #{s 2164}#
-              #{mod 2165}#
-              #{k 2166}#)
-       (let ((#{tmp 2174}# #{e 2161}#))
-         (let ((#{tmp 2175}#
+   (#{chi-local-syntax 433}#
+     (lambda (#{rec? 2175}#
+              #{e 2176}#
+              #{r 2177}#
+              #{w 2178}#
+              #{s 2179}#
+              #{mod 2180}#
+              #{k 2181}#)
+       (let ((#{tmp 2189}# #{e 2176}#))
+         (let ((#{tmp 2190}#
                  ($sc-dispatch
-                   #{tmp 2174}#
+                   #{tmp 2189}#
                    '(_ #(each (any any)) any . each-any))))
-           (if #{tmp 2175}#
+           (if #{tmp 2190}#
              (@apply
-               (lambda (#{id 2180}#
-                        #{val 2181}#
-                        #{e1 2182}#
-                        #{e2 2183}#)
+               (lambda (#{id 2195}#
+                        #{val 2196}#
+                        #{e1 2197}#
+                        #{e2 2198}#)
                  (begin
-                   (let ((#{ids 2185}# #{id 2180}#))
-                     (if (not (#{valid-bound-ids? 399}# #{ids 2185}#))
+                   (let ((#{ids 2200}# #{id 2195}#))
+                     (if (not (#{valid-bound-ids? 403}# #{ids 2200}#))
                        (syntax-violation
                          #f
                          "duplicate bound keyword"
-                         #{e 2161}#)
+                         #{e 2176}#)
                        (begin
-                         (let ((#{labels 2188}#
-                                 (#{gen-labels 354}# #{ids 2185}#)))
+                         (let ((#{labels 2203}#
+                                 (#{gen-labels 358}# #{ids 2200}#)))
                            (begin
-                             (let ((#{new-w 2190}#
-                                     (#{make-binding-wrap 383}#
-                                       #{ids 2185}#
-                                       #{labels 2188}#
-                                       #{w 2163}#)))
-                               (#{k 2166}#
-                                 (cons #{e1 2182}# #{e2 2183}#)
-                                 (#{extend-env 327}#
-                                   #{labels 2188}#
+                             (let ((#{new-w 2205}#
+                                     (#{make-binding-wrap 387}#
+                                       #{ids 2200}#
+                                       #{labels 2203}#
+                                       #{w 2178}#)))
+                               (#{k 2181}#
+                                 (cons #{e1 2197}# #{e2 2198}#)
+                                 (#{extend-env 331}#
+                                   #{labels 2203}#
                                    (begin
-                                     (let ((#{w 2194}#
-                                             (if #{rec? 2160}#
-                                               #{new-w 2190}#
-                                               #{w 2163}#))
-                                           (#{trans-r 2195}#
-                                             (#{macros-only-env 331}#
-                                               #{r 2162}#)))
-                                       (map (lambda (#{x 2196}#)
+                                     (let ((#{w 2209}#
+                                             (if #{rec? 2175}#
+                                               #{new-w 2205}#
+                                               #{w 2178}#))
+                                           (#{trans-r 2210}#
+                                             (#{macros-only-env 335}#
+                                               #{r 2177}#)))
+                                       (map (lambda (#{x 2211}#)
                                               (cons 'macro
-                                                    (#{eval-local-transformer 431}#
-                                                      (#{chi 419}#
-                                                        #{x 2196}#
-                                                        #{trans-r 2195}#
-                                                        #{w 2194}#
-                                                        #{mod 2165}#)
-                                                      #{mod 2165}#)))
-                                            #{val 2181}#)))
-                                   #{r 2162}#)
-                                 #{new-w 2190}#
-                                 #{s 2164}#
-                                 #{mod 2165}#)))))))))
-               #{tmp 2175}#)
-             (let ((#{_ 2201}# #{tmp 2174}#))
+                                                    (#{eval-local-transformer 435}#
+                                                      (#{chi 423}#
+                                                        #{x 2211}#
+                                                        #{trans-r 2210}#
+                                                        #{w 2209}#
+                                                        #{mod 2180}#)
+                                                      #{mod 2180}#)))
+                                            #{val 2196}#)))
+                                   #{r 2177}#)
+                                 #{new-w 2205}#
+                                 #{s 2179}#
+                                 #{mod 2180}#)))))))))
+               #{tmp 2190}#)
+             (let ((#{_ 2216}# #{tmp 2189}#))
                (syntax-violation
                  #f
                  "bad local syntax definition"
-                 (#{source-wrap 407}#
-                   #{e 2161}#
-                   #{w 2163}#
-                   #{s 2164}#
-                   #{mod 2165}#))))))))
-   (#{eval-local-transformer 431}#
-     (lambda (#{expanded 2202}# #{mod 2203}#)
+                 (#{source-wrap 411}#
+                   #{e 2176}#
+                   #{w 2178}#
+                   #{s 2179}#
+                   #{mod 2180}#))))))))
+   (#{eval-local-transformer 435}#
+     (lambda (#{expanded 2217}# #{mod 2218}#)
        (begin
-         (let ((#{p 2207}#
-                 (#{local-eval-hook 252}#
-                   #{expanded 2202}#
-                   #{mod 2203}#)))
-           (if (procedure? #{p 2207}#)
-             #{p 2207}#
+         (let ((#{p 2222}#
+                 (#{local-eval-hook 254}#
+                   #{expanded 2217}#
+                   #{mod 2218}#)))
+           (if (procedure? #{p 2222}#)
+             #{p 2222}#
              (syntax-violation
                #f
                "nonprocedure transformer"
-               #{p 2207}#))))))
-   (#{chi-void 433}#
-     (lambda () (#{build-void 263}# #f)))
-   (#{ellipsis? 435}#
-     (lambda (#{x 2209}#)
-       (if (#{nonsymbol-id? 337}# #{x 2209}#)
-         (#{free-id=? 395}#
-           #{x 2209}#
+               #{p 2222}#))))))
+   (#{chi-void 437}#
+     (lambda () (#{build-void 265}# #f)))
+   (#{ellipsis? 439}#
+     (lambda (#{x 2224}#)
+       (if (#{nonsymbol-id? 341}# #{x 2224}#)
+         (#{free-id=? 399}#
+           #{x 2224}#
            '#(syntax-object
               ...
               ((top)
                #(ribcage () () ())
                #(ribcage () () ())
-               #(ribcage #(x) #((top)) #("i2210"))
+               #(ribcage #(x) #((top)) #("i2225"))
                #(ribcage
                  (lambda-var-list
                    gen-var
                    build-sequence
                    build-data
                    build-primref
+                   build-primcall
                    build-lambda-case
                    build-case-lambda
                    build-simple-lambda
                    make-lambda-case
                    make-lambda
                    make-sequence
+                   make-primcall
                    make-call
                    make-conditional
                    make-toplevel-define
                   (top)
                   (top)
                   (top)
+                  (top)
+                  (top)
                   (top))
-                 ("i448"
+                 ("i452"
+                  "i450"
+                  "i448"
                   "i446"
                   "i444"
                   "i442"
                   "i388"
                   "i386"
                   "i384"
+                  "i383"
                   "i382"
                   "i380"
                   "i379"
                   "i378"
+                  "i377"
                   "i376"
-                  "i375"
                   "i374"
-                  "i373"
                   "i372"
                   "i370"
                   "i368"
                   "i364"
                   "i362"
                   "i360"
-                  "i358"
-                  "i356"
+                  "i357"
+                  "i355"
+                  "i354"
                   "i353"
+                  "i352"
                   "i351"
                   "i350"
                   "i349"
                   "i348"
                   "i347"
-                  "i346"
                   "i345"
                   "i344"
-                  "i343"
-                  "i341"
+                  "i342"
                   "i340"
                   "i338"
                   "i336"
                   "i334"
                   "i332"
                   "i330"
+                  "i329"
                   "i328"
+                  "i327"
                   "i326"
                   "i325"
-                  "i324"
                   "i323"
                   "i322"
-                  "i321"
-                  "i319"
+                  "i320"
                   "i318"
                   "i316"
                   "i314"
                   "i260"
                   "i258"
                   "i256"
-                  "i254"
+                  "i255"
                   "i253"
                   "i251"
+                  "i250"
                   "i249"
                   "i248"
                   "i247"
-                  "i246"
                   "i245"
                   "i243"
                   "i241"
-                  "i239"
+                  "i238"
                   "i236"
                   "i234"
                   "i232"
                  ("i40" "i39" "i38")))
               (hygiene guile)))
          #f)))
-   (#{lambda-formals 437}#
-     (lambda (#{orig-args 2213}#)
+   (#{lambda-formals 441}#
+     (lambda (#{orig-args 2228}#)
        (letrec*
-         ((#{req 2216}#
-            (lambda (#{args 2219}# #{rreq 2220}#)
-              (let ((#{tmp 2223}# #{args 2219}#))
-                (let ((#{tmp 2224}# ($sc-dispatch #{tmp 2223}# '())))
-                  (if #{tmp 2224}#
+         ((#{req 2231}#
+            (lambda (#{args 2234}# #{rreq 2235}#)
+              (let ((#{tmp 2238}# #{args 2234}#))
+                (let ((#{tmp 2239}# ($sc-dispatch #{tmp 2238}# '())))
+                  (if #{tmp 2239}#
                     (@apply
                       (lambda ()
-                        (#{check 2218}# (reverse #{rreq 2220}#) #f))
-                      #{tmp 2224}#)
-                    (let ((#{tmp 2225}#
-                            ($sc-dispatch #{tmp 2223}# '(any . any))))
-                      (if (if #{tmp 2225}#
+                        (#{check 2233}# (reverse #{rreq 2235}#) #f))
+                      #{tmp 2239}#)
+                    (let ((#{tmp 2240}#
+                            ($sc-dispatch #{tmp 2238}# '(any . any))))
+                      (if (if #{tmp 2240}#
                             (@apply
-                              (lambda (#{a 2228}# #{b 2229}#)
-                                (#{id? 339}# #{a 2228}#))
-                              #{tmp 2225}#)
+                              (lambda (#{a 2243}# #{b 2244}#)
+                                (#{id? 343}# #{a 2243}#))
+                              #{tmp 2240}#)
                             #f)
                         (@apply
-                          (lambda (#{a 2232}# #{b 2233}#)
-                            (#{req 2216}#
-                              #{b 2233}#
-                              (cons #{a 2232}# #{rreq 2220}#)))
-                          #{tmp 2225}#)
-                        (let ((#{tmp 2234}# (list #{tmp 2223}#)))
-                          (if (if #{tmp 2234}#
+                          (lambda (#{a 2247}# #{b 2248}#)
+                            (#{req 2231}#
+                              #{b 2248}#
+                              (cons #{a 2247}# #{rreq 2235}#)))
+                          #{tmp 2240}#)
+                        (let ((#{tmp 2249}# (list #{tmp 2238}#)))
+                          (if (if #{tmp 2249}#
                                 (@apply
-                                  (lambda (#{r 2236}#)
-                                    (#{id? 339}# #{r 2236}#))
-                                  #{tmp 2234}#)
+                                  (lambda (#{r 2251}#)
+                                    (#{id? 343}# #{r 2251}#))
+                                  #{tmp 2249}#)
                                 #f)
                             (@apply
-                              (lambda (#{r 2238}#)
-                                (#{check 2218}#
-                                  (reverse #{rreq 2220}#)
-                                  #{r 2238}#))
-                              #{tmp 2234}#)
-                            (let ((#{else 2240}# #{tmp 2223}#))
+                              (lambda (#{r 2253}#)
+                                (#{check 2233}#
+                                  (reverse #{rreq 2235}#)
+                                  #{r 2253}#))
+                              #{tmp 2249}#)
+                            (let ((#{else 2255}# #{tmp 2238}#))
                               (syntax-violation
                                 'lambda
                                 "invalid argument list"
-                                #{orig-args 2213}#
-                                #{args 2219}#)))))))))))
-          (#{check 2218}#
-            (lambda (#{req 2241}# #{rest 2242}#)
-              (if (#{distinct-bound-ids? 401}#
-                    (if #{rest 2242}#
-                      (cons #{rest 2242}# #{req 2241}#)
-                      #{req 2241}#))
-                (values #{req 2241}# #f #{rest 2242}# #f)
+                                #{orig-args 2228}#
+                                #{args 2234}#)))))))))))
+          (#{check 2233}#
+            (lambda (#{req 2256}# #{rest 2257}#)
+              (if (#{distinct-bound-ids? 405}#
+                    (if #{rest 2257}#
+                      (cons #{rest 2257}# #{req 2256}#)
+                      #{req 2256}#))
+                (values #{req 2256}# #f #{rest 2257}# #f)
                 (syntax-violation
                   'lambda
                   "duplicate identifier in argument list"
-                  #{orig-args 2213}#)))))
-         (begin (#{req 2216}# #{orig-args 2213}# '())))))
-   (#{chi-simple-lambda 439}#
-     (lambda (#{e 2248}#
-              #{r 2249}#
-              #{w 2250}#
-              #{s 2251}#
-              #{mod 2252}#
-              #{req 2253}#
-              #{rest 2254}#
-              #{meta 2255}#
-              #{body 2256}#)
+                  #{orig-args 2228}#)))))
+         (begin (#{req 2231}# #{orig-args 2228}# '())))))
+   (#{chi-simple-lambda 443}#
+     (lambda (#{e 2263}#
+              #{r 2264}#
+              #{w 2265}#
+              #{s 2266}#
+              #{mod 2267}#
+              #{req 2268}#
+              #{rest 2269}#
+              #{meta 2270}#
+              #{body 2271}#)
        (begin
-         (let ((#{ids 2268}#
-                 (if #{rest 2254}#
-                   (append #{req 2253}# (list #{rest 2254}#))
-                   #{req 2253}#)))
+         (let ((#{ids 2283}#
+                 (if #{rest 2269}#
+                   (append #{req 2268}# (list #{rest 2269}#))
+                   #{req 2268}#)))
            (begin
-             (let ((#{vars 2270}#
-                     (map #{gen-var 447}# #{ids 2268}#)))
+             (let ((#{vars 2285}#
+                     (map #{gen-var 451}# #{ids 2283}#)))
                (begin
-                 (let ((#{labels 2272}#
-                         (#{gen-labels 354}# #{ids 2268}#)))
-                   (#{build-simple-lambda 283}#
-                     #{s 2251}#
-                     (map syntax->datum #{req 2253}#)
-                     (if #{rest 2254}#
-                       (syntax->datum #{rest 2254}#)
+                 (let ((#{labels 2287}#
+                         (#{gen-labels 358}# #{ids 2283}#)))
+                   (#{build-simple-lambda 285}#
+                     #{s 2266}#
+                     (map syntax->datum #{req 2268}#)
+                     (if #{rest 2269}#
+                       (syntax->datum #{rest 2269}#)
                        #f)
-                     #{vars 2270}#
-                     #{meta 2255}#
-                     (#{chi-body 427}#
-                       #{body 2256}#
-                       (#{source-wrap 407}#
-                         #{e 2248}#
-                         #{w 2250}#
-                         #{s 2251}#
-                         #{mod 2252}#)
-                       (#{extend-var-env 329}#
-                         #{labels 2272}#
-                         #{vars 2270}#
-                         #{r 2249}#)
-                       (#{make-binding-wrap 383}#
-                         #{ids 2268}#
-                         #{labels 2272}#
-                         #{w 2250}#)
-                       #{mod 2252}#))))))))))
-   (#{lambda*-formals 441}#
-     (lambda (#{orig-args 2275}#)
+                     #{vars 2285}#
+                     #{meta 2270}#
+                     (#{chi-body 431}#
+                       #{body 2271}#
+                       (#{source-wrap 411}#
+                         #{e 2263}#
+                         #{w 2265}#
+                         #{s 2266}#
+                         #{mod 2267}#)
+                       (#{extend-var-env 333}#
+                         #{labels 2287}#
+                         #{vars 2285}#
+                         #{r 2264}#)
+                       (#{make-binding-wrap 387}#
+                         #{ids 2283}#
+                         #{labels 2287}#
+                         #{w 2265}#)
+                       #{mod 2267}#))))))))))
+   (#{lambda*-formals 445}#
+     (lambda (#{orig-args 2290}#)
        (letrec*
-         ((#{req 2278}#
-            (lambda (#{args 2287}# #{rreq 2288}#)
-              (let ((#{tmp 2291}# #{args 2287}#))
-                (let ((#{tmp 2292}# ($sc-dispatch #{tmp 2291}# '())))
-                  (if #{tmp 2292}#
+         ((#{req 2293}#
+            (lambda (#{args 2302}# #{rreq 2303}#)
+              (let ((#{tmp 2306}# #{args 2302}#))
+                (let ((#{tmp 2307}# ($sc-dispatch #{tmp 2306}# '())))
+                  (if #{tmp 2307}#
                     (@apply
                       (lambda ()
-                        (#{check 2286}#
-                          (reverse #{rreq 2288}#)
+                        (#{check 2301}#
+                          (reverse #{rreq 2303}#)
                           '()
                           #f
                           '()))
-                      #{tmp 2292}#)
-                    (let ((#{tmp 2293}#
-                            ($sc-dispatch #{tmp 2291}# '(any . any))))
-                      (if (if #{tmp 2293}#
+                      #{tmp 2307}#)
+                    (let ((#{tmp 2308}#
+                            ($sc-dispatch #{tmp 2306}# '(any . any))))
+                      (if (if #{tmp 2308}#
                             (@apply
-                              (lambda (#{a 2296}# #{b 2297}#)
-                                (#{id? 339}# #{a 2296}#))
-                              #{tmp 2293}#)
+                              (lambda (#{a 2311}# #{b 2312}#)
+                                (#{id? 343}# #{a 2311}#))
+                              #{tmp 2308}#)
                             #f)
                         (@apply
-                          (lambda (#{a 2300}# #{b 2301}#)
-                            (#{req 2278}#
-                              #{b 2301}#
-                              (cons #{a 2300}# #{rreq 2288}#)))
-                          #{tmp 2293}#)
-                        (let ((#{tmp 2302}#
-                                ($sc-dispatch #{tmp 2291}# '(any . any))))
-                          (if (if #{tmp 2302}#
+                          (lambda (#{a 2315}# #{b 2316}#)
+                            (#{req 2293}#
+                              #{b 2316}#
+                              (cons #{a 2315}# #{rreq 2303}#)))
+                          #{tmp 2308}#)
+                        (let ((#{tmp 2317}#
+                                ($sc-dispatch #{tmp 2306}# '(any . any))))
+                          (if (if #{tmp 2317}#
                                 (@apply
-                                  (lambda (#{a 2305}# #{b 2306}#)
-                                    (eq? (syntax->datum #{a 2305}#)
+                                  (lambda (#{a 2320}# #{b 2321}#)
+                                    (eq? (syntax->datum #{a 2320}#)
                                          #:optional))
-                                  #{tmp 2302}#)
+                                  #{tmp 2317}#)
                                 #f)
                             (@apply
-                              (lambda (#{a 2309}# #{b 2310}#)
-                                (#{opt 2280}#
-                                  #{b 2310}#
-                                  (reverse #{rreq 2288}#)
+                              (lambda (#{a 2324}# #{b 2325}#)
+                                (#{opt 2295}#
+                                  #{b 2325}#
+                                  (reverse #{rreq 2303}#)
                                   '()))
-                              #{tmp 2302}#)
-                            (let ((#{tmp 2311}#
-                                    ($sc-dispatch #{tmp 2291}# '(any . any))))
-                              (if (if #{tmp 2311}#
+                              #{tmp 2317}#)
+                            (let ((#{tmp 2326}#
+                                    ($sc-dispatch #{tmp 2306}# '(any . any))))
+                              (if (if #{tmp 2326}#
                                     (@apply
-                                      (lambda (#{a 2314}# #{b 2315}#)
-                                        (eq? (syntax->datum #{a 2314}#) #:key))
-                                      #{tmp 2311}#)
+                                      (lambda (#{a 2329}# #{b 2330}#)
+                                        (eq? (syntax->datum #{a 2329}#) #:key))
+                                      #{tmp 2326}#)
                                     #f)
                                 (@apply
-                                  (lambda (#{a 2318}# #{b 2319}#)
-                                    (#{key 2282}#
-                                      #{b 2319}#
-                                      (reverse #{rreq 2288}#)
+                                  (lambda (#{a 2333}# #{b 2334}#)
+                                    (#{key 2297}#
+                                      #{b 2334}#
+                                      (reverse #{rreq 2303}#)
                                       '()
                                       '()))
-                                  #{tmp 2311}#)
-                                (let ((#{tmp 2320}#
+                                  #{tmp 2326}#)
+                                (let ((#{tmp 2335}#
                                         ($sc-dispatch
-                                          #{tmp 2291}#
+                                          #{tmp 2306}#
                                           '(any any))))
-                                  (if (if #{tmp 2320}#
+                                  (if (if #{tmp 2335}#
                                         (@apply
-                                          (lambda (#{a 2323}# #{b 2324}#)
-                                            (eq? (syntax->datum #{a 2323}#)
+                                          (lambda (#{a 2338}# #{b 2339}#)
+                                            (eq? (syntax->datum #{a 2338}#)
                                                  #:rest))
-                                          #{tmp 2320}#)
+                                          #{tmp 2335}#)
                                         #f)
                                     (@apply
-                                      (lambda (#{a 2327}# #{b 2328}#)
-                                        (#{rest 2284}#
-                                          #{b 2328}#
-                                          (reverse #{rreq 2288}#)
+                                      (lambda (#{a 2342}# #{b 2343}#)
+                                        (#{rest 2299}#
+                                          #{b 2343}#
+                                          (reverse #{rreq 2303}#)
                                           '()
                                           '()))
-                                      #{tmp 2320}#)
-                                    (let ((#{tmp 2329}# (list #{tmp 2291}#)))
-                                      (if (if #{tmp 2329}#
+                                      #{tmp 2335}#)
+                                    (let ((#{tmp 2344}# (list #{tmp 2306}#)))
+                                      (if (if #{tmp 2344}#
                                             (@apply
-                                              (lambda (#{r 2331}#)
-                                                (#{id? 339}# #{r 2331}#))
-                                              #{tmp 2329}#)
+                                              (lambda (#{r 2346}#)
+                                                (#{id? 343}# #{r 2346}#))
+                                              #{tmp 2344}#)
                                             #f)
                                         (@apply
-                                          (lambda (#{r 2333}#)
-                                            (#{rest 2284}#
-                                              #{r 2333}#
-                                              (reverse #{rreq 2288}#)
+                                          (lambda (#{r 2348}#)
+                                            (#{rest 2299}#
+                                              #{r 2348}#
+                                              (reverse #{rreq 2303}#)
                                               '()
                                               '()))
-                                          #{tmp 2329}#)
-                                        (let ((#{else 2335}# #{tmp 2291}#))
+                                          #{tmp 2344}#)
+                                        (let ((#{else 2350}# #{tmp 2306}#))
                                           (syntax-violation
                                             'lambda*
                                             "invalid argument list"
-                                            #{orig-args 2275}#
-                                            #{args 2287}#)))))))))))))))))
-          (#{opt 2280}#
-            (lambda (#{args 2336}# #{req 2337}# #{ropt 2338}#)
-              (let ((#{tmp 2342}# #{args 2336}#))
-                (let ((#{tmp 2343}# ($sc-dispatch #{tmp 2342}# '())))
-                  (if #{tmp 2343}#
+                                            #{orig-args 2290}#
+                                            #{args 2302}#)))))))))))))))))
+          (#{opt 2295}#
+            (lambda (#{args 2351}# #{req 2352}# #{ropt 2353}#)
+              (let ((#{tmp 2357}# #{args 2351}#))
+                (let ((#{tmp 2358}# ($sc-dispatch #{tmp 2357}# '())))
+                  (if #{tmp 2358}#
                     (@apply
                       (lambda ()
-                        (#{check 2286}#
-                          #{req 2337}#
-                          (reverse #{ropt 2338}#)
+                        (#{check 2301}#
+                          #{req 2352}#
+                          (reverse #{ropt 2353}#)
                           #f
                           '()))
-                      #{tmp 2343}#)
-                    (let ((#{tmp 2344}#
-                            ($sc-dispatch #{tmp 2342}# '(any . any))))
-                      (if (if #{tmp 2344}#
+                      #{tmp 2358}#)
+                    (let ((#{tmp 2359}#
+                            ($sc-dispatch #{tmp 2357}# '(any . any))))
+                      (if (if #{tmp 2359}#
                             (@apply
-                              (lambda (#{a 2347}# #{b 2348}#)
-                                (#{id? 339}# #{a 2347}#))
-                              #{tmp 2344}#)
+                              (lambda (#{a 2362}# #{b 2363}#)
+                                (#{id? 343}# #{a 2362}#))
+                              #{tmp 2359}#)
                             #f)
                         (@apply
-                          (lambda (#{a 2351}# #{b 2352}#)
-                            (#{opt 2280}#
-                              #{b 2352}#
-                              #{req 2337}#
-                              (cons (cons #{a 2351}#
+                          (lambda (#{a 2366}# #{b 2367}#)
+                            (#{opt 2295}#
+                              #{b 2367}#
+                              #{req 2352}#
+                              (cons (cons #{a 2366}#
                                           '(#(syntax-object
                                               #f
                                               ((top)
                                                #(ribcage
                                                  #(a b)
                                                  #((top) (top))
-                                                 #("i2349" "i2350"))
+                                                 #("i2364" "i2365"))
                                                #(ribcage () () ())
                                                #(ribcage
                                                  #(args req ropt)
                                                  #((top) (top) (top))
-                                                 #("i2339" "i2340" "i2341"))
+                                                 #("i2354" "i2355" "i2356"))
                                                #(ribcage
                                                  (check rest key opt req)
                                                  ((top)
                                                   (top)
                                                   (top)
                                                   (top))
-                                                 ("i2285"
-                                                  "i2283"
-                                                  "i2281"
-                                                  "i2279"
-                                                  "i2277"))
+                                                 ("i2300"
+                                                  "i2298"
+                                                  "i2296"
+                                                  "i2294"
+                                                  "i2292"))
                                                #(ribcage
                                                  #(orig-args)
                                                  #((top))
-                                                 #("i2276"))
+                                                 #("i2291"))
                                                #(ribcage
                                                  (lambda-var-list
                                                    gen-var
                                                    build-sequence
                                                    build-data
                                                    build-primref
+                                                   build-primcall
                                                    build-lambda-case
                                                    build-case-lambda
                                                    build-simple-lambda
                                                    make-lambda-case
                                                    make-lambda
                                                    make-sequence
+                                                   make-primcall
                                                    make-call
                                                    make-conditional
                                                    make-toplevel-define
                                                   (top)
                                                   (top)
                                                   (top)
+                                                  (top)
+                                                  (top)
                                                   (top))
-                                                 ("i448"
+                                                 ("i452"
+                                                  "i450"
+                                                  "i448"
                                                   "i446"
                                                   "i444"
                                                   "i442"
                                                   "i388"
                                                   "i386"
                                                   "i384"
+                                                  "i383"
                                                   "i382"
                                                   "i380"
                                                   "i379"
                                                   "i378"
+                                                  "i377"
                                                   "i376"
-                                                  "i375"
                                                   "i374"
-                                                  "i373"
                                                   "i372"
                                                   "i370"
                                                   "i368"
                                                   "i364"
                                                   "i362"
                                                   "i360"
-                                                  "i358"
-                                                  "i356"
+                                                  "i357"
+                                                  "i355"
+                                                  "i354"
                                                   "i353"
+                                                  "i352"
                                                   "i351"
                                                   "i350"
                                                   "i349"
                                                   "i348"
                                                   "i347"
-                                                  "i346"
                                                   "i345"
                                                   "i344"
-                                                  "i343"
-                                                  "i341"
+                                                  "i342"
                                                   "i340"
                                                   "i338"
                                                   "i336"
                                                   "i334"
                                                   "i332"
                                                   "i330"
+                                                  "i329"
                                                   "i328"
+                                                  "i327"
                                                   "i326"
                                                   "i325"
-                                                  "i324"
                                                   "i323"
                                                   "i322"
-                                                  "i321"
-                                                  "i319"
+                                                  "i320"
                                                   "i318"
                                                   "i316"
                                                   "i314"
                                                   "i260"
                                                   "i258"
                                                   "i256"
-                                                  "i254"
+                                                  "i255"
                                                   "i253"
                                                   "i251"
+                                                  "i250"
                                                   "i249"
                                                   "i248"
                                                   "i247"
-                                                  "i246"
                                                   "i245"
                                                   "i243"
                                                   "i241"
-                                                  "i239"
+                                                  "i238"
                                                   "i236"
                                                   "i234"
                                                   "i232"
                                                  ((top) (top) (top))
                                                  ("i40" "i39" "i38")))
                                               (hygiene guile))))
-                                    #{ropt 2338}#)))
-                          #{tmp 2344}#)
-                        (let ((#{tmp 2353}#
+                                    #{ropt 2353}#)))
+                          #{tmp 2359}#)
+                        (let ((#{tmp 2368}#
                                 ($sc-dispatch
-                                  #{tmp 2342}#
+                                  #{tmp 2357}#
                                   '((any any) . any))))
-                          (if (if #{tmp 2353}#
+                          (if (if #{tmp 2368}#
                                 (@apply
-                                  (lambda (#{a 2357}# #{init 2358}# #{b 2359}#)
-                                    (#{id? 339}# #{a 2357}#))
-                                  #{tmp 2353}#)
+                                  (lambda (#{a 2372}# #{init 2373}# #{b 2374}#)
+                                    (#{id? 343}# #{a 2372}#))
+                                  #{tmp 2368}#)
                                 #f)
                             (@apply
-                              (lambda (#{a 2363}# #{init 2364}# #{b 2365}#)
-                                (#{opt 2280}#
-                                  #{b 2365}#
-                                  #{req 2337}#
-                                  (cons (list #{a 2363}# #{init 2364}#)
-                                        #{ropt 2338}#)))
-                              #{tmp 2353}#)
-                            (let ((#{tmp 2366}#
-                                    ($sc-dispatch #{tmp 2342}# '(any . any))))
-                              (if (if #{tmp 2366}#
+                              (lambda (#{a 2378}# #{init 2379}# #{b 2380}#)
+                                (#{opt 2295}#
+                                  #{b 2380}#
+                                  #{req 2352}#
+                                  (cons (list #{a 2378}# #{init 2379}#)
+                                        #{ropt 2353}#)))
+                              #{tmp 2368}#)
+                            (let ((#{tmp 2381}#
+                                    ($sc-dispatch #{tmp 2357}# '(any . any))))
+                              (if (if #{tmp 2381}#
                                     (@apply
-                                      (lambda (#{a 2369}# #{b 2370}#)
-                                        (eq? (syntax->datum #{a 2369}#) #:key))
-                                      #{tmp 2366}#)
+                                      (lambda (#{a 2384}# #{b 2385}#)
+                                        (eq? (syntax->datum #{a 2384}#) #:key))
+                                      #{tmp 2381}#)
                                     #f)
                                 (@apply
-                                  (lambda (#{a 2373}# #{b 2374}#)
-                                    (#{key 2282}#
-                                      #{b 2374}#
-                                      #{req 2337}#
-                                      (reverse #{ropt 2338}#)
+                                  (lambda (#{a 2388}# #{b 2389}#)
+                                    (#{key 2297}#
+                                      #{b 2389}#
+                                      #{req 2352}#
+                                      (reverse #{ropt 2353}#)
                                       '()))
-                                  #{tmp 2366}#)
-                                (let ((#{tmp 2375}#
+                                  #{tmp 2381}#)
+                                (let ((#{tmp 2390}#
                                         ($sc-dispatch
-                                          #{tmp 2342}#
+                                          #{tmp 2357}#
                                           '(any any))))
-                                  (if (if #{tmp 2375}#
+                                  (if (if #{tmp 2390}#
                                         (@apply
-                                          (lambda (#{a 2378}# #{b 2379}#)
-                                            (eq? (syntax->datum #{a 2378}#)
+                                          (lambda (#{a 2393}# #{b 2394}#)
+                                            (eq? (syntax->datum #{a 2393}#)
                                                  #:rest))
-                                          #{tmp 2375}#)
+                                          #{tmp 2390}#)
                                         #f)
                                     (@apply
-                                      (lambda (#{a 2382}# #{b 2383}#)
-                                        (#{rest 2284}#
-                                          #{b 2383}#
-                                          #{req 2337}#
-                                          (reverse #{ropt 2338}#)
+                                      (lambda (#{a 2397}# #{b 2398}#)
+                                        (#{rest 2299}#
+                                          #{b 2398}#
+                                          #{req 2352}#
+                                          (reverse #{ropt 2353}#)
                                           '()))
-                                      #{tmp 2375}#)
-                                    (let ((#{tmp 2384}# (list #{tmp 2342}#)))
-                                      (if (if #{tmp 2384}#
+                                      #{tmp 2390}#)
+                                    (let ((#{tmp 2399}# (list #{tmp 2357}#)))
+                                      (if (if #{tmp 2399}#
                                             (@apply
-                                              (lambda (#{r 2386}#)
-                                                (#{id? 339}# #{r 2386}#))
-                                              #{tmp 2384}#)
+                                              (lambda (#{r 2401}#)
+                                                (#{id? 343}# #{r 2401}#))
+                                              #{tmp 2399}#)
                                             #f)
                                         (@apply
-                                          (lambda (#{r 2388}#)
-                                            (#{rest 2284}#
-                                              #{r 2388}#
-                                              #{req 2337}#
-                                              (reverse #{ropt 2338}#)
+                                          (lambda (#{r 2403}#)
+                                            (#{rest 2299}#
+                                              #{r 2403}#
+                                              #{req 2352}#
+                                              (reverse #{ropt 2353}#)
                                               '()))
-                                          #{tmp 2384}#)
-                                        (let ((#{else 2390}# #{tmp 2342}#))
+                                          #{tmp 2399}#)
+                                        (let ((#{else 2405}# #{tmp 2357}#))
                                           (syntax-violation
                                             'lambda*
                                             "invalid optional argument list"
-                                            #{orig-args 2275}#
-                                            #{args 2336}#)))))))))))))))))
-          (#{key 2282}#
-            (lambda (#{args 2391}#
-                     #{req 2392}#
-                     #{opt 2393}#
-                     #{rkey 2394}#)
-              (let ((#{tmp 2399}# #{args 2391}#))
-                (let ((#{tmp 2400}# ($sc-dispatch #{tmp 2399}# '())))
-                  (if #{tmp 2400}#
+                                            #{orig-args 2290}#
+                                            #{args 2351}#)))))))))))))))))
+          (#{key 2297}#
+            (lambda (#{args 2406}#
+                     #{req 2407}#
+                     #{opt 2408}#
+                     #{rkey 2409}#)
+              (let ((#{tmp 2414}# #{args 2406}#))
+                (let ((#{tmp 2415}# ($sc-dispatch #{tmp 2414}# '())))
+                  (if #{tmp 2415}#
                     (@apply
                       (lambda ()
-                        (#{check 2286}#
-                          #{req 2392}#
-                          #{opt 2393}#
+                        (#{check 2301}#
+                          #{req 2407}#
+                          #{opt 2408}#
                           #f
-                          (cons #f (reverse #{rkey 2394}#))))
-                      #{tmp 2400}#)
-                    (let ((#{tmp 2401}#
-                            ($sc-dispatch #{tmp 2399}# '(any . any))))
-                      (if (if #{tmp 2401}#
+                          (cons #f (reverse #{rkey 2409}#))))
+                      #{tmp 2415}#)
+                    (let ((#{tmp 2416}#
+                            ($sc-dispatch #{tmp 2414}# '(any . any))))
+                      (if (if #{tmp 2416}#
                             (@apply
-                              (lambda (#{a 2404}# #{b 2405}#)
-                                (#{id? 339}# #{a 2404}#))
-                              #{tmp 2401}#)
+                              (lambda (#{a 2419}# #{b 2420}#)
+                                (#{id? 343}# #{a 2419}#))
+                              #{tmp 2416}#)
                             #f)
                         (@apply
-                          (lambda (#{a 2408}# #{b 2409}#)
-                            (let ((#{tmp 2411}#
+                          (lambda (#{a 2423}# #{b 2424}#)
+                            (let ((#{tmp 2426}#
                                     (symbol->keyword
-                                      (syntax->datum #{a 2408}#))))
-                              (let ((#{k 2413}# #{tmp 2411}#))
-                                (#{key 2282}#
-                                  #{b 2409}#
-                                  #{req 2392}#
-                                  #{opt 2393}#
-                                  (cons (cons #{k 2413}#
-                                              (cons #{a 2408}#
+                                      (syntax->datum #{a 2423}#))))
+                              (let ((#{k 2428}# #{tmp 2426}#))
+                                (#{key 2297}#
+                                  #{b 2424}#
+                                  #{req 2407}#
+                                  #{opt 2408}#
+                                  (cons (cons #{k 2428}#
+                                              (cons #{a 2423}#
                                                     '(#(syntax-object
                                                         #f
                                                         ((top)
                                                          #(ribcage
                                                            #(k)
                                                            #((top))
-                                                           #("i2412"))
+                                                           #("i2427"))
                                                          #(ribcage
                                                            #(a b)
                                                            #((top) (top))
-                                                           #("i2406" "i2407"))
+                                                           #("i2421" "i2422"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(args req opt rkey)
                                                              (top)
                                                              (top)
                                                              (top))
-                                                           #("i2395"
-                                                             "i2396"
-                                                             "i2397"
-                                                             "i2398"))
+                                                           #("i2410"
+                                                             "i2411"
+                                                             "i2412"
+                                                             "i2413"))
                                                          #(ribcage
                                                            (check rest
                                                                   key
                                                             (top)
                                                             (top)
                                                             (top))
-                                                           ("i2285"
-                                                            "i2283"
-                                                            "i2281"
-                                                            "i2279"
-                                                            "i2277"))
+                                                           ("i2300"
+                                                            "i2298"
+                                                            "i2296"
+                                                            "i2294"
+                                                            "i2292"))
                                                          #(ribcage
                                                            #(orig-args)
                                                            #((top))
-                                                           #("i2276"))
+                                                           #("i2291"))
                                                          #(ribcage
                                                            (lambda-var-list
                                                              gen-var
                                                              build-sequence
                                                              build-data
                                                              build-primref
+                                                             build-primcall
                                                              build-lambda-case
                                                              build-case-lambda
                                                              build-simple-lambda
                                                              make-lambda-case
                                                              make-lambda
                                                              make-sequence
+                                                             make-primcall
                                                              make-call
                                                              make-conditional
                                                              make-toplevel-define
                                                             (top)
                                                             (top)
                                                             (top)
+                                                            (top)
+                                                            (top)
                                                             (top))
-                                                           ("i448"
+                                                           ("i452"
+                                                            "i450"
+                                                            "i448"
                                                             "i446"
                                                             "i444"
                                                             "i442"
                                                             "i388"
                                                             "i386"
                                                             "i384"
+                                                            "i383"
                                                             "i382"
                                                             "i380"
                                                             "i379"
                                                             "i378"
+                                                            "i377"
                                                             "i376"
-                                                            "i375"
                                                             "i374"
-                                                            "i373"
                                                             "i372"
                                                             "i370"
                                                             "i368"
                                                             "i364"
                                                             "i362"
                                                             "i360"
-                                                            "i358"
-                                                            "i356"
+                                                            "i357"
+                                                            "i355"
+                                                            "i354"
                                                             "i353"
+                                                            "i352"
                                                             "i351"
                                                             "i350"
                                                             "i349"
                                                             "i348"
                                                             "i347"
-                                                            "i346"
                                                             "i345"
                                                             "i344"
-                                                            "i343"
-                                                            "i341"
+                                                            "i342"
                                                             "i340"
                                                             "i338"
                                                             "i336"
                                                             "i334"
                                                             "i332"
                                                             "i330"
+                                                            "i329"
                                                             "i328"
+                                                            "i327"
                                                             "i326"
                                                             "i325"
-                                                            "i324"
                                                             "i323"
                                                             "i322"
-                                                            "i321"
-                                                            "i319"
+                                                            "i320"
                                                             "i318"
                                                             "i316"
                                                             "i314"
                                                             "i260"
                                                             "i258"
                                                             "i256"
-                                                            "i254"
+                                                            "i255"
                                                             "i253"
                                                             "i251"
+                                                            "i250"
                                                             "i249"
                                                             "i248"
                                                             "i247"
-                                                            "i246"
                                                             "i245"
                                                             "i243"
                                                             "i241"
-                                                            "i239"
+                                                            "i238"
                                                             "i236"
                                                             "i234"
                                                             "i232"
                                                             "i39"
                                                             "i38")))
                                                         (hygiene guile)))))
-                                        #{rkey 2394}#)))))
-                          #{tmp 2401}#)
-                        (let ((#{tmp 2414}#
+                                        #{rkey 2409}#)))))
+                          #{tmp 2416}#)
+                        (let ((#{tmp 2429}#
                                 ($sc-dispatch
-                                  #{tmp 2399}#
+                                  #{tmp 2414}#
                                   '((any any) . any))))
-                          (if (if #{tmp 2414}#
+                          (if (if #{tmp 2429}#
                                 (@apply
-                                  (lambda (#{a 2418}# #{init 2419}# #{b 2420}#)
-                                    (#{id? 339}# #{a 2418}#))
-                                  #{tmp 2414}#)
+                                  (lambda (#{a 2433}# #{init 2434}# #{b 2435}#)
+                                    (#{id? 343}# #{a 2433}#))
+                                  #{tmp 2429}#)
                                 #f)
                             (@apply
-                              (lambda (#{a 2424}# #{init 2425}# #{b 2426}#)
-                                (let ((#{tmp 2428}#
+                              (lambda (#{a 2439}# #{init 2440}# #{b 2441}#)
+                                (let ((#{tmp 2443}#
                                         (symbol->keyword
-                                          (syntax->datum #{a 2424}#))))
-                                  (let ((#{k 2430}# #{tmp 2428}#))
-                                    (#{key 2282}#
-                                      #{b 2426}#
-                                      #{req 2392}#
-                                      #{opt 2393}#
-                                      (cons (list #{k 2430}#
-                                                  #{a 2424}#
-                                                  #{init 2425}#)
-                                            #{rkey 2394}#)))))
-                              #{tmp 2414}#)
-                            (let ((#{tmp 2431}#
+                                          (syntax->datum #{a 2439}#))))
+                                  (let ((#{k 2445}# #{tmp 2443}#))
+                                    (#{key 2297}#
+                                      #{b 2441}#
+                                      #{req 2407}#
+                                      #{opt 2408}#
+                                      (cons (list #{k 2445}#
+                                                  #{a 2439}#
+                                                  #{init 2440}#)
+                                            #{rkey 2409}#)))))
+                              #{tmp 2429}#)
+                            (let ((#{tmp 2446}#
                                     ($sc-dispatch
-                                      #{tmp 2399}#
+                                      #{tmp 2414}#
                                       '((any any any) . any))))
-                              (if (if #{tmp 2431}#
+                              (if (if #{tmp 2446}#
                                     (@apply
-                                      (lambda (#{a 2436}#
-                                               #{init 2437}#
-                                               #{k 2438}#
-                                               #{b 2439}#)
-                                        (if (#{id? 339}# #{a 2436}#)
-                                          (keyword? (syntax->datum #{k 2438}#))
+                                      (lambda (#{a 2451}#
+                                               #{init 2452}#
+                                               #{k 2453}#
+                                               #{b 2454}#)
+                                        (if (#{id? 343}# #{a 2451}#)
+                                          (keyword? (syntax->datum #{k 2453}#))
                                           #f))
-                                      #{tmp 2431}#)
+                                      #{tmp 2446}#)
                                     #f)
                                 (@apply
-                                  (lambda (#{a 2446}#
-                                           #{init 2447}#
-                                           #{k 2448}#
-                                           #{b 2449}#)
-                                    (#{key 2282}#
-                                      #{b 2449}#
-                                      #{req 2392}#
-                                      #{opt 2393}#
-                                      (cons (list #{k 2448}#
-                                                  #{a 2446}#
-                                                  #{init 2447}#)
-                                            #{rkey 2394}#)))
-                                  #{tmp 2431}#)
-                                (let ((#{tmp 2450}#
-                                        ($sc-dispatch #{tmp 2399}# '(any))))
-                                  (if (if #{tmp 2450}#
+                                  (lambda (#{a 2461}#
+                                           #{init 2462}#
+                                           #{k 2463}#
+                                           #{b 2464}#)
+                                    (#{key 2297}#
+                                      #{b 2464}#
+                                      #{req 2407}#
+                                      #{opt 2408}#
+                                      (cons (list #{k 2463}#
+                                                  #{a 2461}#
+                                                  #{init 2462}#)
+                                            #{rkey 2409}#)))
+                                  #{tmp 2446}#)
+                                (let ((#{tmp 2465}#
+                                        ($sc-dispatch #{tmp 2414}# '(any))))
+                                  (if (if #{tmp 2465}#
                                         (@apply
-                                          (lambda (#{aok 2452}#)
-                                            (eq? (syntax->datum #{aok 2452}#)
+                                          (lambda (#{aok 2467}#)
+                                            (eq? (syntax->datum #{aok 2467}#)
                                                  #:allow-other-keys))
-                                          #{tmp 2450}#)
+                                          #{tmp 2465}#)
                                         #f)
                                     (@apply
-                                      (lambda (#{aok 2454}#)
-                                        (#{check 2286}#
-                                          #{req 2392}#
-                                          #{opt 2393}#
+                                      (lambda (#{aok 2469}#)
+                                        (#{check 2301}#
+                                          #{req 2407}#
+                                          #{opt 2408}#
                                           #f
-                                          (cons #t (reverse #{rkey 2394}#))))
-                                      #{tmp 2450}#)
-                                    (let ((#{tmp 2455}#
+                                          (cons #t (reverse #{rkey 2409}#))))
+                                      #{tmp 2465}#)
+                                    (let ((#{tmp 2470}#
                                             ($sc-dispatch
-                                              #{tmp 2399}#
+                                              #{tmp 2414}#
                                               '(any any any))))
-                                      (if (if #{tmp 2455}#
+                                      (if (if #{tmp 2470}#
                                             (@apply
-                                              (lambda (#{aok 2459}#
-                                                       #{a 2460}#
-                                                       #{b 2461}#)
+                                              (lambda (#{aok 2474}#
+                                                       #{a 2475}#
+                                                       #{b 2476}#)
                                                 (if (eq? (syntax->datum
-                                                           #{aok 2459}#)
+                                                           #{aok 2474}#)
                                                          #:allow-other-keys)
                                                   (eq? (syntax->datum
-                                                         #{a 2460}#)
+                                                         #{a 2475}#)
                                                        #:rest)
                                                   #f))
-                                              #{tmp 2455}#)
+                                              #{tmp 2470}#)
                                             #f)
                                         (@apply
-                                          (lambda (#{aok 2467}#
-                                                   #{a 2468}#
-                                                   #{b 2469}#)
-                                            (#{rest 2284}#
-                                              #{b 2469}#
-                                              #{req 2392}#
-                                              #{opt 2393}#
+                                          (lambda (#{aok 2482}#
+                                                   #{a 2483}#
+                                                   #{b 2484}#)
+                                            (#{rest 2299}#
+                                              #{b 2484}#
+                                              #{req 2407}#
+                                              #{opt 2408}#
                                               (cons #t
-                                                    (reverse #{rkey 2394}#))))
-                                          #{tmp 2455}#)
-                                        (let ((#{tmp 2470}#
+                                                    (reverse #{rkey 2409}#))))
+                                          #{tmp 2470}#)
+                                        (let ((#{tmp 2485}#
                                                 ($sc-dispatch
-                                                  #{tmp 2399}#
+                                                  #{tmp 2414}#
                                                   '(any . any))))
-                                          (if (if #{tmp 2470}#
+                                          (if (if #{tmp 2485}#
                                                 (@apply
-                                                  (lambda (#{aok 2473}#
-                                                           #{r 2474}#)
+                                                  (lambda (#{aok 2488}#
+                                                           #{r 2489}#)
                                                     (if (eq? (syntax->datum
-                                                               #{aok 2473}#)
+                                                               #{aok 2488}#)
                                                              #:allow-other-keys)
-                                                      (#{id? 339}# #{r 2474}#)
+                                                      (#{id? 343}# #{r 2489}#)
                                                       #f))
-                                                  #{tmp 2470}#)
+                                                  #{tmp 2485}#)
                                                 #f)
                                             (@apply
-                                              (lambda (#{aok 2479}# #{r 2480}#)
-                                                (#{rest 2284}#
-                                                  #{r 2480}#
-                                                  #{req 2392}#
-                                                  #{opt 2393}#
+                                              (lambda (#{aok 2494}# #{r 2495}#)
+                                                (#{rest 2299}#
+                                                  #{r 2495}#
+                                                  #{req 2407}#
+                                                  #{opt 2408}#
                                                   (cons #t
                                                         (reverse
-                                                          #{rkey 2394}#))))
-                                              #{tmp 2470}#)
-                                            (let ((#{tmp 2481}#
+                                                          #{rkey 2409}#))))
+                                              #{tmp 2485}#)
+                                            (let ((#{tmp 2496}#
                                                     ($sc-dispatch
-                                                      #{tmp 2399}#
+                                                      #{tmp 2414}#
                                                       '(any any))))
-                                              (if (if #{tmp 2481}#
+                                              (if (if #{tmp 2496}#
                                                     (@apply
-                                                      (lambda (#{a 2484}#
-                                                               #{b 2485}#)
+                                                      (lambda (#{a 2499}#
+                                                               #{b 2500}#)
                                                         (eq? (syntax->datum
-                                                               #{a 2484}#)
+                                                               #{a 2499}#)
                                                              #:rest))
-                                                      #{tmp 2481}#)
+                                                      #{tmp 2496}#)
                                                     #f)
                                                 (@apply
-                                                  (lambda (#{a 2488}#
-                                                           #{b 2489}#)
-                                                    (#{rest 2284}#
-                                                      #{b 2489}#
-                                                      #{req 2392}#
-                                                      #{opt 2393}#
+                                                  (lambda (#{a 2503}#
+                                                           #{b 2504}#)
+                                                    (#{rest 2299}#
+                                                      #{b 2504}#
+                                                      #{req 2407}#
+                                                      #{opt 2408}#
                                                       (cons #f
                                                             (reverse
-                                                              #{rkey 2394}#))))
-                                                  #{tmp 2481}#)
-                                                (let ((#{tmp 2490}#
-                                                        (list #{tmp 2399}#)))
-                                                  (if (if #{tmp 2490}#
+                                                              #{rkey 2409}#))))
+                                                  #{tmp 2496}#)
+                                                (let ((#{tmp 2505}#
+                                                        (list #{tmp 2414}#)))
+                                                  (if (if #{tmp 2505}#
                                                         (@apply
-                                                          (lambda (#{r 2492}#)
-                                                            (#{id? 339}#
-                                                              #{r 2492}#))
-                                                          #{tmp 2490}#)
+                                                          (lambda (#{r 2507}#)
+                                                            (#{id? 343}#
+                                                              #{r 2507}#))
+                                                          #{tmp 2505}#)
                                                         #f)
                                                     (@apply
-                                                      (lambda (#{r 2494}#)
-                                                        (#{rest 2284}#
-                                                          #{r 2494}#
-                                                          #{req 2392}#
-                                                          #{opt 2393}#
+                                                      (lambda (#{r 2509}#)
+                                                        (#{rest 2299}#
+                                                          #{r 2509}#
+                                                          #{req 2407}#
+                                                          #{opt 2408}#
                                                           (cons #f
                                                                 (reverse
-                                                                  #{rkey 2394}#))))
-                                                      #{tmp 2490}#)
-                                                    (let ((#{else 2496}#
-                                                            #{tmp 2399}#))
+                                                                  #{rkey 2409}#))))
+                                                      #{tmp 2505}#)
+                                                    (let ((#{else 2511}#
+                                                            #{tmp 2414}#))
                                                       (syntax-violation
                                                         'lambda*
                                                         "invalid keyword argument list"
-                                                        #{orig-args 2275}#
-                                                        #{args 2391}#)))))))))))))))))))))))
-          (#{rest 2284}#
-            (lambda (#{args 2497}#
-                     #{req 2498}#
-                     #{opt 2499}#
-                     #{kw 2500}#)
-              (let ((#{tmp 2505}# #{args 2497}#))
-                (let ((#{tmp 2506}# (list #{tmp 2505}#)))
-                  (if (if #{tmp 2506}#
+                                                        #{orig-args 2290}#
+                                                        #{args 2406}#)))))))))))))))))))))))
+          (#{rest 2299}#
+            (lambda (#{args 2512}#
+                     #{req 2513}#
+                     #{opt 2514}#
+                     #{kw 2515}#)
+              (let ((#{tmp 2520}# #{args 2512}#))
+                (let ((#{tmp 2521}# (list #{tmp 2520}#)))
+                  (if (if #{tmp 2521}#
                         (@apply
-                          (lambda (#{r 2508}#) (#{id? 339}# #{r 2508}#))
-                          #{tmp 2506}#)
+                          (lambda (#{r 2523}#) (#{id? 343}# #{r 2523}#))
+                          #{tmp 2521}#)
                         #f)
                     (@apply
-                      (lambda (#{r 2510}#)
-                        (#{check 2286}#
-                          #{req 2498}#
-                          #{opt 2499}#
-                          #{r 2510}#
-                          #{kw 2500}#))
-                      #{tmp 2506}#)
-                    (let ((#{else 2512}# #{tmp 2505}#))
+                      (lambda (#{r 2525}#)
+                        (#{check 2301}#
+                          #{req 2513}#
+                          #{opt 2514}#
+                          #{r 2525}#
+                          #{kw 2515}#))
+                      #{tmp 2521}#)
+                    (let ((#{else 2527}# #{tmp 2520}#))
                       (syntax-violation
                         'lambda*
                         "invalid rest argument"
-                        #{orig-args 2275}#
-                        #{args 2497}#)))))))
-          (#{check 2286}#
-            (lambda (#{req 2513}#
-                     #{opt 2514}#
-                     #{rest 2515}#
-                     #{kw 2516}#)
-              (if (#{distinct-bound-ids? 401}#
+                        #{orig-args 2290}#
+                        #{args 2512}#)))))))
+          (#{check 2301}#
+            (lambda (#{req 2528}#
+                     #{opt 2529}#
+                     #{rest 2530}#
+                     #{kw 2531}#)
+              (if (#{distinct-bound-ids? 405}#
                     (append
-                      #{req 2513}#
-                      (map car #{opt 2514}#)
-                      (if #{rest 2515}# (list #{rest 2515}#) '())
-                      (if (pair? #{kw 2516}#)
-                        (map cadr (cdr #{kw 2516}#))
+                      #{req 2528}#
+                      (map car #{opt 2529}#)
+                      (if #{rest 2530}# (list #{rest 2530}#) '())
+                      (if (pair? #{kw 2531}#)
+                        (map cadr (cdr #{kw 2531}#))
                         '())))
                 (values
-                  #{req 2513}#
-                  #{opt 2514}#
-                  #{rest 2515}#
-                  #{kw 2516}#)
+                  #{req 2528}#
+                  #{opt 2529}#
+                  #{rest 2530}#
+                  #{kw 2531}#)
                 (syntax-violation
                   'lambda*
                   "duplicate identifier in argument list"
-                  #{orig-args 2275}#)))))
-         (begin (#{req 2278}# #{orig-args 2275}# '())))))
-   (#{chi-lambda-case 443}#
-     (lambda (#{e 2524}#
-              #{r 2525}#
-              #{w 2526}#
-              #{s 2527}#
-              #{mod 2528}#
-              #{get-formals 2529}#
-              #{clauses 2530}#)
+                  #{orig-args 2290}#)))))
+         (begin (#{req 2293}# #{orig-args 2290}# '())))))
+   (#{chi-lambda-case 447}#
+     (lambda (#{e 2539}#
+              #{r 2540}#
+              #{w 2541}#
+              #{s 2542}#
+              #{mod 2543}#
+              #{get-formals 2544}#
+              #{clauses 2545}#)
        (letrec*
-         ((#{expand-req 2539}#
-            (lambda (#{req 2546}#
-                     #{opt 2547}#
-                     #{rest 2548}#
-                     #{kw 2549}#
-                     #{body 2550}#)
+         ((#{expand-req 2554}#
+            (lambda (#{req 2561}#
+                     #{opt 2562}#
+                     #{rest 2563}#
+                     #{kw 2564}#
+                     #{body 2565}#)
               (begin
-                (let ((#{vars 2558}#
-                        (map #{gen-var 447}# #{req 2546}#))
-                      (#{labels 2559}#
-                        (#{gen-labels 354}# #{req 2546}#)))
+                (let ((#{vars 2573}#
+                        (map #{gen-var 451}# #{req 2561}#))
+                      (#{labels 2574}#
+                        (#{gen-labels 358}# #{req 2561}#)))
                   (begin
-                    (let ((#{r* 2562}#
-                            (#{extend-var-env 329}#
-                              #{labels 2559}#
-                              #{vars 2558}#
-                              #{r 2525}#))
-                          (#{w* 2563}#
-                            (#{make-binding-wrap 383}#
-                              #{req 2546}#
-                              #{labels 2559}#
-                              #{w 2526}#)))
-                      (#{expand-opt 2541}#
-                        (map syntax->datum #{req 2546}#)
-                        #{opt 2547}#
-                        #{rest 2548}#
-                        #{kw 2549}#
-                        #{body 2550}#
-                        (reverse #{vars 2558}#)
-                        #{r* 2562}#
-                        #{w* 2563}#
+                    (let ((#{r* 2577}#
+                            (#{extend-var-env 333}#
+                              #{labels 2574}#
+                              #{vars 2573}#
+                              #{r 2540}#))
+                          (#{w* 2578}#
+                            (#{make-binding-wrap 387}#
+                              #{req 2561}#
+                              #{labels 2574}#
+                              #{w 2541}#)))
+                      (#{expand-opt 2556}#
+                        (map syntax->datum #{req 2561}#)
+                        #{opt 2562}#
+                        #{rest 2563}#
+                        #{kw 2564}#
+                        #{body 2565}#
+                        (reverse #{vars 2573}#)
+                        #{r* 2577}#
+                        #{w* 2578}#
                         '()
                         '())))))))
-          (#{expand-opt 2541}#
-            (lambda (#{req 2564}#
-                     #{opt 2565}#
-                     #{rest 2566}#
-                     #{kw 2567}#
-                     #{body 2568}#
-                     #{vars 2569}#
-                     #{r* 2570}#
-                     #{w* 2571}#
-                     #{out 2572}#
-                     #{inits 2573}#)
-              (if (pair? #{opt 2565}#)
-                (let ((#{tmp 2586}# (car #{opt 2565}#)))
-                  (let ((#{tmp 2587}#
-                          ($sc-dispatch #{tmp 2586}# '(any any))))
-                    (if #{tmp 2587}#
+          (#{expand-opt 2556}#
+            (lambda (#{req 2579}#
+                     #{opt 2580}#
+                     #{rest 2581}#
+                     #{kw 2582}#
+                     #{body 2583}#
+                     #{vars 2584}#
+                     #{r* 2585}#
+                     #{w* 2586}#
+                     #{out 2587}#
+                     #{inits 2588}#)
+              (if (pair? #{opt 2580}#)
+                (let ((#{tmp 2601}# (car #{opt 2580}#)))
+                  (let ((#{tmp 2602}#
+                          ($sc-dispatch #{tmp 2601}# '(any any))))
+                    (if #{tmp 2602}#
                       (@apply
-                        (lambda (#{id 2590}# #{i 2591}#)
+                        (lambda (#{id 2605}# #{i 2606}#)
                           (begin
-                            (let ((#{v 2594}# (#{gen-var 447}# #{id 2590}#)))
+                            (let ((#{v 2609}# (#{gen-var 451}# #{id 2605}#)))
                               (begin
-                                (let ((#{l 2596}#
-                                        (#{gen-labels 354}#
-                                          (list #{v 2594}#))))
+                                (let ((#{l 2611}#
+                                        (#{gen-labels 358}#
+                                          (list #{v 2609}#))))
                                   (begin
-                                    (let ((#{r** 2598}#
-                                            (#{extend-var-env 329}#
-                                              #{l 2596}#
-                                              (list #{v 2594}#)
-                                              #{r* 2570}#)))
+                                    (let ((#{r** 2613}#
+                                            (#{extend-var-env 333}#
+                                              #{l 2611}#
+                                              (list #{v 2609}#)
+                                              #{r* 2585}#)))
                                       (begin
-                                        (let ((#{w** 2600}#
-                                                (#{make-binding-wrap 383}#
-                                                  (list #{id 2590}#)
-                                                  #{l 2596}#
-                                                  #{w* 2571}#)))
-                                          (#{expand-opt 2541}#
-                                            #{req 2564}#
-                                            (cdr #{opt 2565}#)
-                                            #{rest 2566}#
-                                            #{kw 2567}#
-                                            #{body 2568}#
-                                            (cons #{v 2594}# #{vars 2569}#)
-                                            #{r** 2598}#
-                                            #{w** 2600}#
-                                            (cons (syntax->datum #{id 2590}#)
-                                                  #{out 2572}#)
-                                            (cons (#{chi 419}#
-                                                    #{i 2591}#
-                                                    #{r* 2570}#
-                                                    #{w* 2571}#
-                                                    #{mod 2528}#)
-                                                  #{inits 2573}#)))))))))))
-                        #{tmp 2587}#)
+                                        (let ((#{w** 2615}#
+                                                (#{make-binding-wrap 387}#
+                                                  (list #{id 2605}#)
+                                                  #{l 2611}#
+                                                  #{w* 2586}#)))
+                                          (#{expand-opt 2556}#
+                                            #{req 2579}#
+                                            (cdr #{opt 2580}#)
+                                            #{rest 2581}#
+                                            #{kw 2582}#
+                                            #{body 2583}#
+                                            (cons #{v 2609}# #{vars 2584}#)
+                                            #{r** 2613}#
+                                            #{w** 2615}#
+                                            (cons (syntax->datum #{id 2605}#)
+                                                  #{out 2587}#)
+                                            (cons (#{chi 423}#
+                                                    #{i 2606}#
+                                                    #{r* 2585}#
+                                                    #{w* 2586}#
+                                                    #{mod 2543}#)
+                                                  #{inits 2588}#)))))))))))
+                        #{tmp 2602}#)
                       (syntax-violation
                         #f
                         "source expression failed to match any pattern"
-                        #{tmp 2586}#))))
-                (if #{rest 2566}#
+                        #{tmp 2601}#))))
+                (if #{rest 2581}#
                   (begin
-                    (let ((#{v 2605}# (#{gen-var 447}# #{rest 2566}#)))
+                    (let ((#{v 2620}# (#{gen-var 451}# #{rest 2581}#)))
                       (begin
-                        (let ((#{l 2607}#
-                                (#{gen-labels 354}# (list #{v 2605}#))))
+                        (let ((#{l 2622}#
+                                (#{gen-labels 358}# (list #{v 2620}#))))
                           (begin
-                            (let ((#{r* 2609}#
-                                    (#{extend-var-env 329}#
-                                      #{l 2607}#
-                                      (list #{v 2605}#)
-                                      #{r* 2570}#)))
+                            (let ((#{r* 2624}#
+                                    (#{extend-var-env 333}#
+                                      #{l 2622}#
+                                      (list #{v 2620}#)
+                                      #{r* 2585}#)))
                               (begin
-                                (let ((#{w* 2611}#
-                                        (#{make-binding-wrap 383}#
-                                          (list #{rest 2566}#)
-                                          #{l 2607}#
-                                          #{w* 2571}#)))
-                                  (#{expand-kw 2543}#
-                                    #{req 2564}#
-                                    (if (pair? #{out 2572}#)
-                                      (reverse #{out 2572}#)
+                                (let ((#{w* 2626}#
+                                        (#{make-binding-wrap 387}#
+                                          (list #{rest 2581}#)
+                                          #{l 2622}#
+                                          #{w* 2586}#)))
+                                  (#{expand-kw 2558}#
+                                    #{req 2579}#
+                                    (if (pair? #{out 2587}#)
+                                      (reverse #{out 2587}#)
                                       #f)
-                                    (syntax->datum #{rest 2566}#)
-                                    (if (pair? #{kw 2567}#)
-                                      (cdr #{kw 2567}#)
-                                      #{kw 2567}#)
-                                    #{body 2568}#
-                                    (cons #{v 2605}# #{vars 2569}#)
-                                    #{r* 2609}#
-                                    #{w* 2611}#
-                                    (if (pair? #{kw 2567}#)
-                                      (car #{kw 2567}#)
+                                    (syntax->datum #{rest 2581}#)
+                                    (if (pair? #{kw 2582}#)
+                                      (cdr #{kw 2582}#)
+                                      #{kw 2582}#)
+                                    #{body 2583}#
+                                    (cons #{v 2620}# #{vars 2584}#)
+                                    #{r* 2624}#
+                                    #{w* 2626}#
+                                    (if (pair? #{kw 2582}#)
+                                      (car #{kw 2582}#)
                                       #f)
                                     '()
-                                    #{inits 2573}#)))))))))
-                  (#{expand-kw 2543}#
-                    #{req 2564}#
-                    (if (pair? #{out 2572}#)
-                      (reverse #{out 2572}#)
+                                    #{inits 2588}#)))))))))
+                  (#{expand-kw 2558}#
+                    #{req 2579}#
+                    (if (pair? #{out 2587}#)
+                      (reverse #{out 2587}#)
                       #f)
                     #f
-                    (if (pair? #{kw 2567}#)
-                      (cdr #{kw 2567}#)
-                      #{kw 2567}#)
-                    #{body 2568}#
-                    #{vars 2569}#
-                    #{r* 2570}#
-                    #{w* 2571}#
-                    (if (pair? #{kw 2567}#) (car #{kw 2567}#) #f)
+                    (if (pair? #{kw 2582}#)
+                      (cdr #{kw 2582}#)
+                      #{kw 2582}#)
+                    #{body 2583}#
+                    #{vars 2584}#
+                    #{r* 2585}#
+                    #{w* 2586}#
+                    (if (pair? #{kw 2582}#) (car #{kw 2582}#) #f)
                     '()
-                    #{inits 2573}#)))))
-          (#{expand-kw 2543}#
-            (lambda (#{req 2613}#
-                     #{opt 2614}#
-                     #{rest 2615}#
-                     #{kw 2616}#
-                     #{body 2617}#
-                     #{vars 2618}#
-                     #{r* 2619}#
-                     #{w* 2620}#
-                     #{aok 2621}#
-                     #{out 2622}#
-                     #{inits 2623}#)
-              (if (pair? #{kw 2616}#)
-                (let ((#{tmp 2637}# (car #{kw 2616}#)))
-                  (let ((#{tmp 2638}#
-                          ($sc-dispatch #{tmp 2637}# '(any any any))))
-                    (if #{tmp 2638}#
+                    #{inits 2588}#)))))
+          (#{expand-kw 2558}#
+            (lambda (#{req 2628}#
+                     #{opt 2629}#
+                     #{rest 2630}#
+                     #{kw 2631}#
+                     #{body 2632}#
+                     #{vars 2633}#
+                     #{r* 2634}#
+                     #{w* 2635}#
+                     #{aok 2636}#
+                     #{out 2637}#
+                     #{inits 2638}#)
+              (if (pair? #{kw 2631}#)
+                (let ((#{tmp 2652}# (car #{kw 2631}#)))
+                  (let ((#{tmp 2653}#
+                          ($sc-dispatch #{tmp 2652}# '(any any any))))
+                    (if #{tmp 2653}#
                       (@apply
-                        (lambda (#{k 2642}# #{id 2643}# #{i 2644}#)
+                        (lambda (#{k 2657}# #{id 2658}# #{i 2659}#)
                           (begin
-                            (let ((#{v 2647}# (#{gen-var 447}# #{id 2643}#)))
+                            (let ((#{v 2662}# (#{gen-var 451}# #{id 2658}#)))
                               (begin
-                                (let ((#{l 2649}#
-                                        (#{gen-labels 354}#
-                                          (list #{v 2647}#))))
+                                (let ((#{l 2664}#
+                                        (#{gen-labels 358}#
+                                          (list #{v 2662}#))))
                                   (begin
-                                    (let ((#{r** 2651}#
-                                            (#{extend-var-env 329}#
-                                              #{l 2649}#
-                                              (list #{v 2647}#)
-                                              #{r* 2619}#)))
+                                    (let ((#{r** 2666}#
+                                            (#{extend-var-env 333}#
+                                              #{l 2664}#
+                                              (list #{v 2662}#)
+                                              #{r* 2634}#)))
                                       (begin
-                                        (let ((#{w** 2653}#
-                                                (#{make-binding-wrap 383}#
-                                                  (list #{id 2643}#)
-                                                  #{l 2649}#
-                                                  #{w* 2620}#)))
-                                          (#{expand-kw 2543}#
-                                            #{req 2613}#
-                                            #{opt 2614}#
-                                            #{rest 2615}#
-                                            (cdr #{kw 2616}#)
-                                            #{body 2617}#
-                                            (cons #{v 2647}# #{vars 2618}#)
-                                            #{r** 2651}#
-                                            #{w** 2653}#
-                                            #{aok 2621}#
+                                        (let ((#{w** 2668}#
+                                                (#{make-binding-wrap 387}#
+                                                  (list #{id 2658}#)
+                                                  #{l 2664}#
+                                                  #{w* 2635}#)))
+                                          (#{expand-kw 2558}#
+                                            #{req 2628}#
+                                            #{opt 2629}#
+                                            #{rest 2630}#
+                                            (cdr #{kw 2631}#)
+                                            #{body 2632}#
+                                            (cons #{v 2662}# #{vars 2633}#)
+                                            #{r** 2666}#
+                                            #{w** 2668}#
+                                            #{aok 2636}#
                                             (cons (list (syntax->datum
-                                                          #{k 2642}#)
+                                                          #{k 2657}#)
                                                         (syntax->datum
-                                                          #{id 2643}#)
-                                                        #{v 2647}#)
-                                                  #{out 2622}#)
-                                            (cons (#{chi 419}#
-                                                    #{i 2644}#
-                                                    #{r* 2619}#
-                                                    #{w* 2620}#
-                                                    #{mod 2528}#)
-                                                  #{inits 2623}#)))))))))))
-                        #{tmp 2638}#)
+                                                          #{id 2658}#)
+                                                        #{v 2662}#)
+                                                  #{out 2637}#)
+                                            (cons (#{chi 423}#
+                                                    #{i 2659}#
+                                                    #{r* 2634}#
+                                                    #{w* 2635}#
+                                                    #{mod 2543}#)
+                                                  #{inits 2638}#)))))))))))
+                        #{tmp 2653}#)
                       (syntax-violation
                         #f
                         "source expression failed to match any pattern"
-                        #{tmp 2637}#))))
-                (#{expand-body 2545}#
-                  #{req 2613}#
-                  #{opt 2614}#
-                  #{rest 2615}#
+                        #{tmp 2652}#))))
+                (#{expand-body 2560}#
+                  #{req 2628}#
+                  #{opt 2629}#
+                  #{rest 2630}#
                   (if (begin
-                        (let ((#{t 2657}# #{aok 2621}#))
-                          (if #{t 2657}# #{t 2657}# (pair? #{out 2622}#))))
-                    (cons #{aok 2621}# (reverse #{out 2622}#))
+                        (let ((#{t 2672}# #{aok 2636}#))
+                          (if #{t 2672}# #{t 2672}# (pair? #{out 2637}#))))
+                    (cons #{aok 2636}# (reverse #{out 2637}#))
                     #f)
-                  #{body 2617}#
-                  (reverse #{vars 2618}#)
-                  #{r* 2619}#
-                  #{w* 2620}#
-                  (reverse #{inits 2623}#)
+                  #{body 2632}#
+                  (reverse #{vars 2633}#)
+                  #{r* 2634}#
+                  #{w* 2635}#
+                  (reverse #{inits 2638}#)
                   '()))))
-          (#{expand-body 2545}#
-            (lambda (#{req 2659}#
-                     #{opt 2660}#
-                     #{rest 2661}#
-                     #{kw 2662}#
-                     #{body 2663}#
-                     #{vars 2664}#
-                     #{r* 2665}#
-                     #{w* 2666}#
-                     #{inits 2667}#
-                     #{meta 2668}#)
-              (let ((#{tmp 2679}# #{body 2663}#))
-                (let ((#{tmp 2680}#
-                        ($sc-dispatch #{tmp 2679}# '(any any . each-any))))
-                  (if (if #{tmp 2680}#
+          (#{expand-body 2560}#
+            (lambda (#{req 2674}#
+                     #{opt 2675}#
+                     #{rest 2676}#
+                     #{kw 2677}#
+                     #{body 2678}#
+                     #{vars 2679}#
+                     #{r* 2680}#
+                     #{w* 2681}#
+                     #{inits 2682}#
+                     #{meta 2683}#)
+              (let ((#{tmp 2694}# #{body 2678}#))
+                (let ((#{tmp 2695}#
+                        ($sc-dispatch #{tmp 2694}# '(any any . each-any))))
+                  (if (if #{tmp 2695}#
                         (@apply
-                          (lambda (#{docstring 2684}# #{e1 2685}# #{e2 2686}#)
-                            (string? (syntax->datum #{docstring 2684}#)))
-                          #{tmp 2680}#)
+                          (lambda (#{docstring 2699}# #{e1 2700}# #{e2 2701}#)
+                            (string? (syntax->datum #{docstring 2699}#)))
+                          #{tmp 2695}#)
                         #f)
                     (@apply
-                      (lambda (#{docstring 2690}# #{e1 2691}# #{e2 2692}#)
-                        (#{expand-body 2545}#
-                          #{req 2659}#
-                          #{opt 2660}#
-                          #{rest 2661}#
-                          #{kw 2662}#
-                          (cons #{e1 2691}# #{e2 2692}#)
-                          #{vars 2664}#
-                          #{r* 2665}#
-                          #{w* 2666}#
-                          #{inits 2667}#
+                      (lambda (#{docstring 2705}# #{e1 2706}# #{e2 2707}#)
+                        (#{expand-body 2560}#
+                          #{req 2674}#
+                          #{opt 2675}#
+                          #{rest 2676}#
+                          #{kw 2677}#
+                          (cons #{e1 2706}# #{e2 2707}#)
+                          #{vars 2679}#
+                          #{r* 2680}#
+                          #{w* 2681}#
+                          #{inits 2682}#
                           (append
-                            #{meta 2668}#
+                            #{meta 2683}#
                             (list (cons 'documentation
-                                        (syntax->datum #{docstring 2690}#))))))
-                      #{tmp 2680}#)
-                    (let ((#{tmp 2695}#
+                                        (syntax->datum #{docstring 2705}#))))))
+                      #{tmp 2695}#)
+                    (let ((#{tmp 2710}#
                             ($sc-dispatch
-                              #{tmp 2679}#
+                              #{tmp 2694}#
                               '(#(vector #(each (any . any)))
                                 any
                                 .
                                 each-any))))
-                      (if #{tmp 2695}#
+                      (if #{tmp 2710}#
                         (@apply
-                          (lambda (#{k 2700}#
-                                   #{v 2701}#
-                                   #{e1 2702}#
-                                   #{e2 2703}#)
-                            (#{expand-body 2545}#
-                              #{req 2659}#
-                              #{opt 2660}#
-                              #{rest 2661}#
-                              #{kw 2662}#
-                              (cons #{e1 2702}# #{e2 2703}#)
-                              #{vars 2664}#
-                              #{r* 2665}#
-                              #{w* 2666}#
-                              #{inits 2667}#
+                          (lambda (#{k 2715}#
+                                   #{v 2716}#
+                                   #{e1 2717}#
+                                   #{e2 2718}#)
+                            (#{expand-body 2560}#
+                              #{req 2674}#
+                              #{opt 2675}#
+                              #{rest 2676}#
+                              #{kw 2677}#
+                              (cons #{e1 2717}# #{e2 2718}#)
+                              #{vars 2679}#
+                              #{r* 2680}#
+                              #{w* 2681}#
+                              #{inits 2682}#
                               (append
-                                #{meta 2668}#
+                                #{meta 2683}#
                                 (syntax->datum
-                                  (map cons #{k 2700}# #{v 2701}#)))))
-                          #{tmp 2695}#)
-                        (let ((#{tmp 2707}#
-                                ($sc-dispatch #{tmp 2679}# '(any . each-any))))
-                          (if #{tmp 2707}#
+                                  (map cons #{k 2715}# #{v 2716}#)))))
+                          #{tmp 2710}#)
+                        (let ((#{tmp 2722}#
+                                ($sc-dispatch #{tmp 2694}# '(any . each-any))))
+                          (if #{tmp 2722}#
                             (@apply
-                              (lambda (#{e1 2710}# #{e2 2711}#)
+                              (lambda (#{e1 2725}# #{e2 2726}#)
                                 (values
-                                  #{meta 2668}#
-                                  #{req 2659}#
-                                  #{opt 2660}#
-                                  #{rest 2661}#
-                                  #{kw 2662}#
-                                  #{inits 2667}#
-                                  #{vars 2664}#
-                                  (#{chi-body 427}#
-                                    (cons #{e1 2710}# #{e2 2711}#)
-                                    (#{source-wrap 407}#
-                                      #{e 2524}#
-                                      #{w 2526}#
-                                      #{s 2527}#
-                                      #{mod 2528}#)
-                                    #{r* 2665}#
-                                    #{w* 2666}#
-                                    #{mod 2528}#)))
-                              #{tmp 2707}#)
+                                  #{meta 2683}#
+                                  #{req 2674}#
+                                  #{opt 2675}#
+                                  #{rest 2676}#
+                                  #{kw 2677}#
+                                  #{inits 2682}#
+                                  #{vars 2679}#
+                                  (#{chi-body 431}#
+                                    (cons #{e1 2725}# #{e2 2726}#)
+                                    (#{source-wrap 411}#
+                                      #{e 2539}#
+                                      #{w 2541}#
+                                      #{s 2542}#
+                                      #{mod 2543}#)
+                                    #{r* 2680}#
+                                    #{w* 2681}#
+                                    #{mod 2543}#)))
+                              #{tmp 2722}#)
                             (syntax-violation
                               #f
                               "source expression failed to match any pattern"
-                              #{tmp 2679}#)))))))))))
+                              #{tmp 2694}#)))))))))))
          (begin
-           (let ((#{tmp 2713}# #{clauses 2530}#))
-             (let ((#{tmp 2714}# ($sc-dispatch #{tmp 2713}# '())))
-               (if #{tmp 2714}#
-                 (@apply (lambda () (values '() #f)) #{tmp 2714}#)
-                 (let ((#{tmp 2715}#
+           (let ((#{tmp 2728}# #{clauses 2545}#))
+             (let ((#{tmp 2729}# ($sc-dispatch #{tmp 2728}# '())))
+               (if #{tmp 2729}#
+                 (@apply (lambda () (values '() #f)) #{tmp 2729}#)
+                 (let ((#{tmp 2730}#
                          ($sc-dispatch
-                           #{tmp 2713}#
+                           #{tmp 2728}#
                            '((any any . each-any)
                              .
                              #(each (any any . each-any))))))
-                   (if #{tmp 2715}#
+                   (if #{tmp 2730}#
                      (@apply
-                       (lambda (#{args 2722}#
-                                #{e1 2723}#
-                                #{e2 2724}#
-                                #{args* 2725}#
-                                #{e1* 2726}#
-                                #{e2* 2727}#)
+                       (lambda (#{args 2737}#
+                                #{e1 2738}#
+                                #{e2 2739}#
+                                #{args* 2740}#
+                                #{e1* 2741}#
+                                #{e2* 2742}#)
                          (call-with-values
-                           (lambda () (#{get-formals 2529}# #{args 2722}#))
-                           (lambda (#{req 2728}#
-                                    #{opt 2729}#
-                                    #{rest 2730}#
-                                    #{kw 2731}#)
+                           (lambda () (#{get-formals 2544}# #{args 2737}#))
+                           (lambda (#{req 2743}#
+                                    #{opt 2744}#
+                                    #{rest 2745}#
+                                    #{kw 2746}#)
                              (call-with-values
                                (lambda ()
-                                 (#{expand-req 2539}#
-                                   #{req 2728}#
-                                   #{opt 2729}#
-                                   #{rest 2730}#
-                                   #{kw 2731}#
-                                   (cons #{e1 2723}# #{e2 2724}#)))
-                               (lambda (#{meta 2737}#
-                                        #{req 2738}#
-                                        #{opt 2739}#
-                                        #{rest 2740}#
-                                        #{kw 2741}#
-                                        #{inits 2742}#
-                                        #{vars 2743}#
-                                        #{body 2744}#)
+                                 (#{expand-req 2554}#
+                                   #{req 2743}#
+                                   #{opt 2744}#
+                                   #{rest 2745}#
+                                   #{kw 2746}#
+                                   (cons #{e1 2738}# #{e2 2739}#)))
+                               (lambda (#{meta 2752}#
+                                        #{req 2753}#
+                                        #{opt 2754}#
+                                        #{rest 2755}#
+                                        #{kw 2756}#
+                                        #{inits 2757}#
+                                        #{vars 2758}#
+                                        #{body 2759}#)
                                  (call-with-values
                                    (lambda ()
-                                     (#{chi-lambda-case 443}#
-                                       #{e 2524}#
-                                       #{r 2525}#
-                                       #{w 2526}#
-                                       #{s 2527}#
-                                       #{mod 2528}#
-                                       #{get-formals 2529}#
-                                       (map (lambda (#{tmp 2755}#
-                                                     #{tmp 2754}#
-                                                     #{tmp 2753}#)
-                                              (cons #{tmp 2753}#
-                                                    (cons #{tmp 2754}#
-                                                          #{tmp 2755}#)))
-                                            #{e2* 2727}#
-                                            #{e1* 2726}#
-                                            #{args* 2725}#)))
-                                   (lambda (#{meta* 2757}# #{else* 2758}#)
+                                     (#{chi-lambda-case 447}#
+                                       #{e 2539}#
+                                       #{r 2540}#
+                                       #{w 2541}#
+                                       #{s 2542}#
+                                       #{mod 2543}#
+                                       #{get-formals 2544}#
+                                       (map (lambda (#{tmp 2770}#
+                                                     #{tmp 2769}#
+                                                     #{tmp 2768}#)
+                                              (cons #{tmp 2768}#
+                                                    (cons #{tmp 2769}#
+                                                          #{tmp 2770}#)))
+                                            #{e2* 2742}#
+                                            #{e1* 2741}#
+                                            #{args* 2740}#)))
+                                   (lambda (#{meta* 2772}# #{else* 2773}#)
                                      (values
-                                       (append #{meta 2737}# #{meta* 2757}#)
-                                       (#{build-lambda-case 287}#
-                                         #{s 2527}#
-                                         #{req 2738}#
-                                         #{opt 2739}#
-                                         #{rest 2740}#
-                                         #{kw 2741}#
-                                         #{inits 2742}#
-                                         #{vars 2743}#
-                                         #{body 2744}#
-                                         #{else* 2758}#)))))))))
-                       #{tmp 2715}#)
+                                       (append #{meta 2752}# #{meta* 2772}#)
+                                       (#{build-lambda-case 289}#
+                                         #{s 2542}#
+                                         #{req 2753}#
+                                         #{opt 2754}#
+                                         #{rest 2755}#
+                                         #{kw 2756}#
+                                         #{inits 2757}#
+                                         #{vars 2758}#
+                                         #{body 2759}#
+                                         #{else* 2773}#)))))))))
+                       #{tmp 2730}#)
                      (syntax-violation
                        #f
                        "source expression failed to match any pattern"
-                       #{tmp 2713}#))))))))))
-   (#{strip 445}#
-     (lambda (#{x 2761}# #{w 2762}#)
-       (if (memq 'top (car #{w 2762}#))
-         #{x 2761}#
+                       #{tmp 2728}#))))))))))
+   (#{strip 449}#
+     (lambda (#{x 2776}# #{w 2777}#)
+       (if (memq 'top (car #{w 2777}#))
+         #{x 2776}#
          (letrec*
-           ((#{f 2769}#
-              (lambda (#{x 2770}#)
-                (if (#{syntax-object? 305}# #{x 2770}#)
-                  (#{strip 445}#
-                    (#{syntax-object-expression 307}# #{x 2770}#)
-                    (#{syntax-object-wrap 309}# #{x 2770}#))
-                  (if (pair? #{x 2770}#)
+           ((#{f 2784}#
+              (lambda (#{x 2785}#)
+                (if (#{syntax-object? 309}# #{x 2785}#)
+                  (#{strip 449}#
+                    (#{syntax-object-expression 311}# #{x 2785}#)
+                    (#{syntax-object-wrap 313}# #{x 2785}#))
+                  (if (pair? #{x 2785}#)
                     (begin
-                      (let ((#{a 2777}# (#{f 2769}# (car #{x 2770}#)))
-                            (#{d 2778}# (#{f 2769}# (cdr #{x 2770}#))))
-                        (if (if (eq? #{a 2777}# (car #{x 2770}#))
-                              (eq? #{d 2778}# (cdr #{x 2770}#))
+                      (let ((#{a 2792}# (#{f 2784}# (car #{x 2785}#)))
+                            (#{d 2793}# (#{f 2784}# (cdr #{x 2785}#))))
+                        (if (if (eq? #{a 2792}# (car #{x 2785}#))
+                              (eq? #{d 2793}# (cdr #{x 2785}#))
                               #f)
-                          #{x 2770}#
-                          (cons #{a 2777}# #{d 2778}#))))
-                    (if (vector? #{x 2770}#)
+                          #{x 2785}#
+                          (cons #{a 2792}# #{d 2793}#))))
+                    (if (vector? #{x 2785}#)
                       (begin
-                        (let ((#{old 2784}# (vector->list #{x 2770}#)))
+                        (let ((#{old 2799}# (vector->list #{x 2785}#)))
                           (begin
-                            (let ((#{new 2786}# (map #{f 2769}# #{old 2784}#)))
+                            (let ((#{new 2801}# (map #{f 2784}# #{old 2799}#)))
                               (letrec*
-                                ((#{lp 2790}#
-                                   (lambda (#{l1 2791}# #{l2 2792}#)
-                                     (if (null? #{l1 2791}#)
-                                       #{x 2770}#
-                                       (if (eq? (car #{l1 2791}#)
-                                                (car #{l2 2792}#))
-                                         (#{lp 2790}#
-                                           (cdr #{l1 2791}#)
-                                           (cdr #{l2 2792}#))
-                                         (list->vector #{new 2786}#))))))
+                                ((#{lp 2805}#
+                                   (lambda (#{l1 2806}# #{l2 2807}#)
+                                     (if (null? #{l1 2806}#)
+                                       #{x 2785}#
+                                       (if (eq? (car #{l1 2806}#)
+                                                (car #{l2 2807}#))
+                                         (#{lp 2805}#
+                                           (cdr #{l1 2806}#)
+                                           (cdr #{l2 2807}#))
+                                         (list->vector #{new 2801}#))))))
                                 (begin
-                                  (#{lp 2790}# #{old 2784}# #{new 2786}#)))))))
-                      #{x 2770}#))))))
-           (begin (#{f 2769}# #{x 2761}#))))))
-   (#{gen-var 447}#
-     (lambda (#{id 2794}#)
+                                  (#{lp 2805}# #{old 2799}# #{new 2801}#)))))))
+                      #{x 2785}#))))))
+           (begin (#{f 2784}# #{x 2776}#))))))
+   (#{gen-var 451}#
+     (lambda (#{id 2809}#)
        (begin
-         (let ((#{id 2797}#
-                 (if (#{syntax-object? 305}# #{id 2794}#)
-                   (#{syntax-object-expression 307}# #{id 2794}#)
-                   #{id 2794}#)))
+         (let ((#{id 2812}#
+                 (if (#{syntax-object? 309}# #{id 2809}#)
+                   (#{syntax-object-expression 311}# #{id 2809}#)
+                   #{id 2809}#)))
            (gensym
-             (string-append (symbol->string #{id 2797}#) " "))))))
-   (#{lambda-var-list 449}#
-     (lambda (#{vars 2799}#)
+             (string-append (symbol->string #{id 2812}#) " "))))))
+   (#{lambda-var-list 453}#
+     (lambda (#{vars 2814}#)
        (letrec*
-         ((#{lvl 2805}#
-            (lambda (#{vars 2806}# #{ls 2807}# #{w 2808}#)
-              (if (pair? #{vars 2806}#)
-                (#{lvl 2805}#
-                  (cdr #{vars 2806}#)
-                  (cons (#{wrap 405}# (car #{vars 2806}#) #{w 2808}# #f)
-                        #{ls 2807}#)
-                  #{w 2808}#)
-                (if (#{id? 339}# #{vars 2806}#)
-                  (cons (#{wrap 405}# #{vars 2806}# #{w 2808}# #f)
-                        #{ls 2807}#)
-                  (if (null? #{vars 2806}#)
-                    #{ls 2807}#
-                    (if (#{syntax-object? 305}# #{vars 2806}#)
-                      (#{lvl 2805}#
-                        (#{syntax-object-expression 307}# #{vars 2806}#)
-                        #{ls 2807}#
-                        (#{join-wraps 387}#
-                          #{w 2808}#
-                          (#{syntax-object-wrap 309}# #{vars 2806}#)))
-                      (cons #{vars 2806}# #{ls 2807}#))))))))
-         (begin (#{lvl 2805}# #{vars 2799}# '() '(())))))))
+         ((#{lvl 2820}#
+            (lambda (#{vars 2821}# #{ls 2822}# #{w 2823}#)
+              (if (pair? #{vars 2821}#)
+                (#{lvl 2820}#
+                  (cdr #{vars 2821}#)
+                  (cons (#{wrap 409}# (car #{vars 2821}#) #{w 2823}# #f)
+                        #{ls 2822}#)
+                  #{w 2823}#)
+                (if (#{id? 343}# #{vars 2821}#)
+                  (cons (#{wrap 409}# #{vars 2821}# #{w 2823}# #f)
+                        #{ls 2822}#)
+                  (if (null? #{vars 2821}#)
+                    #{ls 2822}#
+                    (if (#{syntax-object? 309}# #{vars 2821}#)
+                      (#{lvl 2820}#
+                        (#{syntax-object-expression 311}# #{vars 2821}#)
+                        #{ls 2822}#
+                        (#{join-wraps 391}#
+                          #{w 2823}#
+                          (#{syntax-object-wrap 313}# #{vars 2821}#)))
+                      (cons #{vars 2821}# #{ls 2822}#))))))))
+         (begin (#{lvl 2820}# #{vars 2814}# '() '(())))))))
   (begin
-    (lambda (#{src 767}# #{name 768}#)
-      (make-struct/no-tail
-        (vector-ref %expanded-vtables 2)
-        #{src 767}#
-        #{name 768}#))
-    (lambda (#{x 1145}# #{update 1146}#)
-      (vector-set! #{x 1145}# 1 #{update 1146}#))
-    (lambda (#{x 1149}# #{update 1150}#)
-      (vector-set! #{x 1149}# 2 #{update 1150}#))
-    (lambda (#{x 1153}# #{update 1154}#)
-      (vector-set! #{x 1153}# 3 #{update 1154}#))
-    (lambda (#{x 1234}#)
-      (if (vector? #{x 1234}#)
-        (if (= (vector-length #{x 1234}#) 4)
-          (eq? (vector-ref #{x 1234}# 0) 'ribcage)
+    (lambda (#{x 1161}# #{update 1162}#)
+      (vector-set! #{x 1161}# 1 #{update 1162}#))
+    (lambda (#{x 1165}# #{update 1166}#)
+      (vector-set! #{x 1165}# 2 #{update 1166}#))
+    (lambda (#{x 1169}# #{update 1170}#)
+      (vector-set! #{x 1169}# 3 #{update 1170}#))
+    (lambda (#{x 1250}#)
+      (if (vector? #{x 1250}#)
+        (if (= (vector-length #{x 1250}#) 4)
+          (eq? (vector-ref #{x 1250}# 0) 'ribcage)
           #f)
         #f))
     (begin
-      (#{global-extend 335}#
+      (#{global-extend 339}#
         'local-syntax
         'letrec-syntax
         #t)
-      (#{global-extend 335}#
+      (#{global-extend 339}#
         'local-syntax
         'let-syntax
         #f)
-      (#{global-extend 335}#
+      (#{global-extend 339}#
         'core
         'fluid-let-syntax
-        (lambda (#{e 2819}#
-                 #{r 2820}#
-                 #{w 2821}#
-                 #{s 2822}#
-                 #{mod 2823}#)
-          (let ((#{tmp 2829}# #{e 2819}#))
-            (let ((#{tmp 2830}#
+        (lambda (#{e 2834}#
+                 #{r 2835}#
+                 #{w 2836}#
+                 #{s 2837}#
+                 #{mod 2838}#)
+          (let ((#{tmp 2844}# #{e 2834}#))
+            (let ((#{tmp 2845}#
                     ($sc-dispatch
-                      #{tmp 2829}#
+                      #{tmp 2844}#
                       '(_ #(each (any any)) any . each-any))))
-              (if (if #{tmp 2830}#
+              (if (if #{tmp 2845}#
                     (@apply
-                      (lambda (#{var 2835}#
-                               #{val 2836}#
-                               #{e1 2837}#
-                               #{e2 2838}#)
-                        (#{valid-bound-ids? 399}# #{var 2835}#))
-                      #{tmp 2830}#)
+                      (lambda (#{var 2850}#
+                               #{val 2851}#
+                               #{e1 2852}#
+                               #{e2 2853}#)
+                        (#{valid-bound-ids? 403}# #{var 2850}#))
+                      #{tmp 2845}#)
                     #f)
                 (@apply
-                  (lambda (#{var 2844}#
-                           #{val 2845}#
-                           #{e1 2846}#
-                           #{e2 2847}#)
+                  (lambda (#{var 2859}#
+                           #{val 2860}#
+                           #{e1 2861}#
+                           #{e2 2862}#)
                     (begin
-                      (let ((#{names 2849}#
-                              (map (lambda (#{x 2850}#)
-                                     (#{id-var-name 393}#
-                                       #{x 2850}#
-                                       #{w 2821}#))
-                                   #{var 2844}#)))
+                      (let ((#{names 2864}#
+                              (map (lambda (#{x 2865}#)
+                                     (#{id-var-name 397}#
+                                       #{x 2865}#
+                                       #{w 2836}#))
+                                   #{var 2859}#)))
                         (begin
                           (for-each
-                            (lambda (#{id 2853}# #{n 2854}#)
+                            (lambda (#{id 2868}# #{n 2869}#)
                               (begin
-                                (let ((#{atom-key 2859}#
-                                        (car (#{lookup 333}#
-                                               #{n 2854}#
-                                               #{r 2820}#
-                                               #{mod 2823}#))))
-                                  (if (eqv? #{atom-key 2859}#
-                                            'displaced-lexical)
+                                (let ((#{atom-key 2874}#
+                                        (car (#{lookup 337}#
+                                               #{n 2869}#
+                                               #{r 2835}#
+                                               #{mod 2838}#))))
+                                  (if (memv #{atom-key 2874}#
+                                            '(displaced-lexical))
                                     (syntax-violation
                                       'fluid-let-syntax
                                       "identifier out of context"
-                                      #{e 2819}#
-                                      (#{source-wrap 407}#
-                                        #{id 2853}#
-                                        #{w 2821}#
-                                        #{s 2822}#
-                                        #{mod 2823}#))))))
-                            #{var 2844}#
-                            #{names 2849}#)
-                          (#{chi-body 427}#
-                            (cons #{e1 2846}# #{e2 2847}#)
-                            (#{source-wrap 407}#
-                              #{e 2819}#
-                              #{w 2821}#
-                              #{s 2822}#
-                              #{mod 2823}#)
-                            (#{extend-env 327}#
-                              #{names 2849}#
+                                      #{e 2834}#
+                                      (#{source-wrap 411}#
+                                        #{id 2868}#
+                                        #{w 2836}#
+                                        #{s 2837}#
+                                        #{mod 2838}#))))))
+                            #{var 2859}#
+                            #{names 2864}#)
+                          (#{chi-body 431}#
+                            (cons #{e1 2861}# #{e2 2862}#)
+                            (#{source-wrap 411}#
+                              #{e 2834}#
+                              #{w 2836}#
+                              #{s 2837}#
+                              #{mod 2838}#)
+                            (#{extend-env 331}#
+                              #{names 2864}#
                               (begin
-                                (let ((#{trans-r 2865}#
-                                        (#{macros-only-env 331}# #{r 2820}#)))
-                                  (map (lambda (#{x 2866}#)
+                                (let ((#{trans-r 2880}#
+                                        (#{macros-only-env 335}# #{r 2835}#)))
+                                  (map (lambda (#{x 2881}#)
                                          (cons 'macro
-                                               (#{eval-local-transformer 431}#
-                                                 (#{chi 419}#
-                                                   #{x 2866}#
-                                                   #{trans-r 2865}#
-                                                   #{w 2821}#
-                                                   #{mod 2823}#)
-                                                 #{mod 2823}#)))
-                                       #{val 2845}#)))
-                              #{r 2820}#)
-                            #{w 2821}#
-                            #{mod 2823}#)))))
-                  #{tmp 2830}#)
-                (let ((#{_ 2871}# #{tmp 2829}#))
+                                               (#{eval-local-transformer 435}#
+                                                 (#{chi 423}#
+                                                   #{x 2881}#
+                                                   #{trans-r 2880}#
+                                                   #{w 2836}#
+                                                   #{mod 2838}#)
+                                                 #{mod 2838}#)))
+                                       #{val 2860}#)))
+                              #{r 2835}#)
+                            #{w 2836}#
+                            #{mod 2838}#)))))
+                  #{tmp 2845}#)
+                (let ((#{_ 2886}# #{tmp 2844}#))
                   (syntax-violation
                     'fluid-let-syntax
                     "bad syntax"
-                    (#{source-wrap 407}#
-                      #{e 2819}#
-                      #{w 2821}#
-                      #{s 2822}#
-                      #{mod 2823}#))))))))
-      (#{global-extend 335}#
+                    (#{source-wrap 411}#
+                      #{e 2834}#
+                      #{w 2836}#
+                      #{s 2837}#
+                      #{mod 2838}#))))))))
+      (#{global-extend 339}#
         'core
         'quote
-        (lambda (#{e 2872}#
-                 #{r 2873}#
-                 #{w 2874}#
-                 #{s 2875}#
-                 #{mod 2876}#)
-          (let ((#{tmp 2882}# #{e 2872}#))
-            (let ((#{tmp 2883}#
-                    ($sc-dispatch #{tmp 2882}# '(_ any))))
-              (if #{tmp 2883}#
+        (lambda (#{e 2887}#
+                 #{r 2888}#
+                 #{w 2889}#
+                 #{s 2890}#
+                 #{mod 2891}#)
+          (let ((#{tmp 2897}# #{e 2887}#))
+            (let ((#{tmp 2898}#
+                    ($sc-dispatch #{tmp 2897}# '(_ any))))
+              (if #{tmp 2898}#
                 (@apply
-                  (lambda (#{e 2885}#)
-                    (#{build-data 291}#
-                      #{s 2875}#
-                      (#{strip 445}# #{e 2885}# #{w 2874}#)))
-                  #{tmp 2883}#)
-                (let ((#{_ 2887}# #{tmp 2882}#))
+                  (lambda (#{e 2900}#)
+                    (#{build-data 295}#
+                      #{s 2890}#
+                      (#{strip 449}# #{e 2900}# #{w 2889}#)))
+                  #{tmp 2898}#)
+                (let ((#{_ 2902}# #{tmp 2897}#))
                   (syntax-violation
                     'quote
                     "bad syntax"
-                    (#{source-wrap 407}#
-                      #{e 2872}#
-                      #{w 2874}#
-                      #{s 2875}#
-                      #{mod 2876}#))))))))
-      (#{global-extend 335}#
+                    (#{source-wrap 411}#
+                      #{e 2887}#
+                      #{w 2889}#
+                      #{s 2890}#
+                      #{mod 2891}#))))))))
+      (#{global-extend 339}#
         'core
         'syntax
         (letrec*
-          ((#{gen-syntax 2889}#
-             (lambda (#{src 2904}#
-                      #{e 2905}#
-                      #{r 2906}#
-                      #{maps 2907}#
-                      #{ellipsis? 2908}#
-                      #{mod 2909}#)
-               (if (#{id? 339}# #{e 2905}#)
+          ((#{gen-syntax 2904}#
+             (lambda (#{src 2919}#
+                      #{e 2920}#
+                      #{r 2921}#
+                      #{maps 2922}#
+                      #{ellipsis? 2923}#
+                      #{mod 2924}#)
+               (if (#{id? 343}# #{e 2920}#)
                  (begin
-                   (let ((#{label 2917}#
-                           (#{id-var-name 393}# #{e 2905}# '(()))))
+                   (let ((#{label 2932}#
+                           (#{id-var-name 397}# #{e 2920}# '(()))))
                      (begin
-                       (let ((#{b 2920}#
-                               (#{lookup 333}#
-                                 #{label 2917}#
-                                 #{r 2906}#
-                                 #{mod 2909}#)))
-                         (if (eq? (car #{b 2920}#) 'syntax)
+                       (let ((#{b 2935}#
+                               (#{lookup 337}#
+                                 #{label 2932}#
+                                 #{r 2921}#
+                                 #{mod 2924}#)))
+                         (if (eq? (car #{b 2935}#) 'syntax)
                            (call-with-values
                              (lambda ()
                                (begin
-                                 (let ((#{var.lev 2923}# (cdr #{b 2920}#)))
-                                   (#{gen-ref 2891}#
-                                     #{src 2904}#
-                                     (car #{var.lev 2923}#)
-                                     (cdr #{var.lev 2923}#)
-                                     #{maps 2907}#))))
-                             (lambda (#{var 2925}# #{maps 2926}#)
+                                 (let ((#{var.lev 2938}# (cdr #{b 2935}#)))
+                                   (#{gen-ref 2906}#
+                                     #{src 2919}#
+                                     (car #{var.lev 2938}#)
+                                     (cdr #{var.lev 2938}#)
+                                     #{maps 2922}#))))
+                             (lambda (#{var 2940}# #{maps 2941}#)
                                (values
-                                 (list 'ref #{var 2925}#)
-                                 #{maps 2926}#)))
-                           (if (#{ellipsis? 2908}# #{e 2905}#)
+                                 (list 'ref #{var 2940}#)
+                                 #{maps 2941}#)))
+                           (if (#{ellipsis? 2923}# #{e 2920}#)
                              (syntax-violation
                                'syntax
                                "misplaced ellipsis"
-                               #{src 2904}#)
+                               #{src 2919}#)
                              (values
-                               (list 'quote #{e 2905}#)
-                               #{maps 2907}#)))))))
-                 (let ((#{tmp 2931}# #{e 2905}#))
-                   (let ((#{tmp 2932}#
-                           ($sc-dispatch #{tmp 2931}# '(any any))))
-                     (if (if #{tmp 2932}#
+                               (list 'quote #{e 2920}#)
+                               #{maps 2922}#)))))))
+                 (let ((#{tmp 2946}# #{e 2920}#))
+                   (let ((#{tmp 2947}#
+                           ($sc-dispatch #{tmp 2946}# '(any any))))
+                     (if (if #{tmp 2947}#
                            (@apply
-                             (lambda (#{dots 2935}# #{e 2936}#)
-                               (#{ellipsis? 2908}# #{dots 2935}#))
-                             #{tmp 2932}#)
+                             (lambda (#{dots 2950}# #{e 2951}#)
+                               (#{ellipsis? 2923}# #{dots 2950}#))
+                             #{tmp 2947}#)
                            #f)
                        (@apply
-                         (lambda (#{dots 2939}# #{e 2940}#)
-                           (#{gen-syntax 2889}#
-                             #{src 2904}#
-                             #{e 2940}#
-                             #{r 2906}#
-                             #{maps 2907}#
-                             (lambda (#{x 2941}#) #f)
-                             #{mod 2909}#))
-                         #{tmp 2932}#)
-                       (let ((#{tmp 2943}#
-                               ($sc-dispatch #{tmp 2931}# '(any any . any))))
-                         (if (if #{tmp 2943}#
+                         (lambda (#{dots 2954}# #{e 2955}#)
+                           (#{gen-syntax 2904}#
+                             #{src 2919}#
+                             #{e 2955}#
+                             #{r 2921}#
+                             #{maps 2922}#
+                             (lambda (#{x 2956}#) #f)
+                             #{mod 2924}#))
+                         #{tmp 2947}#)
+                       (let ((#{tmp 2958}#
+                               ($sc-dispatch #{tmp 2946}# '(any any . any))))
+                         (if (if #{tmp 2958}#
                                (@apply
-                                 (lambda (#{x 2947}# #{dots 2948}# #{y 2949}#)
-                                   (#{ellipsis? 2908}# #{dots 2948}#))
-                                 #{tmp 2943}#)
+                                 (lambda (#{x 2962}# #{dots 2963}# #{y 2964}#)
+                                   (#{ellipsis? 2923}# #{dots 2963}#))
+                                 #{tmp 2958}#)
                                #f)
                            (@apply
-                             (lambda (#{x 2953}# #{dots 2954}# #{y 2955}#)
+                             (lambda (#{x 2968}# #{dots 2969}# #{y 2970}#)
                                (letrec*
-                                 ((#{f 2959}#
-                                    (lambda (#{y 2960}# #{k 2961}#)
-                                      (let ((#{tmp 2968}# #{y 2960}#))
-                                        (let ((#{tmp 2969}#
+                                 ((#{f 2974}#
+                                    (lambda (#{y 2975}# #{k 2976}#)
+                                      (let ((#{tmp 2983}# #{y 2975}#))
+                                        (let ((#{tmp 2984}#
                                                 ($sc-dispatch
-                                                  #{tmp 2968}#
+                                                  #{tmp 2983}#
                                                   '(any . any))))
-                                          (if (if #{tmp 2969}#
+                                          (if (if #{tmp 2984}#
                                                 (@apply
-                                                  (lambda (#{dots 2972}#
-                                                           #{y 2973}#)
-                                                    (#{ellipsis? 2908}#
-                                                      #{dots 2972}#))
-                                                  #{tmp 2969}#)
+                                                  (lambda (#{dots 2987}#
+                                                           #{y 2988}#)
+                                                    (#{ellipsis? 2923}#
+                                                      #{dots 2987}#))
+                                                  #{tmp 2984}#)
                                                 #f)
                                             (@apply
-                                              (lambda (#{dots 2976}#
-                                                       #{y 2977}#)
-                                                (#{f 2959}#
-                                                  #{y 2977}#
-                                                  (lambda (#{maps 2978}#)
+                                              (lambda (#{dots 2991}#
+                                                       #{y 2992}#)
+                                                (#{f 2974}#
+                                                  #{y 2992}#
+                                                  (lambda (#{maps 2993}#)
                                                     (call-with-values
                                                       (lambda ()
-                                                        (#{k 2961}#
+                                                        (#{k 2976}#
                                                           (cons '()
-                                                                #{maps 2978}#)))
-                                                      (lambda (#{x 2980}#
-                                                               #{maps 2981}#)
-                                                        (if (null? (car #{maps 2981}#))
+                                                                #{maps 2993}#)))
+                                                      (lambda (#{x 2995}#
+                                                               #{maps 2996}#)
+                                                        (if (null? (car #{maps 2996}#))
                                                           (syntax-violation
                                                             'syntax
                                                             "extra ellipsis"
-                                                            #{src 2904}#)
+                                                            #{src 2919}#)
                                                           (values
-                                                            (#{gen-mappend 2893}#
-                                                              #{x 2980}#
-                                                              (car #{maps 2981}#))
-                                                            (cdr #{maps 2981}#))))))))
-                                              #{tmp 2969}#)
-                                            (let ((#{_ 2985}# #{tmp 2968}#))
+                                                            (#{gen-mappend 2908}#
+                                                              #{x 2995}#
+                                                              (car #{maps 2996}#))
+                                                            (cdr #{maps 2996}#))))))))
+                                              #{tmp 2984}#)
+                                            (let ((#{_ 3000}# #{tmp 2983}#))
                                               (call-with-values
                                                 (lambda ()
-                                                  (#{gen-syntax 2889}#
-                                                    #{src 2904}#
-                                                    #{y 2960}#
-                                                    #{r 2906}#
-                                                    #{maps 2907}#
-                                                    #{ellipsis? 2908}#
-                                                    #{mod 2909}#))
-                                                (lambda (#{y 2986}#
-                                                         #{maps 2987}#)
+                                                  (#{gen-syntax 2904}#
+                                                    #{src 2919}#
+                                                    #{y 2975}#
+                                                    #{r 2921}#
+                                                    #{maps 2922}#
+                                                    #{ellipsis? 2923}#
+                                                    #{mod 2924}#))
+                                                (lambda (#{y 3001}#
+                                                         #{maps 3002}#)
                                                   (call-with-values
                                                     (lambda ()
-                                                      (#{k 2961}#
-                                                        #{maps 2987}#))
-                                                    (lambda (#{x 2990}#
-                                                             #{maps 2991}#)
+                                                      (#{k 2976}#
+                                                        #{maps 3002}#))
+                                                    (lambda (#{x 3005}#
+                                                             #{maps 3006}#)
                                                       (values
-                                                        (#{gen-append 2899}#
-                                                          #{x 2990}#
-                                                          #{y 2986}#)
-                                                        #{maps 2991}#))))))))))))
+                                                        (#{gen-append 2914}#
+                                                          #{x 3005}#
+                                                          #{y 3001}#)
+                                                        #{maps 3006}#))))))))))))
                                  (begin
-                                   (#{f 2959}#
-                                     #{y 2955}#
-                                     (lambda (#{maps 2962}#)
+                                   (#{f 2974}#
+                                     #{y 2970}#
+                                     (lambda (#{maps 2977}#)
                                        (call-with-values
                                          (lambda ()
-                                           (#{gen-syntax 2889}#
-                                             #{src 2904}#
-                                             #{x 2953}#
-                                             #{r 2906}#
-                                             (cons '() #{maps 2962}#)
-                                             #{ellipsis? 2908}#
-                                             #{mod 2909}#))
-                                         (lambda (#{x 2964}# #{maps 2965}#)
-                                           (if (null? (car #{maps 2965}#))
+                                           (#{gen-syntax 2904}#
+                                             #{src 2919}#
+                                             #{x 2968}#
+                                             #{r 2921}#
+                                             (cons '() #{maps 2977}#)
+                                             #{ellipsis? 2923}#
+                                             #{mod 2924}#))
+                                         (lambda (#{x 2979}# #{maps 2980}#)
+                                           (if (null? (car #{maps 2980}#))
                                              (syntax-violation
                                                'syntax
                                                "extra ellipsis"
-                                               #{src 2904}#)
+                                               #{src 2919}#)
                                              (values
-                                               (#{gen-map 2895}#
-                                                 #{x 2964}#
-                                                 (car #{maps 2965}#))
-                                               (cdr #{maps 2965}#))))))))))
-                             #{tmp 2943}#)
-                           (let ((#{tmp 2994}#
-                                   ($sc-dispatch #{tmp 2931}# '(any . any))))
-                             (if #{tmp 2994}#
+                                               (#{gen-map 2910}#
+                                                 #{x 2979}#
+                                                 (car #{maps 2980}#))
+                                               (cdr #{maps 2980}#))))))))))
+                             #{tmp 2958}#)
+                           (let ((#{tmp 3009}#
+                                   ($sc-dispatch #{tmp 2946}# '(any . any))))
+                             (if #{tmp 3009}#
                                (@apply
-                                 (lambda (#{x 2997}# #{y 2998}#)
+                                 (lambda (#{x 3012}# #{y 3013}#)
                                    (call-with-values
                                      (lambda ()
-                                       (#{gen-syntax 2889}#
-                                         #{src 2904}#
-                                         #{x 2997}#
-                                         #{r 2906}#
-                                         #{maps 2907}#
-                                         #{ellipsis? 2908}#
-                                         #{mod 2909}#))
-                                     (lambda (#{x 2999}# #{maps 3000}#)
+                                       (#{gen-syntax 2904}#
+                                         #{src 2919}#
+                                         #{x 3012}#
+                                         #{r 2921}#
+                                         #{maps 2922}#
+                                         #{ellipsis? 2923}#
+                                         #{mod 2924}#))
+                                     (lambda (#{x 3014}# #{maps 3015}#)
                                        (call-with-values
                                          (lambda ()
-                                           (#{gen-syntax 2889}#
-                                             #{src 2904}#
-                                             #{y 2998}#
-                                             #{r 2906}#
-                                             #{maps 3000}#
-                                             #{ellipsis? 2908}#
-                                             #{mod 2909}#))
-                                         (lambda (#{y 3003}# #{maps 3004}#)
+                                           (#{gen-syntax 2904}#
+                                             #{src 2919}#
+                                             #{y 3013}#
+                                             #{r 2921}#
+                                             #{maps 3015}#
+                                             #{ellipsis? 2923}#
+                                             #{mod 2924}#))
+                                         (lambda (#{y 3018}# #{maps 3019}#)
                                            (values
-                                             (#{gen-cons 2897}#
-                                               #{x 2999}#
-                                               #{y 3003}#)
-                                             #{maps 3004}#))))))
-                                 #{tmp 2994}#)
-                               (let ((#{tmp 3007}#
+                                             (#{gen-cons 2912}#
+                                               #{x 3014}#
+                                               #{y 3018}#)
+                                             #{maps 3019}#))))))
+                                 #{tmp 3009}#)
+                               (let ((#{tmp 3022}#
                                        ($sc-dispatch
-                                         #{tmp 2931}#
+                                         #{tmp 2946}#
                                          '#(vector (any . each-any)))))
-                                 (if #{tmp 3007}#
+                                 (if #{tmp 3022}#
                                    (@apply
-                                     (lambda (#{e1 3010}# #{e2 3011}#)
+                                     (lambda (#{e1 3025}# #{e2 3026}#)
                                        (call-with-values
                                          (lambda ()
-                                           (#{gen-syntax 2889}#
-                                             #{src 2904}#
-                                             (cons #{e1 3010}# #{e2 3011}#)
-                                             #{r 2906}#
-                                             #{maps 2907}#
-                                             #{ellipsis? 2908}#
-                                             #{mod 2909}#))
-                                         (lambda (#{e 3013}# #{maps 3014}#)
+                                           (#{gen-syntax 2904}#
+                                             #{src 2919}#
+                                             (cons #{e1 3025}# #{e2 3026}#)
+                                             #{r 2921}#
+                                             #{maps 2922}#
+                                             #{ellipsis? 2923}#
+                                             #{mod 2924}#))
+                                         (lambda (#{e 3028}# #{maps 3029}#)
                                            (values
-                                             (#{gen-vector 2901}# #{e 3013}#)
-                                             #{maps 3014}#))))
-                                     #{tmp 3007}#)
-                                   (let ((#{_ 3018}# #{tmp 2931}#))
+                                             (#{gen-vector 2916}# #{e 3028}#)
+                                             #{maps 3029}#))))
+                                     #{tmp 3022}#)
+                                   (let ((#{_ 3033}# #{tmp 2946}#))
                                      (values
-                                       (list 'quote #{e 2905}#)
-                                       #{maps 2907}#))))))))))))))
-           (#{gen-ref 2891}#
-             (lambda (#{src 3020}#
-                      #{var 3021}#
-                      #{level 3022}#
-                      #{maps 3023}#)
-               (if (= #{level 3022}# 0)
-                 (values #{var 3021}# #{maps 3023}#)
-                 (if (null? #{maps 3023}#)
+                                       (list 'quote #{e 2920}#)
+                                       #{maps 2922}#))))))))))))))
+           (#{gen-ref 2906}#
+             (lambda (#{src 3035}#
+                      #{var 3036}#
+                      #{level 3037}#
+                      #{maps 3038}#)
+               (if (= #{level 3037}# 0)
+                 (values #{var 3036}# #{maps 3038}#)
+                 (if (null? #{maps 3038}#)
                    (syntax-violation
                      'syntax
                      "missing ellipsis"
-                     #{src 3020}#)
+                     #{src 3035}#)
                    (call-with-values
                      (lambda ()
-                       (#{gen-ref 2891}#
-                         #{src 3020}#
-                         #{var 3021}#
-                         (#{1-}# #{level 3022}#)
-                         (cdr #{maps 3023}#)))
-                     (lambda (#{outer-var 3030}# #{outer-maps 3031}#)
+                       (#{gen-ref 2906}#
+                         #{src 3035}#
+                         #{var 3036}#
+                         (#{1-}# #{level 3037}#)
+                         (cdr #{maps 3038}#)))
+                     (lambda (#{outer-var 3045}# #{outer-maps 3046}#)
                        (begin
-                         (let ((#{b 3035}#
-                                 (assq #{outer-var 3030}#
-                                       (car #{maps 3023}#))))
-                           (if #{b 3035}#
-                             (values (cdr #{b 3035}#) #{maps 3023}#)
+                         (let ((#{b 3050}#
+                                 (assq #{outer-var 3045}#
+                                       (car #{maps 3038}#))))
+                           (if #{b 3050}#
+                             (values (cdr #{b 3050}#) #{maps 3038}#)
                              (begin
-                               (let ((#{inner-var 3037}#
-                                       (#{gen-var 447}# 'tmp)))
+                               (let ((#{inner-var 3052}#
+                                       (#{gen-var 451}# 'tmp)))
                                  (values
-                                   #{inner-var 3037}#
-                                   (cons (cons (cons #{outer-var 3030}#
-                                                     #{inner-var 3037}#)
-                                               (car #{maps 3023}#))
-                                         #{outer-maps 3031}#)))))))))))))
-           (#{gen-mappend 2893}#
-             (lambda (#{e 3038}# #{map-env 3039}#)
+                                   #{inner-var 3052}#
+                                   (cons (cons (cons #{outer-var 3045}#
+                                                     #{inner-var 3052}#)
+                                               (car #{maps 3038}#))
+                                         #{outer-maps 3046}#)))))))))))))
+           (#{gen-mappend 2908}#
+             (lambda (#{e 3053}# #{map-env 3054}#)
                (list 'apply
                      '(primitive append)
-                     (#{gen-map 2895}# #{e 3038}# #{map-env 3039}#))))
-           (#{gen-map 2895}#
-             (lambda (#{e 3043}# #{map-env 3044}#)
+                     (#{gen-map 2910}# #{e 3053}# #{map-env 3054}#))))
+           (#{gen-map 2910}#
+             (lambda (#{e 3058}# #{map-env 3059}#)
                (begin
-                 (let ((#{formals 3049}# (map cdr #{map-env 3044}#))
-                       (#{actuals 3050}#
-                         (map (lambda (#{x 3051}#)
-                                (list 'ref (car #{x 3051}#)))
-                              #{map-env 3044}#)))
-                   (if (eq? (car #{e 3043}#) 'ref)
-                     (car #{actuals 3050}#)
+                 (let ((#{formals 3064}# (map cdr #{map-env 3059}#))
+                       (#{actuals 3065}#
+                         (map (lambda (#{x 3066}#)
+                                (list 'ref (car #{x 3066}#)))
+                              #{map-env 3059}#)))
+                   (if (eq? (car #{e 3058}#) 'ref)
+                     (car #{actuals 3065}#)
                      (if (and-map
-                           (lambda (#{x 3058}#)
-                             (if (eq? (car #{x 3058}#) 'ref)
-                               (memq (car (cdr #{x 3058}#)) #{formals 3049}#)
+                           (lambda (#{x 3073}#)
+                             (if (eq? (car #{x 3073}#) 'ref)
+                               (memq (car (cdr #{x 3073}#)) #{formals 3064}#)
                                #f))
-                           (cdr #{e 3043}#))
+                           (cdr #{e 3058}#))
                        (cons 'map
-                             (cons (list 'primitive (car #{e 3043}#))
+                             (cons (list 'primitive (car #{e 3058}#))
                                    (map (begin
-                                          (let ((#{r 3064}#
+                                          (let ((#{r 3079}#
                                                   (map cons
-                                                       #{formals 3049}#
-                                                       #{actuals 3050}#)))
-                                            (lambda (#{x 3065}#)
-                                              (cdr (assq (car (cdr #{x 3065}#))
-                                                         #{r 3064}#)))))
-                                        (cdr #{e 3043}#))))
+                                                       #{formals 3064}#
+                                                       #{actuals 3065}#)))
+                                            (lambda (#{x 3080}#)
+                                              (cdr (assq (car (cdr #{x 3080}#))
+                                                         #{r 3079}#)))))
+                                        (cdr #{e 3058}#))))
                        (cons 'map
-                             (cons (list 'lambda #{formals 3049}# #{e 3043}#)
-                                   #{actuals 3050}#))))))))
-           (#{gen-cons 2897}#
-             (lambda (#{x 3069}# #{y 3070}#)
+                             (cons (list 'lambda #{formals 3064}# #{e 3058}#)
+                                   #{actuals 3065}#))))))))
+           (#{gen-cons 2912}#
+             (lambda (#{x 3084}# #{y 3085}#)
                (begin
-                 (let ((#{atom-key 3075}# (car #{y 3070}#)))
-                   (if (eqv? #{atom-key 3075}# 'quote)
-                     (if (eq? (car #{x 3069}#) 'quote)
+                 (let ((#{atom-key 3090}# (car #{y 3085}#)))
+                   (if (memv #{atom-key 3090}# '(quote))
+                     (if (eq? (car #{x 3084}#) 'quote)
                        (list 'quote
-                             (cons (car (cdr #{x 3069}#))
-                                   (car (cdr #{y 3070}#))))
-                       (if (eq? (car (cdr #{y 3070}#)) '())
-                         (list 'list #{x 3069}#)
-                         (list 'cons #{x 3069}# #{y 3070}#)))
-                     (if (eqv? #{atom-key 3075}# 'list)
-                       (cons 'list (cons #{x 3069}# (cdr #{y 3070}#)))
-                       (list 'cons #{x 3069}# #{y 3070}#)))))))
-           (#{gen-append 2899}#
-             (lambda (#{x 3084}# #{y 3085}#)
-               (if (equal? #{y 3085}# ''())
-                 #{x 3084}#
-                 (list 'append #{x 3084}# #{y 3085}#))))
-           (#{gen-vector 2901}#
-             (lambda (#{x 3089}#)
-               (if (eq? (car #{x 3089}#) 'list)
-                 (cons 'vector (cdr #{x 3089}#))
-                 (if (eq? (car #{x 3089}#) 'quote)
+                             (cons (car (cdr #{x 3084}#))
+                                   (car (cdr #{y 3085}#))))
+                       (if (eq? (car (cdr #{y 3085}#)) '())
+                         (list 'list #{x 3084}#)
+                         (list 'cons #{x 3084}# #{y 3085}#)))
+                     (if (memv #{atom-key 3090}# '(list))
+                       (cons 'list (cons #{x 3084}# (cdr #{y 3085}#)))
+                       (list 'cons #{x 3084}# #{y 3085}#)))))))
+           (#{gen-append 2914}#
+             (lambda (#{x 3099}# #{y 3100}#)
+               (if (equal? #{y 3100}# ''())
+                 #{x 3099}#
+                 (list 'append #{x 3099}# #{y 3100}#))))
+           (#{gen-vector 2916}#
+             (lambda (#{x 3104}#)
+               (if (eq? (car #{x 3104}#) 'list)
+                 (cons 'vector (cdr #{x 3104}#))
+                 (if (eq? (car #{x 3104}#) 'quote)
                    (list 'quote
-                         (list->vector (car (cdr #{x 3089}#))))
-                   (list 'list->vector #{x 3089}#)))))
-           (#{regen 2903}#
-             (lambda (#{x 3099}#)
+                         (list->vector (car (cdr #{x 3104}#))))
+                   (list 'list->vector #{x 3104}#)))))
+           (#{regen 2918}#
+             (lambda (#{x 3114}#)
                (begin
-                 (let ((#{atom-key 3103}# (car #{x 3099}#)))
-                   (if (eqv? #{atom-key 3103}# 'ref)
-                     (#{build-lexical-reference 271}#
+                 (let ((#{atom-key 3118}# (car #{x 3114}#)))
+                   (if (memv #{atom-key 3118}# '(ref))
+                     (#{build-lexical-reference 273}#
                        'value
                        #f
-                       (car (cdr #{x 3099}#))
-                       (car (cdr #{x 3099}#)))
-                     (if (eqv? #{atom-key 3103}# 'primitive)
-                       (#{build-primref 289}# #f (car (cdr #{x 3099}#)))
-                       (if (eqv? #{atom-key 3103}# 'quote)
-                         (#{build-data 291}# #f (car (cdr #{x 3099}#)))
-                         (if (eqv? #{atom-key 3103}# 'lambda)
-                           (if (list? (car (cdr #{x 3099}#)))
-                             (#{build-simple-lambda 283}#
+                       (car (cdr #{x 3114}#))
+                       (car (cdr #{x 3114}#)))
+                     (if (memv #{atom-key 3118}# '(primitive))
+                       (#{build-primref 293}# #f (car (cdr #{x 3114}#)))
+                       (if (memv #{atom-key 3118}# '(quote))
+                         (#{build-data 295}# #f (car (cdr #{x 3114}#)))
+                         (if (memv #{atom-key 3118}# '(lambda))
+                           (if (list? (car (cdr #{x 3114}#)))
+                             (#{build-simple-lambda 285}#
                                #f
-                               (car (cdr #{x 3099}#))
+                               (car (cdr #{x 3114}#))
                                #f
-                               (car (cdr #{x 3099}#))
+                               (car (cdr #{x 3114}#))
                                '()
-                               (#{regen 2903}# (car (cdr (cdr #{x 3099}#)))))
-                             (error "how did we get here" #{x 3099}#))
-                           (#{build-call 265}#
+                               (#{regen 2918}# (car (cdr (cdr #{x 3114}#)))))
+                             (error "how did we get here" #{x 3114}#))
+                           (#{build-primcall 291}#
                              #f
-                             (#{build-primref 289}# #f (car #{x 3099}#))
-                             (map #{regen 2903}# (cdr #{x 3099}#))))))))))))
+                             (car #{x 3114}#)
+                             (map #{regen 2918}# (cdr #{x 3114}#))))))))))))
           (begin
-            (lambda (#{e 3115}#
-                     #{r 3116}#
-                     #{w 3117}#
-                     #{s 3118}#
-                     #{mod 3119}#)
+            (lambda (#{e 3129}#
+                     #{r 3130}#
+                     #{w 3131}#
+                     #{s 3132}#
+                     #{mod 3133}#)
               (begin
-                (let ((#{e 3126}#
-                        (#{source-wrap 407}#
-                          #{e 3115}#
-                          #{w 3117}#
-                          #{s 3118}#
-                          #{mod 3119}#)))
-                  (let ((#{tmp 3127}# #{e 3126}#))
-                    (let ((#{tmp 3128}#
-                            ($sc-dispatch #{tmp 3127}# '(_ any))))
-                      (if #{tmp 3128}#
+                (let ((#{e 3140}#
+                        (#{source-wrap 411}#
+                          #{e 3129}#
+                          #{w 3131}#
+                          #{s 3132}#
+                          #{mod 3133}#)))
+                  (let ((#{tmp 3141}# #{e 3140}#))
+                    (let ((#{tmp 3142}#
+                            ($sc-dispatch #{tmp 3141}# '(_ any))))
+                      (if #{tmp 3142}#
                         (@apply
-                          (lambda (#{x 3130}#)
+                          (lambda (#{x 3144}#)
                             (call-with-values
                               (lambda ()
-                                (#{gen-syntax 2889}#
-                                  #{e 3126}#
-                                  #{x 3130}#
-                                  #{r 3116}#
+                                (#{gen-syntax 2904}#
+                                  #{e 3140}#
+                                  #{x 3144}#
+                                  #{r 3130}#
                                   '()
-                                  #{ellipsis? 435}#
-                                  #{mod 3119}#))
-                              (lambda (#{e 3131}# #{maps 3132}#)
-                                (#{regen 2903}# #{e 3131}#))))
-                          #{tmp 3128}#)
-                        (let ((#{_ 3136}# #{tmp 3127}#))
+                                  #{ellipsis? 439}#
+                                  #{mod 3133}#))
+                              (lambda (#{e 3145}# #{maps 3146}#)
+                                (#{regen 2918}# #{e 3145}#))))
+                          #{tmp 3142}#)
+                        (let ((#{_ 3150}# #{tmp 3141}#))
                           (syntax-violation
                             'syntax
                             "bad `syntax' form"
-                            #{e 3126}#)))))))))))
-      (#{global-extend 335}#
+                            #{e 3140}#)))))))))))
+      (#{global-extend 339}#
         'core
         'lambda
-        (lambda (#{e 3137}#
-                 #{r 3138}#
-                 #{w 3139}#
-                 #{s 3140}#
-                 #{mod 3141}#)
-          (let ((#{tmp 3147}# #{e 3137}#))
-            (let ((#{tmp 3148}#
+        (lambda (#{e 3151}#
+                 #{r 3152}#
+                 #{w 3153}#
+                 #{s 3154}#
+                 #{mod 3155}#)
+          (let ((#{tmp 3161}# #{e 3151}#))
+            (let ((#{tmp 3162}#
                     ($sc-dispatch
-                      #{tmp 3147}#
+                      #{tmp 3161}#
                       '(_ any any . each-any))))
-              (if #{tmp 3148}#
+              (if #{tmp 3162}#
                 (@apply
-                  (lambda (#{args 3152}# #{e1 3153}# #{e2 3154}#)
+                  (lambda (#{args 3166}# #{e1 3167}# #{e2 3168}#)
                     (call-with-values
                       (lambda ()
-                        (#{lambda-formals 437}# #{args 3152}#))
-                      (lambda (#{req 3155}#
-                               #{opt 3156}#
-                               #{rest 3157}#
-                               #{kw 3158}#)
+                        (#{lambda-formals 441}# #{args 3166}#))
+                      (lambda (#{req 3169}#
+                               #{opt 3170}#
+                               #{rest 3171}#
+                               #{kw 3172}#)
                         (letrec*
-                          ((#{lp 3166}#
-                             (lambda (#{body 3167}# #{meta 3168}#)
-                               (let ((#{tmp 3170}# #{body 3167}#))
-                                 (let ((#{tmp 3171}#
+                          ((#{lp 3180}#
+                             (lambda (#{body 3181}# #{meta 3182}#)
+                               (let ((#{tmp 3184}# #{body 3181}#))
+                                 (let ((#{tmp 3185}#
                                          ($sc-dispatch
-                                           #{tmp 3170}#
+                                           #{tmp 3184}#
                                            '(any any . each-any))))
-                                   (if (if #{tmp 3171}#
+                                   (if (if #{tmp 3185}#
                                          (@apply
-                                           (lambda (#{docstring 3175}#
-                                                    #{e1 3176}#
-                                                    #{e2 3177}#)
+                                           (lambda (#{docstring 3189}#
+                                                    #{e1 3190}#
+                                                    #{e2 3191}#)
                                              (string?
                                                (syntax->datum
-                                                 #{docstring 3175}#)))
-                                           #{tmp 3171}#)
+                                                 #{docstring 3189}#)))
+                                           #{tmp 3185}#)
                                          #f)
                                      (@apply
-                                       (lambda (#{docstring 3181}#
-                                                #{e1 3182}#
-                                                #{e2 3183}#)
-                                         (#{lp 3166}#
-                                           (cons #{e1 3182}# #{e2 3183}#)
+                                       (lambda (#{docstring 3195}#
+                                                #{e1 3196}#
+                                                #{e2 3197}#)
+                                         (#{lp 3180}#
+                                           (cons #{e1 3196}# #{e2 3197}#)
                                            (append
-                                             #{meta 3168}#
+                                             #{meta 3182}#
                                              (list (cons 'documentation
                                                          (syntax->datum
-                                                           #{docstring 3181}#))))))
-                                       #{tmp 3171}#)
-                                     (let ((#{tmp 3186}#
+                                                           #{docstring 3195}#))))))
+                                       #{tmp 3185}#)
+                                     (let ((#{tmp 3200}#
                                              ($sc-dispatch
-                                               #{tmp 3170}#
+                                               #{tmp 3184}#
                                                '(#(vector #(each (any . any)))
                                                  any
                                                  .
                                                  each-any))))
-                                       (if #{tmp 3186}#
+                                       (if #{tmp 3200}#
                                          (@apply
-                                           (lambda (#{k 3191}#
-                                                    #{v 3192}#
-                                                    #{e1 3193}#
-                                                    #{e2 3194}#)
-                                             (#{lp 3166}#
-                                               (cons #{e1 3193}# #{e2 3194}#)
+                                           (lambda (#{k 3205}#
+                                                    #{v 3206}#
+                                                    #{e1 3207}#
+                                                    #{e2 3208}#)
+                                             (#{lp 3180}#
+                                               (cons #{e1 3207}# #{e2 3208}#)
                                                (append
-                                                 #{meta 3168}#
+                                                 #{meta 3182}#
                                                  (syntax->datum
                                                    (map cons
-                                                        #{k 3191}#
-                                                        #{v 3192}#)))))
-                                           #{tmp 3186}#)
-                                         (let ((#{_ 3199}# #{tmp 3170}#))
-                                           (#{chi-simple-lambda 439}#
-                                             #{e 3137}#
-                                             #{r 3138}#
-                                             #{w 3139}#
-                                             #{s 3140}#
-                                             #{mod 3141}#
-                                             #{req 3155}#
-                                             #{rest 3157}#
-                                             #{meta 3168}#
-                                             #{body 3167}#))))))))))
+                                                        #{k 3205}#
+                                                        #{v 3206}#)))))
+                                           #{tmp 3200}#)
+                                         (let ((#{_ 3213}# #{tmp 3184}#))
+                                           (#{chi-simple-lambda 443}#
+                                             #{e 3151}#
+                                             #{r 3152}#
+                                             #{w 3153}#
+                                             #{s 3154}#
+                                             #{mod 3155}#
+                                             #{req 3169}#
+                                             #{rest 3171}#
+                                             #{meta 3182}#
+                                             #{body 3181}#))))))))))
                           (begin
-                            (#{lp 3166}#
-                              (cons #{e1 3153}# #{e2 3154}#)
+                            (#{lp 3180}#
+                              (cons #{e1 3167}# #{e2 3168}#)
                               '()))))))
-                  #{tmp 3148}#)
-                (let ((#{_ 3201}# #{tmp 3147}#))
+                  #{tmp 3162}#)
+                (let ((#{_ 3215}# #{tmp 3161}#))
                   (syntax-violation
                     'lambda
                     "bad lambda"
-                    #{e 3137}#)))))))
-      (#{global-extend 335}#
+                    #{e 3151}#)))))))
+      (#{global-extend 339}#
         'core
         'lambda*
-        (lambda (#{e 3202}#
-                 #{r 3203}#
-                 #{w 3204}#
-                 #{s 3205}#
-                 #{mod 3206}#)
-          (let ((#{tmp 3212}# #{e 3202}#))
-            (let ((#{tmp 3213}#
+        (lambda (#{e 3216}#
+                 #{r 3217}#
+                 #{w 3218}#
+                 #{s 3219}#
+                 #{mod 3220}#)
+          (let ((#{tmp 3226}# #{e 3216}#))
+            (let ((#{tmp 3227}#
                     ($sc-dispatch
-                      #{tmp 3212}#
+                      #{tmp 3226}#
                       '(_ any any . each-any))))
-              (if #{tmp 3213}#
+              (if #{tmp 3227}#
                 (@apply
-                  (lambda (#{args 3217}# #{e1 3218}# #{e2 3219}#)
+                  (lambda (#{args 3231}# #{e1 3232}# #{e2 3233}#)
                     (call-with-values
                       (lambda ()
-                        (#{chi-lambda-case 443}#
-                          #{e 3202}#
-                          #{r 3203}#
-                          #{w 3204}#
-                          #{s 3205}#
-                          #{mod 3206}#
-                          #{lambda*-formals 441}#
-                          (list (cons #{args 3217}#
-                                      (cons #{e1 3218}# #{e2 3219}#)))))
-                      (lambda (#{meta 3221}# #{lcase 3222}#)
-                        (#{build-case-lambda 285}#
-                          #{s 3205}#
-                          #{meta 3221}#
-                          #{lcase 3222}#))))
-                  #{tmp 3213}#)
-                (let ((#{_ 3226}# #{tmp 3212}#))
+                        (#{chi-lambda-case 447}#
+                          #{e 3216}#
+                          #{r 3217}#
+                          #{w 3218}#
+                          #{s 3219}#
+                          #{mod 3220}#
+                          #{lambda*-formals 445}#
+                          (list (cons #{args 3231}#
+                                      (cons #{e1 3232}# #{e2 3233}#)))))
+                      (lambda (#{meta 3235}# #{lcase 3236}#)
+                        (#{build-case-lambda 287}#
+                          #{s 3219}#
+                          #{meta 3235}#
+                          #{lcase 3236}#))))
+                  #{tmp 3227}#)
+                (let ((#{_ 3240}# #{tmp 3226}#))
                   (syntax-violation
                     'lambda
                     "bad lambda*"
-                    #{e 3202}#)))))))
-      (#{global-extend 335}#
+                    #{e 3216}#)))))))
+      (#{global-extend 339}#
         'core
         'case-lambda
-        (lambda (#{e 3227}#
-                 #{r 3228}#
-                 #{w 3229}#
-                 #{s 3230}#
-                 #{mod 3231}#)
-          (let ((#{tmp 3237}# #{e 3227}#))
-            (let ((#{tmp 3238}#
+        (lambda (#{e 3241}#
+                 #{r 3242}#
+                 #{w 3243}#
+                 #{s 3244}#
+                 #{mod 3245}#)
+          (let ((#{tmp 3251}# #{e 3241}#))
+            (let ((#{tmp 3252}#
                     ($sc-dispatch
-                      #{tmp 3237}#
+                      #{tmp 3251}#
                       '(_ (any any . each-any)
                           .
                           #(each (any any . each-any))))))
-              (if #{tmp 3238}#
+              (if #{tmp 3252}#
                 (@apply
-                  (lambda (#{args 3245}#
-                           #{e1 3246}#
-                           #{e2 3247}#
-                           #{args* 3248}#
-                           #{e1* 3249}#
-                           #{e2* 3250}#)
+                  (lambda (#{args 3259}#
+                           #{e1 3260}#
+                           #{e2 3261}#
+                           #{args* 3262}#
+                           #{e1* 3263}#
+                           #{e2* 3264}#)
                     (call-with-values
                       (lambda ()
-                        (#{chi-lambda-case 443}#
-                          #{e 3227}#
-                          #{r 3228}#
-                          #{w 3229}#
-                          #{s 3230}#
-                          #{mod 3231}#
-                          #{lambda-formals 437}#
-                          (cons (cons #{args 3245}#
-                                      (cons #{e1 3246}# #{e2 3247}#))
-                                (map (lambda (#{tmp 3254}#
-                                              #{tmp 3253}#
-                                              #{tmp 3252}#)
-                                       (cons #{tmp 3252}#
-                                             (cons #{tmp 3253}# #{tmp 3254}#)))
-                                     #{e2* 3250}#
-                                     #{e1* 3249}#
-                                     #{args* 3248}#))))
-                      (lambda (#{meta 3256}# #{lcase 3257}#)
-                        (#{build-case-lambda 285}#
-                          #{s 3230}#
-                          #{meta 3256}#
-                          #{lcase 3257}#))))
-                  #{tmp 3238}#)
-                (let ((#{_ 3261}# #{tmp 3237}#))
+                        (#{chi-lambda-case 447}#
+                          #{e 3241}#
+                          #{r 3242}#
+                          #{w 3243}#
+                          #{s 3244}#
+                          #{mod 3245}#
+                          #{lambda-formals 441}#
+                          (cons (cons #{args 3259}#
+                                      (cons #{e1 3260}# #{e2 3261}#))
+                                (map (lambda (#{tmp 3268}#
+                                              #{tmp 3267}#
+                                              #{tmp 3266}#)
+                                       (cons #{tmp 3266}#
+                                             (cons #{tmp 3267}# #{tmp 3268}#)))
+                                     #{e2* 3264}#
+                                     #{e1* 3263}#
+                                     #{args* 3262}#))))
+                      (lambda (#{meta 3270}# #{lcase 3271}#)
+                        (#{build-case-lambda 287}#
+                          #{s 3244}#
+                          #{meta 3270}#
+                          #{lcase 3271}#))))
+                  #{tmp 3252}#)
+                (let ((#{_ 3275}# #{tmp 3251}#))
                   (syntax-violation
                     'case-lambda
                     "bad case-lambda"
-                    #{e 3227}#)))))))
-      (#{global-extend 335}#
+                    #{e 3241}#)))))))
+      (#{global-extend 339}#
         'core
         'case-lambda*
-        (lambda (#{e 3262}#
-                 #{r 3263}#
-                 #{w 3264}#
-                 #{s 3265}#
-                 #{mod 3266}#)
-          (let ((#{tmp 3272}# #{e 3262}#))
-            (let ((#{tmp 3273}#
+        (lambda (#{e 3276}#
+                 #{r 3277}#
+                 #{w 3278}#
+                 #{s 3279}#
+                 #{mod 3280}#)
+          (let ((#{tmp 3286}# #{e 3276}#))
+            (let ((#{tmp 3287}#
                     ($sc-dispatch
-                      #{tmp 3272}#
+                      #{tmp 3286}#
                       '(_ (any any . each-any)
                           .
                           #(each (any any . each-any))))))
-              (if #{tmp 3273}#
+              (if #{tmp 3287}#
                 (@apply
-                  (lambda (#{args 3280}#
-                           #{e1 3281}#
-                           #{e2 3282}#
-                           #{args* 3283}#
-                           #{e1* 3284}#
-                           #{e2* 3285}#)
+                  (lambda (#{args 3294}#
+                           #{e1 3295}#
+                           #{e2 3296}#
+                           #{args* 3297}#
+                           #{e1* 3298}#
+                           #{e2* 3299}#)
                     (call-with-values
                       (lambda ()
-                        (#{chi-lambda-case 443}#
-                          #{e 3262}#
-                          #{r 3263}#
-                          #{w 3264}#
-                          #{s 3265}#
-                          #{mod 3266}#
-                          #{lambda*-formals 441}#
-                          (cons (cons #{args 3280}#
-                                      (cons #{e1 3281}# #{e2 3282}#))
-                                (map (lambda (#{tmp 3289}#
-                                              #{tmp 3288}#
-                                              #{tmp 3287}#)
-                                       (cons #{tmp 3287}#
-                                             (cons #{tmp 3288}# #{tmp 3289}#)))
-                                     #{e2* 3285}#
-                                     #{e1* 3284}#
-                                     #{args* 3283}#))))
-                      (lambda (#{meta 3291}# #{lcase 3292}#)
-                        (#{build-case-lambda 285}#
-                          #{s 3265}#
-                          #{meta 3291}#
-                          #{lcase 3292}#))))
-                  #{tmp 3273}#)
-                (let ((#{_ 3296}# #{tmp 3272}#))
+                        (#{chi-lambda-case 447}#
+                          #{e 3276}#
+                          #{r 3277}#
+                          #{w 3278}#
+                          #{s 3279}#
+                          #{mod 3280}#
+                          #{lambda*-formals 445}#
+                          (cons (cons #{args 3294}#
+                                      (cons #{e1 3295}# #{e2 3296}#))
+                                (map (lambda (#{tmp 3303}#
+                                              #{tmp 3302}#
+                                              #{tmp 3301}#)
+                                       (cons #{tmp 3301}#
+                                             (cons #{tmp 3302}# #{tmp 3303}#)))
+                                     #{e2* 3299}#
+                                     #{e1* 3298}#
+                                     #{args* 3297}#))))
+                      (lambda (#{meta 3305}# #{lcase 3306}#)
+                        (#{build-case-lambda 287}#
+                          #{s 3279}#
+                          #{meta 3305}#
+                          #{lcase 3306}#))))
+                  #{tmp 3287}#)
+                (let ((#{_ 3310}# #{tmp 3286}#))
                   (syntax-violation
                     'case-lambda
                     "bad case-lambda*"
-                    #{e 3262}#)))))))
-      (#{global-extend 335}#
+                    #{e 3276}#)))))))
+      (#{global-extend 339}#
         'core
         'let
         (letrec*
-          ((#{chi-let 3298}#
-             (lambda (#{e 3299}#
-                      #{r 3300}#
-                      #{w 3301}#
-                      #{s 3302}#
-                      #{mod 3303}#
-                      #{constructor 3304}#
-                      #{ids 3305}#
-                      #{vals 3306}#
-                      #{exps 3307}#)
-               (if (not (#{valid-bound-ids? 399}# #{ids 3305}#))
+          ((#{chi-let 3312}#
+             (lambda (#{e 3313}#
+                      #{r 3314}#
+                      #{w 3315}#
+                      #{s 3316}#
+                      #{mod 3317}#
+                      #{constructor 3318}#
+                      #{ids 3319}#
+                      #{vals 3320}#
+                      #{exps 3321}#)
+               (if (not (#{valid-bound-ids? 403}# #{ids 3319}#))
                  (syntax-violation
                    'let
                    "duplicate bound variable"
-                   #{e 3299}#)
+                   #{e 3313}#)
                  (begin
-                   (let ((#{labels 3319}#
-                           (#{gen-labels 354}# #{ids 3305}#))
-                         (#{new-vars 3320}#
-                           (map #{gen-var 447}# #{ids 3305}#)))
+                   (let ((#{labels 3333}#
+                           (#{gen-labels 358}# #{ids 3319}#))
+                         (#{new-vars 3334}#
+                           (map #{gen-var 451}# #{ids 3319}#)))
                      (begin
-                       (let ((#{nw 3323}#
-                               (#{make-binding-wrap 383}#
-                                 #{ids 3305}#
-                                 #{labels 3319}#
-                                 #{w 3301}#))
-                             (#{nr 3324}#
-                               (#{extend-var-env 329}#
-                                 #{labels 3319}#
-                                 #{new-vars 3320}#
-                                 #{r 3300}#)))
-                         (#{constructor 3304}#
-                           #{s 3302}#
-                           (map syntax->datum #{ids 3305}#)
-                           #{new-vars 3320}#
-                           (map (lambda (#{x 3325}#)
-                                  (#{chi 419}#
-                                    #{x 3325}#
-                                    #{r 3300}#
-                                    #{w 3301}#
-                                    #{mod 3303}#))
-                                #{vals 3306}#)
-                           (#{chi-body 427}#
-                             #{exps 3307}#
-                             (#{source-wrap 407}#
-                               #{e 3299}#
-                               #{nw 3323}#
-                               #{s 3302}#
-                               #{mod 3303}#)
-                             #{nr 3324}#
-                             #{nw 3323}#
-                             #{mod 3303}#))))))))))
+                       (let ((#{nw 3337}#
+                               (#{make-binding-wrap 387}#
+                                 #{ids 3319}#
+                                 #{labels 3333}#
+                                 #{w 3315}#))
+                             (#{nr 3338}#
+                               (#{extend-var-env 333}#
+                                 #{labels 3333}#
+                                 #{new-vars 3334}#
+                                 #{r 3314}#)))
+                         (#{constructor 3318}#
+                           #{s 3316}#
+                           (map syntax->datum #{ids 3319}#)
+                           #{new-vars 3334}#
+                           (map (lambda (#{x 3339}#)
+                                  (#{chi 423}#
+                                    #{x 3339}#
+                                    #{r 3314}#
+                                    #{w 3315}#
+                                    #{mod 3317}#))
+                                #{vals 3320}#)
+                           (#{chi-body 431}#
+                             #{exps 3321}#
+                             (#{source-wrap 411}#
+                               #{e 3313}#
+                               #{nw 3337}#
+                               #{s 3316}#
+                               #{mod 3317}#)
+                             #{nr 3338}#
+                             #{nw 3337}#
+                             #{mod 3317}#))))))))))
           (begin
-            (lambda (#{e 3327}#
-                     #{r 3328}#
-                     #{w 3329}#
-                     #{s 3330}#
-                     #{mod 3331}#)
-              (let ((#{tmp 3337}# #{e 3327}#))
-                (let ((#{tmp 3338}#
+            (lambda (#{e 3341}#
+                     #{r 3342}#
+                     #{w 3343}#
+                     #{s 3344}#
+                     #{mod 3345}#)
+              (let ((#{tmp 3351}# #{e 3341}#))
+                (let ((#{tmp 3352}#
                         ($sc-dispatch
-                          #{tmp 3337}#
+                          #{tmp 3351}#
                           '(_ #(each (any any)) any . each-any))))
-                  (if (if #{tmp 3338}#
+                  (if (if #{tmp 3352}#
                         (@apply
-                          (lambda (#{id 3343}#
-                                   #{val 3344}#
-                                   #{e1 3345}#
-                                   #{e2 3346}#)
-                            (and-map #{id? 339}# #{id 3343}#))
-                          #{tmp 3338}#)
+                          (lambda (#{id 3357}#
+                                   #{val 3358}#
+                                   #{e1 3359}#
+                                   #{e2 3360}#)
+                            (and-map #{id? 343}# #{id 3357}#))
+                          #{tmp 3352}#)
                         #f)
                     (@apply
-                      (lambda (#{id 3352}#
-                               #{val 3353}#
-                               #{e1 3354}#
-                               #{e2 3355}#)
-                        (#{chi-let 3298}#
-                          #{e 3327}#
-                          #{r 3328}#
-                          #{w 3329}#
-                          #{s 3330}#
-                          #{mod 3331}#
-                          #{build-let 295}#
-                          #{id 3352}#
-                          #{val 3353}#
-                          (cons #{e1 3354}# #{e2 3355}#)))
-                      #{tmp 3338}#)
-                    (let ((#{tmp 3359}#
+                      (lambda (#{id 3366}#
+                               #{val 3367}#
+                               #{e1 3368}#
+                               #{e2 3369}#)
+                        (#{chi-let 3312}#
+                          #{e 3341}#
+                          #{r 3342}#
+                          #{w 3343}#
+                          #{s 3344}#
+                          #{mod 3345}#
+                          #{build-let 299}#
+                          #{id 3366}#
+                          #{val 3367}#
+                          (cons #{e1 3368}# #{e2 3369}#)))
+                      #{tmp 3352}#)
+                    (let ((#{tmp 3373}#
                             ($sc-dispatch
-                              #{tmp 3337}#
+                              #{tmp 3351}#
                               '(_ any #(each (any any)) any . each-any))))
-                      (if (if #{tmp 3359}#
+                      (if (if #{tmp 3373}#
                             (@apply
-                              (lambda (#{f 3365}#
-                                       #{id 3366}#
-                                       #{val 3367}#
-                                       #{e1 3368}#
-                                       #{e2 3369}#)
-                                (if (#{id? 339}# #{f 3365}#)
-                                  (and-map #{id? 339}# #{id 3366}#)
+                              (lambda (#{f 3379}#
+                                       #{id 3380}#
+                                       #{val 3381}#
+                                       #{e1 3382}#
+                                       #{e2 3383}#)
+                                (if (#{id? 343}# #{f 3379}#)
+                                  (and-map #{id? 343}# #{id 3380}#)
                                   #f))
-                              #{tmp 3359}#)
+                              #{tmp 3373}#)
                             #f)
                         (@apply
-                          (lambda (#{f 3378}#
-                                   #{id 3379}#
-                                   #{val 3380}#
-                                   #{e1 3381}#
-                                   #{e2 3382}#)
-                            (#{chi-let 3298}#
-                              #{e 3327}#
-                              #{r 3328}#
-                              #{w 3329}#
-                              #{s 3330}#
-                              #{mod 3331}#
-                              #{build-named-let 297}#
-                              (cons #{f 3378}# #{id 3379}#)
-                              #{val 3380}#
-                              (cons #{e1 3381}# #{e2 3382}#)))
-                          #{tmp 3359}#)
-                        (let ((#{_ 3387}# #{tmp 3337}#))
+                          (lambda (#{f 3392}#
+                                   #{id 3393}#
+                                   #{val 3394}#
+                                   #{e1 3395}#
+                                   #{e2 3396}#)
+                            (#{chi-let 3312}#
+                              #{e 3341}#
+                              #{r 3342}#
+                              #{w 3343}#
+                              #{s 3344}#
+                              #{mod 3345}#
+                              #{build-named-let 301}#
+                              (cons #{f 3392}# #{id 3393}#)
+                              #{val 3394}#
+                              (cons #{e1 3395}# #{e2 3396}#)))
+                          #{tmp 3373}#)
+                        (let ((#{_ 3401}# #{tmp 3351}#))
                           (syntax-violation
                             'let
                             "bad let"
-                            (#{source-wrap 407}#
-                              #{e 3327}#
-                              #{w 3329}#
-                              #{s 3330}#
-                              #{mod 3331}#))))))))))))
-      (#{global-extend 335}#
+                            (#{source-wrap 411}#
+                              #{e 3341}#
+                              #{w 3343}#
+                              #{s 3344}#
+                              #{mod 3345}#))))))))))))
+      (#{global-extend 339}#
         'core
         'letrec
-        (lambda (#{e 3388}#
-                 #{r 3389}#
-                 #{w 3390}#
-                 #{s 3391}#
-                 #{mod 3392}#)
-          (let ((#{tmp 3398}# #{e 3388}#))
-            (let ((#{tmp 3399}#
+        (lambda (#{e 3402}#
+                 #{r 3403}#
+                 #{w 3404}#
+                 #{s 3405}#
+                 #{mod 3406}#)
+          (let ((#{tmp 3412}# #{e 3402}#))
+            (let ((#{tmp 3413}#
                     ($sc-dispatch
-                      #{tmp 3398}#
+                      #{tmp 3412}#
                       '(_ #(each (any any)) any . each-any))))
-              (if (if #{tmp 3399}#
+              (if (if #{tmp 3413}#
                     (@apply
-                      (lambda (#{id 3404}#
-                               #{val 3405}#
-                               #{e1 3406}#
-                               #{e2 3407}#)
-                        (and-map #{id? 339}# #{id 3404}#))
-                      #{tmp 3399}#)
+                      (lambda (#{id 3418}#
+                               #{val 3419}#
+                               #{e1 3420}#
+                               #{e2 3421}#)
+                        (and-map #{id? 343}# #{id 3418}#))
+                      #{tmp 3413}#)
                     #f)
                 (@apply
-                  (lambda (#{id 3413}#
-                           #{val 3414}#
-                           #{e1 3415}#
-                           #{e2 3416}#)
+                  (lambda (#{id 3427}#
+                           #{val 3428}#
+                           #{e1 3429}#
+                           #{e2 3430}#)
                     (begin
-                      (let ((#{ids 3418}# #{id 3413}#))
-                        (if (not (#{valid-bound-ids? 399}# #{ids 3418}#))
+                      (let ((#{ids 3432}# #{id 3427}#))
+                        (if (not (#{valid-bound-ids? 403}# #{ids 3432}#))
                           (syntax-violation
                             'letrec
                             "duplicate bound variable"
-                            #{e 3388}#)
+                            #{e 3402}#)
                           (begin
-                            (let ((#{labels 3422}#
-                                    (#{gen-labels 354}# #{ids 3418}#))
-                                  (#{new-vars 3423}#
-                                    (map #{gen-var 447}# #{ids 3418}#)))
+                            (let ((#{labels 3436}#
+                                    (#{gen-labels 358}# #{ids 3432}#))
+                                  (#{new-vars 3437}#
+                                    (map #{gen-var 451}# #{ids 3432}#)))
                               (begin
-                                (let ((#{w 3426}#
-                                        (#{make-binding-wrap 383}#
-                                          #{ids 3418}#
-                                          #{labels 3422}#
-                                          #{w 3390}#))
-                                      (#{r 3427}#
-                                        (#{extend-var-env 329}#
-                                          #{labels 3422}#
-                                          #{new-vars 3423}#
-                                          #{r 3389}#)))
-                                  (#{build-letrec 299}#
-                                    #{s 3391}#
+                                (let ((#{w 3440}#
+                                        (#{make-binding-wrap 387}#
+                                          #{ids 3432}#
+                                          #{labels 3436}#
+                                          #{w 3404}#))
+                                      (#{r 3441}#
+                                        (#{extend-var-env 333}#
+                                          #{labels 3436}#
+                                          #{new-vars 3437}#
+                                          #{r 3403}#)))
+                                  (#{build-letrec 303}#
+                                    #{s 3405}#
                                     #f
-                                    (map syntax->datum #{ids 3418}#)
-                                    #{new-vars 3423}#
-                                    (map (lambda (#{x 3428}#)
-                                           (#{chi 419}#
-                                             #{x 3428}#
-                                             #{r 3427}#
-                                             #{w 3426}#
-                                             #{mod 3392}#))
-                                         #{val 3414}#)
-                                    (#{chi-body 427}#
-                                      (cons #{e1 3415}# #{e2 3416}#)
-                                      (#{source-wrap 407}#
-                                        #{e 3388}#
-                                        #{w 3426}#
-                                        #{s 3391}#
-                                        #{mod 3392}#)
-                                      #{r 3427}#
-                                      #{w 3426}#
-                                      #{mod 3392}#))))))))))
-                  #{tmp 3399}#)
-                (let ((#{_ 3433}# #{tmp 3398}#))
+                                    (map syntax->datum #{ids 3432}#)
+                                    #{new-vars 3437}#
+                                    (map (lambda (#{x 3442}#)
+                                           (#{chi 423}#
+                                             #{x 3442}#
+                                             #{r 3441}#
+                                             #{w 3440}#
+                                             #{mod 3406}#))
+                                         #{val 3428}#)
+                                    (#{chi-body 431}#
+                                      (cons #{e1 3429}# #{e2 3430}#)
+                                      (#{source-wrap 411}#
+                                        #{e 3402}#
+                                        #{w 3440}#
+                                        #{s 3405}#
+                                        #{mod 3406}#)
+                                      #{r 3441}#
+                                      #{w 3440}#
+                                      #{mod 3406}#))))))))))
+                  #{tmp 3413}#)
+                (let ((#{_ 3447}# #{tmp 3412}#))
                   (syntax-violation
                     'letrec
                     "bad letrec"
-                    (#{source-wrap 407}#
-                      #{e 3388}#
-                      #{w 3390}#
-                      #{s 3391}#
-                      #{mod 3392}#))))))))
-      (#{global-extend 335}#
+                    (#{source-wrap 411}#
+                      #{e 3402}#
+                      #{w 3404}#
+                      #{s 3405}#
+                      #{mod 3406}#))))))))
+      (#{global-extend 339}#
         'core
         'letrec*
-        (lambda (#{e 3434}#
-                 #{r 3435}#
-                 #{w 3436}#
-                 #{s 3437}#
-                 #{mod 3438}#)
-          (let ((#{tmp 3444}# #{e 3434}#))
-            (let ((#{tmp 3445}#
+        (lambda (#{e 3448}#
+                 #{r 3449}#
+                 #{w 3450}#
+                 #{s 3451}#
+                 #{mod 3452}#)
+          (let ((#{tmp 3458}# #{e 3448}#))
+            (let ((#{tmp 3459}#
                     ($sc-dispatch
-                      #{tmp 3444}#
+                      #{tmp 3458}#
                       '(_ #(each (any any)) any . each-any))))
-              (if (if #{tmp 3445}#
+              (if (if #{tmp 3459}#
                     (@apply
-                      (lambda (#{id 3450}#
-                               #{val 3451}#
-                               #{e1 3452}#
-                               #{e2 3453}#)
-                        (and-map #{id? 339}# #{id 3450}#))
-                      #{tmp 3445}#)
+                      (lambda (#{id 3464}#
+                               #{val 3465}#
+                               #{e1 3466}#
+                               #{e2 3467}#)
+                        (and-map #{id? 343}# #{id 3464}#))
+                      #{tmp 3459}#)
                     #f)
                 (@apply
-                  (lambda (#{id 3459}#
-                           #{val 3460}#
-                           #{e1 3461}#
-                           #{e2 3462}#)
+                  (lambda (#{id 3473}#
+                           #{val 3474}#
+                           #{e1 3475}#
+                           #{e2 3476}#)
                     (begin
-                      (let ((#{ids 3464}# #{id 3459}#))
-                        (if (not (#{valid-bound-ids? 399}# #{ids 3464}#))
+                      (let ((#{ids 3478}# #{id 3473}#))
+                        (if (not (#{valid-bound-ids? 403}# #{ids 3478}#))
                           (syntax-violation
                             'letrec*
                             "duplicate bound variable"
-                            #{e 3434}#)
+                            #{e 3448}#)
                           (begin
-                            (let ((#{labels 3468}#
-                                    (#{gen-labels 354}# #{ids 3464}#))
-                                  (#{new-vars 3469}#
-                                    (map #{gen-var 447}# #{ids 3464}#)))
+                            (let ((#{labels 3482}#
+                                    (#{gen-labels 358}# #{ids 3478}#))
+                                  (#{new-vars 3483}#
+                                    (map #{gen-var 451}# #{ids 3478}#)))
                               (begin
-                                (let ((#{w 3472}#
-                                        (#{make-binding-wrap 383}#
-                                          #{ids 3464}#
-                                          #{labels 3468}#
-                                          #{w 3436}#))
-                                      (#{r 3473}#
-                                        (#{extend-var-env 329}#
-                                          #{labels 3468}#
-                                          #{new-vars 3469}#
-                                          #{r 3435}#)))
-                                  (#{build-letrec 299}#
-                                    #{s 3437}#
+                                (let ((#{w 3486}#
+                                        (#{make-binding-wrap 387}#
+                                          #{ids 3478}#
+                                          #{labels 3482}#
+                                          #{w 3450}#))
+                                      (#{r 3487}#
+                                        (#{extend-var-env 333}#
+                                          #{labels 3482}#
+                                          #{new-vars 3483}#
+                                          #{r 3449}#)))
+                                  (#{build-letrec 303}#
+                                    #{s 3451}#
                                     #t
-                                    (map syntax->datum #{ids 3464}#)
-                                    #{new-vars 3469}#
-                                    (map (lambda (#{x 3474}#)
-                                           (#{chi 419}#
-                                             #{x 3474}#
-                                             #{r 3473}#
-                                             #{w 3472}#
-                                             #{mod 3438}#))
-                                         #{val 3460}#)
-                                    (#{chi-body 427}#
-                                      (cons #{e1 3461}# #{e2 3462}#)
-                                      (#{source-wrap 407}#
-                                        #{e 3434}#
-                                        #{w 3472}#
-                                        #{s 3437}#
-                                        #{mod 3438}#)
-                                      #{r 3473}#
-                                      #{w 3472}#
-                                      #{mod 3438}#))))))))))
-                  #{tmp 3445}#)
-                (let ((#{_ 3479}# #{tmp 3444}#))
+                                    (map syntax->datum #{ids 3478}#)
+                                    #{new-vars 3483}#
+                                    (map (lambda (#{x 3488}#)
+                                           (#{chi 423}#
+                                             #{x 3488}#
+                                             #{r 3487}#
+                                             #{w 3486}#
+                                             #{mod 3452}#))
+                                         #{val 3474}#)
+                                    (#{chi-body 431}#
+                                      (cons #{e1 3475}# #{e2 3476}#)
+                                      (#{source-wrap 411}#
+                                        #{e 3448}#
+                                        #{w 3486}#
+                                        #{s 3451}#
+                                        #{mod 3452}#)
+                                      #{r 3487}#
+                                      #{w 3486}#
+                                      #{mod 3452}#))))))))))
+                  #{tmp 3459}#)
+                (let ((#{_ 3493}# #{tmp 3458}#))
                   (syntax-violation
                     'letrec*
                     "bad letrec*"
-                    (#{source-wrap 407}#
-                      #{e 3434}#
-                      #{w 3436}#
-                      #{s 3437}#
-                      #{mod 3438}#))))))))
-      (#{global-extend 335}#
+                    (#{source-wrap 411}#
+                      #{e 3448}#
+                      #{w 3450}#
+                      #{s 3451}#
+                      #{mod 3452}#))))))))
+      (#{global-extend 339}#
         'core
         'set!
-        (lambda (#{e 3480}#
-                 #{r 3481}#
-                 #{w 3482}#
-                 #{s 3483}#
-                 #{mod 3484}#)
-          (let ((#{tmp 3490}# #{e 3480}#))
-            (let ((#{tmp 3491}#
-                    ($sc-dispatch #{tmp 3490}# '(_ any any))))
-              (if (if #{tmp 3491}#
+        (lambda (#{e 3494}#
+                 #{r 3495}#
+                 #{w 3496}#
+                 #{s 3497}#
+                 #{mod 3498}#)
+          (let ((#{tmp 3504}# #{e 3494}#))
+            (let ((#{tmp 3505}#
+                    ($sc-dispatch #{tmp 3504}# '(_ any any))))
+              (if (if #{tmp 3505}#
                     (@apply
-                      (lambda (#{id 3494}# #{val 3495}#)
-                        (#{id? 339}# #{id 3494}#))
-                      #{tmp 3491}#)
+                      (lambda (#{id 3508}# #{val 3509}#)
+                        (#{id? 343}# #{id 3508}#))
+                      #{tmp 3505}#)
                     #f)
                 (@apply
-                  (lambda (#{id 3498}# #{val 3499}#)
+                  (lambda (#{id 3512}# #{val 3513}#)
                     (begin
-                      (let ((#{n 3502}#
-                              (#{id-var-name 393}# #{id 3498}# #{w 3482}#))
-                            (#{id-mod 3503}#
-                              (if (#{syntax-object? 305}# #{id 3498}#)
-                                (#{syntax-object-module 311}# #{id 3498}#)
-                                #{mod 3484}#)))
+                      (let ((#{n 3516}#
+                              (#{id-var-name 397}# #{id 3512}# #{w 3496}#))
+                            (#{id-mod 3517}#
+                              (if (#{syntax-object? 309}# #{id 3512}#)
+                                (#{syntax-object-module 315}# #{id 3512}#)
+                                #{mod 3498}#)))
                         (begin
-                          (let ((#{b 3505}#
-                                  (#{lookup 333}#
-                                    #{n 3502}#
-                                    #{r 3481}#
-                                    #{id-mod 3503}#)))
+                          (let ((#{b 3519}#
+                                  (#{lookup 337}#
+                                    #{n 3516}#
+                                    #{r 3495}#
+                                    #{id-mod 3517}#)))
                             (begin
-                              (let ((#{atom-key 3508}# (car #{b 3505}#)))
-                                (if (eqv? #{atom-key 3508}# 'lexical)
-                                  (#{build-lexical-assignment 273}#
-                                    #{s 3483}#
-                                    (syntax->datum #{id 3498}#)
-                                    (cdr #{b 3505}#)
-                                    (#{chi 419}#
-                                      #{val 3499}#
-                                      #{r 3481}#
-                                      #{w 3482}#
-                                      #{mod 3484}#))
-                                  (if (eqv? #{atom-key 3508}# 'global)
-                                    (#{build-global-assignment 279}#
-                                      #{s 3483}#
-                                      #{n 3502}#
-                                      (#{chi 419}#
-                                        #{val 3499}#
-                                        #{r 3481}#
-                                        #{w 3482}#
-                                        #{mod 3484}#)
-                                      #{id-mod 3503}#)
-                                    (if (eqv? #{atom-key 3508}# 'macro)
+                              (let ((#{atom-key 3522}# (car #{b 3519}#)))
+                                (if (memv #{atom-key 3522}# '(lexical))
+                                  (#{build-lexical-assignment 275}#
+                                    #{s 3497}#
+                                    (syntax->datum #{id 3512}#)
+                                    (cdr #{b 3519}#)
+                                    (#{chi 423}#
+                                      #{val 3513}#
+                                      #{r 3495}#
+                                      #{w 3496}#
+                                      #{mod 3498}#))
+                                  (if (memv #{atom-key 3522}# '(global))
+                                    (#{build-global-assignment 281}#
+                                      #{s 3497}#
+                                      #{n 3516}#
+                                      (#{chi 423}#
+                                        #{val 3513}#
+                                        #{r 3495}#
+                                        #{w 3496}#
+                                        #{mod 3498}#)
+                                      #{id-mod 3517}#)
+                                    (if (memv #{atom-key 3522}# '(macro))
                                       (begin
-                                        (let ((#{p 3515}# (cdr #{b 3505}#)))
+                                        (let ((#{p 3529}# (cdr #{b 3519}#)))
                                           (if (procedure-property
-                                                #{p 3515}#
+                                                #{p 3529}#
                                                 'variable-transformer)
-                                            (#{chi 419}#
-                                              (#{chi-macro 425}#
-                                                #{p 3515}#
-                                                #{e 3480}#
-                                                #{r 3481}#
-                                                #{w 3482}#
-                                                #{s 3483}#
+                                            (#{chi 423}#
+                                              (#{chi-macro 429}#
+                                                #{p 3529}#
+                                                #{e 3494}#
+                                                #{r 3495}#
+                                                #{w 3496}#
+                                                #{s 3497}#
                                                 #f
-                                                #{mod 3484}#)
-                                              #{r 3481}#
+                                                #{mod 3498}#)
+                                              #{r 3495}#
                                               '(())
-                                              #{mod 3484}#)
+                                              #{mod 3498}#)
                                             (syntax-violation
                                               'set!
                                               "not a variable transformer"
-                                              (#{wrap 405}#
-                                                #{e 3480}#
-                                                #{w 3482}#
-                                                #{mod 3484}#)
-                                              (#{wrap 405}#
-                                                #{id 3498}#
-                                                #{w 3482}#
-                                                #{id-mod 3503}#)))))
-                                      (if (eqv? #{atom-key 3508}#
-                                                'displaced-lexical)
+                                              (#{wrap 409}#
+                                                #{e 3494}#
+                                                #{w 3496}#
+                                                #{mod 3498}#)
+                                              (#{wrap 409}#
+                                                #{id 3512}#
+                                                #{w 3496}#
+                                                #{id-mod 3517}#)))))
+                                      (if (memv #{atom-key 3522}#
+                                                '(displaced-lexical))
                                         (syntax-violation
                                           'set!
                                           "identifier out of context"
-                                          (#{wrap 405}#
-                                            #{id 3498}#
-                                            #{w 3482}#
-                                            #{mod 3484}#))
+                                          (#{wrap 409}#
+                                            #{id 3512}#
+                                            #{w 3496}#
+                                            #{mod 3498}#))
                                         (syntax-violation
                                           'set!
                                           "bad set!"
-                                          (#{source-wrap 407}#
-                                            #{e 3480}#
-                                            #{w 3482}#
-                                            #{s 3483}#
-                                            #{mod 3484}#)))))))))))))
-                  #{tmp 3491}#)
-                (let ((#{tmp 3520}#
+                                          (#{source-wrap 411}#
+                                            #{e 3494}#
+                                            #{w 3496}#
+                                            #{s 3497}#
+                                            #{mod 3498}#)))))))))))))
+                  #{tmp 3505}#)
+                (let ((#{tmp 3534}#
                         ($sc-dispatch
-                          #{tmp 3490}#
+                          #{tmp 3504}#
                           '(_ (any . each-any) any))))
-                  (if #{tmp 3520}#
+                  (if #{tmp 3534}#
                     (@apply
-                      (lambda (#{head 3524}# #{tail 3525}# #{val 3526}#)
+                      (lambda (#{head 3538}# #{tail 3539}# #{val 3540}#)
                         (call-with-values
                           (lambda ()
-                            (#{syntax-type 417}#
-                              #{head 3524}#
-                              #{r 3481}#
+                            (#{syntax-type 421}#
+                              #{head 3538}#
+                              #{r 3495}#
                               '(())
                               #f
                               #f
-                              #{mod 3484}#
+                              #{mod 3498}#
                               #t))
-                          (lambda (#{type 3529}#
-                                   #{value 3530}#
-                                   #{ee 3531}#
-                                   #{ww 3532}#
-                                   #{ss 3533}#
-                                   #{modmod 3534}#)
-                            (if (eqv? #{type 3529}# 'module-ref)
+                          (lambda (#{type 3543}#
+                                   #{value 3544}#
+                                   #{ee 3545}#
+                                   #{ww 3546}#
+                                   #{ss 3547}#
+                                   #{modmod 3548}#)
+                            (if (memv #{type 3543}# '(module-ref))
                               (begin
-                                (let ((#{val 3543}#
-                                        (#{chi 419}#
-                                          #{val 3526}#
-                                          #{r 3481}#
-                                          #{w 3482}#
-                                          #{mod 3484}#)))
+                                (let ((#{val 3557}#
+                                        (#{chi 423}#
+                                          #{val 3540}#
+                                          #{r 3495}#
+                                          #{w 3496}#
+                                          #{mod 3498}#)))
                                   (call-with-values
                                     (lambda ()
-                                      (#{value 3530}#
-                                        (cons #{head 3524}# #{tail 3525}#)
-                                        #{r 3481}#
-                                        #{w 3482}#))
-                                    (lambda (#{e 3545}#
-                                             #{r 3546}#
-                                             #{w 3547}#
-                                             #{s* 3548}#
-                                             #{mod 3549}#)
-                                      (let ((#{tmp 3555}# #{e 3545}#))
-                                        (let ((#{tmp 3556}#
-                                                (list #{tmp 3555}#)))
-                                          (if (if #{tmp 3556}#
+                                      (#{value 3544}#
+                                        (cons #{head 3538}# #{tail 3539}#)
+                                        #{r 3495}#
+                                        #{w 3496}#))
+                                    (lambda (#{e 3559}#
+                                             #{r 3560}#
+                                             #{w 3561}#
+                                             #{s* 3562}#
+                                             #{mod 3563}#)
+                                      (let ((#{tmp 3569}# #{e 3559}#))
+                                        (let ((#{tmp 3570}#
+                                                (list #{tmp 3569}#)))
+                                          (if (if #{tmp 3570}#
                                                 (@apply
-                                                  (lambda (#{e 3558}#)
-                                                    (#{id? 339}# #{e 3558}#))
-                                                  #{tmp 3556}#)
+                                                  (lambda (#{e 3572}#)
+                                                    (#{id? 343}# #{e 3572}#))
+                                                  #{tmp 3570}#)
                                                 #f)
                                             (@apply
-                                              (lambda (#{e 3560}#)
-                                                (#{build-global-assignment 279}#
-                                                  #{s 3483}#
-                                                  (syntax->datum #{e 3560}#)
-                                                  #{val 3543}#
-                                                  #{mod 3549}#))
-                                              #{tmp 3556}#)
+                                              (lambda (#{e 3574}#)
+                                                (#{build-global-assignment 281}#
+                                                  #{s 3497}#
+                                                  (syntax->datum #{e 3574}#)
+                                                  #{val 3557}#
+                                                  #{mod 3563}#))
+                                              #{tmp 3570}#)
                                             (syntax-violation
                                               #f
                                               "source expression failed to match any pattern"
-                                              #{tmp 3555}#))))))))
-                              (#{build-call 265}#
-                                #{s 3483}#
-                                (#{chi 419}#
+                                              #{tmp 3569}#))))))))
+                              (#{build-call 267}#
+                                #{s 3497}#
+                                (#{chi 423}#
                                   (list '#(syntax-object
                                            setter
                                            ((top)
                                                 (top)
                                                 (top)
                                                 (top))
-                                              #("i3535"
-                                                "i3536"
-                                                "i3537"
-                                                "i3538"
-                                                "i3539"
-                                                "i3540"))
+                                              #("i3549"
+                                                "i3550"
+                                                "i3551"
+                                                "i3552"
+                                                "i3553"
+                                                "i3554"))
                                             #(ribcage
                                               #(head tail val)
                                               #((top) (top) (top))
-                                              #("i3521" "i3522" "i3523"))
+                                              #("i3535" "i3536" "i3537"))
                                             #(ribcage () () ())
                                             #(ribcage
                                               #(e r w s mod)
                                               #((top) (top) (top) (top) (top))
-                                              #("i3485"
-                                                "i3486"
-                                                "i3487"
-                                                "i3488"
-                                                "i3489"))
+                                              #("i3499"
+                                                "i3500"
+                                                "i3501"
+                                                "i3502"
+                                                "i3503"))
                                             #(ribcage
                                               (lambda-var-list
                                                 gen-var
                                                 build-sequence
                                                 build-data
                                                 build-primref
+                                                build-primcall
                                                 build-lambda-case
                                                 build-case-lambda
                                                 build-simple-lambda
                                                 make-lambda-case
                                                 make-lambda
                                                 make-sequence
+                                                make-primcall
                                                 make-call
                                                 make-conditional
                                                 make-toplevel-define
                                                (top)
                                                (top)
                                                (top)
+                                               (top)
+                                               (top)
                                                (top))
-                                              ("i448"
+                                              ("i452"
+                                               "i450"
+                                               "i448"
                                                "i446"
                                                "i444"
                                                "i442"
                                                "i388"
                                                "i386"
                                                "i384"
+                                               "i383"
                                                "i382"
                                                "i380"
                                                "i379"
                                                "i378"
+                                               "i377"
                                                "i376"
-                                               "i375"
                                                "i374"
-                                               "i373"
                                                "i372"
                                                "i370"
                                                "i368"
                                                "i364"
                                                "i362"
                                                "i360"
-                                               "i358"
-                                               "i356"
+                                               "i357"
+                                               "i355"
+                                               "i354"
                                                "i353"
+                                               "i352"
                                                "i351"
                                                "i350"
                                                "i349"
                                                "i348"
                                                "i347"
-                                               "i346"
                                                "i345"
                                                "i344"
-                                               "i343"
-                                               "i341"
+                                               "i342"
                                                "i340"
                                                "i338"
                                                "i336"
                                                "i334"
                                                "i332"
                                                "i330"
+                                               "i329"
                                                "i328"
+                                               "i327"
                                                "i326"
                                                "i325"
-                                               "i324"
                                                "i323"
                                                "i322"
-                                               "i321"
-                                               "i319"
+                                               "i320"
                                                "i318"
                                                "i316"
                                                "i314"
                                                "i260"
                                                "i258"
                                                "i256"
-                                               "i254"
+                                               "i255"
                                                "i253"
                                                "i251"
+                                               "i250"
                                                "i249"
                                                "i248"
                                                "i247"
-                                               "i246"
                                                "i245"
                                                "i243"
                                                "i241"
-                                               "i239"
+                                               "i238"
                                                "i236"
                                                "i234"
                                                "i232"
                                               ((top) (top) (top))
                                               ("i40" "i39" "i38")))
                                            (hygiene guile))
-                                        #{head 3524}#)
-                                  #{r 3481}#
-                                  #{w 3482}#
-                                  #{mod 3484}#)
-                                (map (lambda (#{e 3562}#)
-                                       (#{chi 419}#
-                                         #{e 3562}#
-                                         #{r 3481}#
-                                         #{w 3482}#
-                                         #{mod 3484}#))
+                                        #{head 3538}#)
+                                  #{r 3495}#
+                                  #{w 3496}#
+                                  #{mod 3498}#)
+                                (map (lambda (#{e 3576}#)
+                                       (#{chi 423}#
+                                         #{e 3576}#
+                                         #{r 3495}#
+                                         #{w 3496}#
+                                         #{mod 3498}#))
                                      (append
-                                       #{tail 3525}#
-                                       (list #{val 3526}#))))))))
-                      #{tmp 3520}#)
-                    (let ((#{_ 3566}# #{tmp 3490}#))
+                                       #{tail 3539}#
+                                       (list #{val 3540}#))))))))
+                      #{tmp 3534}#)
+                    (let ((#{_ 3580}# #{tmp 3504}#))
                       (syntax-violation
                         'set!
                         "bad set!"
-                        (#{source-wrap 407}#
-                          #{e 3480}#
-                          #{w 3482}#
-                          #{s 3483}#
-                          #{mod 3484}#))))))))))
-      (#{global-extend 335}#
+                        (#{source-wrap 411}#
+                          #{e 3494}#
+                          #{w 3496}#
+                          #{s 3497}#
+                          #{mod 3498}#))))))))))
+      (#{global-extend 339}#
         'module-ref
         '@
-        (lambda (#{e 3567}# #{r 3568}# #{w 3569}#)
-          (let ((#{tmp 3573}# #{e 3567}#))
-            (let ((#{tmp 3574}#
-                    ($sc-dispatch #{tmp 3573}# '(_ each-any any))))
-              (if (if #{tmp 3574}#
+        (lambda (#{e 3581}# #{r 3582}# #{w 3583}#)
+          (let ((#{tmp 3587}# #{e 3581}#))
+            (let ((#{tmp 3588}#
+                    ($sc-dispatch #{tmp 3587}# '(_ each-any any))))
+              (if (if #{tmp 3588}#
                     (@apply
-                      (lambda (#{mod 3577}# #{id 3578}#)
-                        (if (and-map #{id? 339}# #{mod 3577}#)
-                          (#{id? 339}# #{id 3578}#)
+                      (lambda (#{mod 3591}# #{id 3592}#)
+                        (if (and-map #{id? 343}# #{mod 3591}#)
+                          (#{id? 343}# #{id 3592}#)
                           #f))
-                      #{tmp 3574}#)
+                      #{tmp 3588}#)
                     #f)
                 (@apply
-                  (lambda (#{mod 3584}# #{id 3585}#)
+                  (lambda (#{mod 3598}# #{id 3599}#)
                     (values
-                      (syntax->datum #{id 3585}#)
-                      #{r 3568}#
-                      #{w 3569}#
+                      (syntax->datum #{id 3599}#)
+                      #{r 3582}#
+                      #{w 3583}#
                       #f
                       (syntax->datum
                         (cons '#(syntax-object
                                   #(ribcage
                                     #(mod id)
                                     #((top) (top))
-                                    #("i3582" "i3583"))
+                                    #("i3596" "i3597"))
                                   #(ribcage () () ())
                                   #(ribcage
                                     #(e r w)
                                     #((top) (top) (top))
-                                    #("i3570" "i3571" "i3572"))
+                                    #("i3584" "i3585" "i3586"))
                                   #(ribcage
                                     (lambda-var-list
                                       gen-var
                                       build-sequence
                                       build-data
                                       build-primref
+                                      build-primcall
                                       build-lambda-case
                                       build-case-lambda
                                       build-simple-lambda
                                       make-lambda-case
                                       make-lambda
                                       make-sequence
+                                      make-primcall
                                       make-call
                                       make-conditional
                                       make-toplevel-define
                                      (top)
                                      (top)
                                      (top)
+                                     (top)
+                                     (top)
                                      (top))
-                                    ("i448"
+                                    ("i452"
+                                     "i450"
+                                     "i448"
                                      "i446"
                                      "i444"
                                      "i442"
                                      "i388"
                                      "i386"
                                      "i384"
+                                     "i383"
                                      "i382"
                                      "i380"
                                      "i379"
                                      "i378"
+                                     "i377"
                                      "i376"
-                                     "i375"
                                      "i374"
-                                     "i373"
                                      "i372"
                                      "i370"
                                      "i368"
                                      "i364"
                                      "i362"
                                      "i360"
-                                     "i358"
-                                     "i356"
+                                     "i357"
+                                     "i355"
+                                     "i354"
                                      "i353"
+                                     "i352"
                                      "i351"
                                      "i350"
                                      "i349"
                                      "i348"
                                      "i347"
-                                     "i346"
                                      "i345"
                                      "i344"
-                                     "i343"
-                                     "i341"
+                                     "i342"
                                      "i340"
                                      "i338"
                                      "i336"
                                      "i334"
                                      "i332"
                                      "i330"
+                                     "i329"
                                      "i328"
+                                     "i327"
                                      "i326"
                                      "i325"
-                                     "i324"
                                      "i323"
                                      "i322"
-                                     "i321"
-                                     "i319"
+                                     "i320"
                                      "i318"
                                      "i316"
                                      "i314"
                                      "i260"
                                      "i258"
                                      "i256"
-                                     "i254"
+                                     "i255"
                                      "i253"
                                      "i251"
+                                     "i250"
                                      "i249"
                                      "i248"
                                      "i247"
-                                     "i246"
                                      "i245"
                                      "i243"
                                      "i241"
-                                     "i239"
+                                     "i238"
                                      "i236"
                                      "i234"
                                      "i232"
                                     ((top) (top) (top))
                                     ("i40" "i39" "i38")))
                                  (hygiene guile))
-                              #{mod 3584}#))))
-                  #{tmp 3574}#)
+                              #{mod 3598}#))))
+                  #{tmp 3588}#)
                 (syntax-violation
                   #f
                   "source expression failed to match any pattern"
-                  #{tmp 3573}#))))))
-      (#{global-extend 335}#
+                  #{tmp 3587}#))))))
+      (#{global-extend 339}#
         'module-ref
         '@@
-        (lambda (#{e 3587}# #{r 3588}# #{w 3589}#)
+        (lambda (#{e 3601}# #{r 3602}# #{w 3603}#)
           (letrec*
-            ((#{remodulate 3594}#
-               (lambda (#{x 3595}# #{mod 3596}#)
-                 (if (pair? #{x 3595}#)
-                   (cons (#{remodulate 3594}#
-                           (car #{x 3595}#)
-                           #{mod 3596}#)
-                         (#{remodulate 3594}#
-                           (cdr #{x 3595}#)
-                           #{mod 3596}#))
-                   (if (#{syntax-object? 305}# #{x 3595}#)
-                     (#{make-syntax-object 303}#
-                       (#{remodulate 3594}#
-                         (#{syntax-object-expression 307}# #{x 3595}#)
-                         #{mod 3596}#)
-                       (#{syntax-object-wrap 309}# #{x 3595}#)
-                       #{mod 3596}#)
-                     (if (vector? #{x 3595}#)
+            ((#{remodulate 3608}#
+               (lambda (#{x 3609}# #{mod 3610}#)
+                 (if (pair? #{x 3609}#)
+                   (cons (#{remodulate 3608}#
+                           (car #{x 3609}#)
+                           #{mod 3610}#)
+                         (#{remodulate 3608}#
+                           (cdr #{x 3609}#)
+                           #{mod 3610}#))
+                   (if (#{syntax-object? 309}# #{x 3609}#)
+                     (#{make-syntax-object 307}#
+                       (#{remodulate 3608}#
+                         (#{syntax-object-expression 311}# #{x 3609}#)
+                         #{mod 3610}#)
+                       (#{syntax-object-wrap 313}# #{x 3609}#)
+                       #{mod 3610}#)
+                     (if (vector? #{x 3609}#)
                        (begin
-                         (let ((#{n 3607}# (vector-length #{x 3595}#)))
+                         (let ((#{n 3621}# (vector-length #{x 3609}#)))
                            (begin
-                             (let ((#{v 3609}# (make-vector #{n 3607}#)))
+                             (let ((#{v 3623}# (make-vector #{n 3621}#)))
                                (letrec*
-                                 ((#{loop 3612}#
-                                    (lambda (#{i 3613}#)
-                                      (if (= #{i 3613}# #{n 3607}#)
-                                        (begin (if #f #f) #{v 3609}#)
+                                 ((#{loop 3626}#
+                                    (lambda (#{i 3627}#)
+                                      (if (= #{i 3627}# #{n 3621}#)
+                                        (begin (if #f #f) #{v 3623}#)
                                         (begin
                                           (vector-set!
-                                            #{v 3609}#
-                                            #{i 3613}#
-                                            (#{remodulate 3594}#
+                                            #{v 3623}#
+                                            #{i 3627}#
+                                            (#{remodulate 3608}#
                                               (vector-ref
-                                                #{x 3595}#
-                                                #{i 3613}#)
-                                              #{mod 3596}#))
-                                          (#{loop 3612}#
-                                            (#{1+}# #{i 3613}#)))))))
-                                 (begin (#{loop 3612}# 0)))))))
-                       #{x 3595}#))))))
+                                                #{x 3609}#
+                                                #{i 3627}#)
+                                              #{mod 3610}#))
+                                          (#{loop 3626}#
+                                            (#{1+}# #{i 3627}#)))))))
+                                 (begin (#{loop 3626}# 0)))))))
+                       #{x 3609}#))))))
             (begin
-              (let ((#{tmp 3619}# #{e 3587}#))
-                (let ((#{tmp 3620}#
-                        ($sc-dispatch #{tmp 3619}# '(_ each-any any))))
-                  (if (if #{tmp 3620}#
+              (let ((#{tmp 3633}# #{e 3601}#))
+                (let ((#{tmp 3634}#
+                        ($sc-dispatch #{tmp 3633}# '(_ each-any any))))
+                  (if (if #{tmp 3634}#
                         (@apply
-                          (lambda (#{mod 3623}# #{exp 3624}#)
-                            (and-map #{id? 339}# #{mod 3623}#))
-                          #{tmp 3620}#)
+                          (lambda (#{mod 3637}# #{exp 3638}#)
+                            (and-map #{id? 343}# #{mod 3637}#))
+                          #{tmp 3634}#)
                         #f)
                     (@apply
-                      (lambda (#{mod 3628}# #{exp 3629}#)
+                      (lambda (#{mod 3642}# #{exp 3643}#)
                         (begin
-                          (let ((#{mod 3631}#
+                          (let ((#{mod 3645}#
                                   (syntax->datum
                                     (cons '#(syntax-object
                                              private
                                               #(ribcage
                                                 #(mod exp)
                                                 #((top) (top))
-                                                #("i3626" "i3627"))
+                                                #("i3640" "i3641"))
                                               #(ribcage
                                                 (remodulate)
                                                 ((top))
-                                                ("i3593"))
+                                                ("i3607"))
                                               #(ribcage
                                                 #(e r w)
                                                 #((top) (top) (top))
-                                                #("i3590" "i3591" "i3592"))
+                                                #("i3604" "i3605" "i3606"))
                                               #(ribcage
                                                 (lambda-var-list
                                                   gen-var
                                                   build-sequence
                                                   build-data
                                                   build-primref
+                                                  build-primcall
                                                   build-lambda-case
                                                   build-case-lambda
                                                   build-simple-lambda
                                                   make-lambda-case
                                                   make-lambda
                                                   make-sequence
+                                                  make-primcall
                                                   make-call
                                                   make-conditional
                                                   make-toplevel-define
                                                  (top)
                                                  (top)
                                                  (top)
+                                                 (top)
+                                                 (top)
                                                  (top))
-                                                ("i448"
+                                                ("i452"
+                                                 "i450"
+                                                 "i448"
                                                  "i446"
                                                  "i444"
                                                  "i442"
                                                  "i388"
                                                  "i386"
                                                  "i384"
+                                                 "i383"
                                                  "i382"
                                                  "i380"
                                                  "i379"
                                                  "i378"
+                                                 "i377"
                                                  "i376"
-                                                 "i375"
                                                  "i374"
-                                                 "i373"
                                                  "i372"
                                                  "i370"
                                                  "i368"
                                                  "i364"
                                                  "i362"
                                                  "i360"
-                                                 "i358"
-                                                 "i356"
+                                                 "i357"
+                                                 "i355"
+                                                 "i354"
                                                  "i353"
+                                                 "i352"
                                                  "i351"
                                                  "i350"
                                                  "i349"
                                                  "i348"
                                                  "i347"
-                                                 "i346"
                                                  "i345"
                                                  "i344"
-                                                 "i343"
-                                                 "i341"
+                                                 "i342"
                                                  "i340"
                                                  "i338"
                                                  "i336"
                                                  "i334"
                                                  "i332"
                                                  "i330"
+                                                 "i329"
                                                  "i328"
+                                                 "i327"
                                                  "i326"
                                                  "i325"
-                                                 "i324"
                                                  "i323"
                                                  "i322"
-                                                 "i321"
-                                                 "i319"
+                                                 "i320"
                                                  "i318"
                                                  "i316"
                                                  "i314"
                                                  "i260"
                                                  "i258"
                                                  "i256"
-                                                 "i254"
+                                                 "i255"
                                                  "i253"
                                                  "i251"
+                                                 "i250"
                                                  "i249"
                                                  "i248"
                                                  "i247"
-                                                 "i246"
                                                  "i245"
                                                  "i243"
                                                  "i241"
-                                                 "i239"
+                                                 "i238"
                                                  "i236"
                                                  "i234"
                                                  "i232"
                                                 ((top) (top) (top))
                                                 ("i40" "i39" "i38")))
                                              (hygiene guile))
-                                          #{mod 3628}#))))
+                                          #{mod 3642}#))))
                             (values
-                              (#{remodulate 3594}# #{exp 3629}# #{mod 3631}#)
-                              #{r 3588}#
-                              #{w 3589}#
-                              (#{source-annotation 320}# #{exp 3629}#)
-                              #{mod 3631}#))))
-                      #{tmp 3620}#)
+                              (#{remodulate 3608}# #{exp 3643}# #{mod 3645}#)
+                              #{r 3602}#
+                              #{w 3603}#
+                              (#{source-annotation 324}# #{exp 3643}#)
+                              #{mod 3645}#))))
+                      #{tmp 3634}#)
                     (syntax-violation
                       #f
                       "source expression failed to match any pattern"
-                      #{tmp 3619}#))))))))
-      (#{global-extend 335}#
+                      #{tmp 3633}#))))))))
+      (#{global-extend 339}#
         'core
         'if
-        (lambda (#{e 3633}#
-                 #{r 3634}#
-                 #{w 3635}#
-                 #{s 3636}#
-                 #{mod 3637}#)
-          (let ((#{tmp 3643}# #{e 3633}#))
-            (let ((#{tmp 3644}#
-                    ($sc-dispatch #{tmp 3643}# '(_ any any))))
-              (if #{tmp 3644}#
+        (lambda (#{e 3647}#
+                 #{r 3648}#
+                 #{w 3649}#
+                 #{s 3650}#
+                 #{mod 3651}#)
+          (let ((#{tmp 3657}# #{e 3647}#))
+            (let ((#{tmp 3658}#
+                    ($sc-dispatch #{tmp 3657}# '(_ any any))))
+              (if #{tmp 3658}#
                 (@apply
-                  (lambda (#{test 3647}# #{then 3648}#)
-                    (#{build-conditional 267}#
-                      #{s 3636}#
-                      (#{chi 419}#
-                        #{test 3647}#
-                        #{r 3634}#
-                        #{w 3635}#
-                        #{mod 3637}#)
-                      (#{chi 419}#
-                        #{then 3648}#
-                        #{r 3634}#
-                        #{w 3635}#
-                        #{mod 3637}#)
-                      (#{build-void 263}# #f)))
-                  #{tmp 3644}#)
-                (let ((#{tmp 3650}#
-                        ($sc-dispatch #{tmp 3643}# '(_ any any any))))
-                  (if #{tmp 3650}#
+                  (lambda (#{test 3661}# #{then 3662}#)
+                    (#{build-conditional 269}#
+                      #{s 3650}#
+                      (#{chi 423}#
+                        #{test 3661}#
+                        #{r 3648}#
+                        #{w 3649}#
+                        #{mod 3651}#)
+                      (#{chi 423}#
+                        #{then 3662}#
+                        #{r 3648}#
+                        #{w 3649}#
+                        #{mod 3651}#)
+                      (#{build-void 265}# #f)))
+                  #{tmp 3658}#)
+                (let ((#{tmp 3664}#
+                        ($sc-dispatch #{tmp 3657}# '(_ any any any))))
+                  (if #{tmp 3664}#
                     (@apply
-                      (lambda (#{test 3654}# #{then 3655}# #{else 3656}#)
-                        (#{build-conditional 267}#
-                          #{s 3636}#
-                          (#{chi 419}#
-                            #{test 3654}#
-                            #{r 3634}#
-                            #{w 3635}#
-                            #{mod 3637}#)
-                          (#{chi 419}#
-                            #{then 3655}#
-                            #{r 3634}#
-                            #{w 3635}#
-                            #{mod 3637}#)
-                          (#{chi 419}#
-                            #{else 3656}#
-                            #{r 3634}#
-                            #{w 3635}#
-                            #{mod 3637}#)))
-                      #{tmp 3650}#)
+                      (lambda (#{test 3668}# #{then 3669}# #{else 3670}#)
+                        (#{build-conditional 269}#
+                          #{s 3650}#
+                          (#{chi 423}#
+                            #{test 3668}#
+                            #{r 3648}#
+                            #{w 3649}#
+                            #{mod 3651}#)
+                          (#{chi 423}#
+                            #{then 3669}#
+                            #{r 3648}#
+                            #{w 3649}#
+                            #{mod 3651}#)
+                          (#{chi 423}#
+                            #{else 3670}#
+                            #{r 3648}#
+                            #{w 3649}#
+                            #{mod 3651}#)))
+                      #{tmp 3664}#)
                     (syntax-violation
                       #f
                       "source expression failed to match any pattern"
-                      #{tmp 3643}#))))))))
-      (#{global-extend 335}#
+                      #{tmp 3657}#))))))))
+      (#{global-extend 339}#
         'core
         'with-fluids
-        (lambda (#{e 3657}#
-                 #{r 3658}#
-                 #{w 3659}#
-                 #{s 3660}#
-                 #{mod 3661}#)
-          (let ((#{tmp 3667}# #{e 3657}#))
-            (let ((#{tmp 3668}#
+        (lambda (#{e 3671}#
+                 #{r 3672}#
+                 #{w 3673}#
+                 #{s 3674}#
+                 #{mod 3675}#)
+          (let ((#{tmp 3681}# #{e 3671}#))
+            (let ((#{tmp 3682}#
                     ($sc-dispatch
-                      #{tmp 3667}#
+                      #{tmp 3681}#
                       '(_ #(each (any any)) any . each-any))))
-              (if #{tmp 3668}#
+              (if #{tmp 3682}#
                 (@apply
-                  (lambda (#{fluid 3673}#
-                           #{val 3674}#
-                           #{b 3675}#
-                           #{b* 3676}#)
-                    (#{build-dynlet 269}#
-                      #{s 3660}#
-                      (map (lambda (#{x 3677}#)
-                             (#{chi 419}#
-                               #{x 3677}#
-                               #{r 3658}#
-                               #{w 3659}#
-                               #{mod 3661}#))
-                           #{fluid 3673}#)
-                      (map (lambda (#{x 3680}#)
-                             (#{chi 419}#
-                               #{x 3680}#
-                               #{r 3658}#
-                               #{w 3659}#
-                               #{mod 3661}#))
-                           #{val 3674}#)
-                      (#{chi-body 427}#
-                        (cons #{b 3675}# #{b* 3676}#)
-                        (#{source-wrap 407}#
-                          #{e 3657}#
-                          #{w 3659}#
-                          #{s 3660}#
-                          #{mod 3661}#)
-                        #{r 3658}#
-                        #{w 3659}#
-                        #{mod 3661}#)))
-                  #{tmp 3668}#)
+                  (lambda (#{fluid 3687}#
+                           #{val 3688}#
+                           #{b 3689}#
+                           #{b* 3690}#)
+                    (#{build-dynlet 271}#
+                      #{s 3674}#
+                      (map (lambda (#{x 3691}#)
+                             (#{chi 423}#
+                               #{x 3691}#
+                               #{r 3672}#
+                               #{w 3673}#
+                               #{mod 3675}#))
+                           #{fluid 3687}#)
+                      (map (lambda (#{x 3694}#)
+                             (#{chi 423}#
+                               #{x 3694}#
+                               #{r 3672}#
+                               #{w 3673}#
+                               #{mod 3675}#))
+                           #{val 3688}#)
+                      (#{chi-body 431}#
+                        (cons #{b 3689}# #{b* 3690}#)
+                        (#{source-wrap 411}#
+                          #{e 3671}#
+                          #{w 3673}#
+                          #{s 3674}#
+                          #{mod 3675}#)
+                        #{r 3672}#
+                        #{w 3673}#
+                        #{mod 3675}#)))
+                  #{tmp 3682}#)
                 (syntax-violation
                   #f
                   "source expression failed to match any pattern"
-                  #{tmp 3667}#))))))
-      (#{global-extend 335}# 'begin 'begin '())
-      (#{global-extend 335}# 'define 'define '())
-      (#{global-extend 335}#
+                  #{tmp 3681}#))))))
+      (#{global-extend 339}# 'begin 'begin '())
+      (#{global-extend 339}# 'define 'define '())
+      (#{global-extend 339}#
         'define-syntax
         'define-syntax
         '())
-      (#{global-extend 335}# 'eval-when 'eval-when '())
-      (#{global-extend 335}#
+      (#{global-extend 339}# 'eval-when 'eval-when '())
+      (#{global-extend 339}#
         'core
         'syntax-case
         (letrec*
-          ((#{convert-pattern 3685}#
-             (lambda (#{pattern 3692}# #{keys 3693}#)
+          ((#{convert-pattern 3699}#
+             (lambda (#{pattern 3706}# #{keys 3707}#)
                (letrec*
-                 ((#{cvt* 3697}#
-                    (lambda (#{p* 3700}# #{n 3701}# #{ids 3702}#)
-                      (if (null? #{p* 3700}#)
-                        (values '() #{ids 3702}#)
+                 ((#{cvt* 3711}#
+                    (lambda (#{p* 3714}# #{n 3715}# #{ids 3716}#)
+                      (if (null? #{p* 3714}#)
+                        (values '() #{ids 3716}#)
                         (call-with-values
                           (lambda ()
-                            (#{cvt* 3697}#
-                              (cdr #{p* 3700}#)
-                              #{n 3701}#
-                              #{ids 3702}#))
-                          (lambda (#{y 3706}# #{ids 3707}#)
+                            (#{cvt* 3711}#
+                              (cdr #{p* 3714}#)
+                              #{n 3715}#
+                              #{ids 3716}#))
+                          (lambda (#{y 3720}# #{ids 3721}#)
                             (call-with-values
                               (lambda ()
-                                (#{cvt 3699}#
-                                  (car #{p* 3700}#)
-                                  #{n 3701}#
-                                  #{ids 3707}#))
-                              (lambda (#{x 3710}# #{ids 3711}#)
+                                (#{cvt 3713}#
+                                  (car #{p* 3714}#)
+                                  #{n 3715}#
+                                  #{ids 3721}#))
+                              (lambda (#{x 3724}# #{ids 3725}#)
                                 (values
-                                  (cons #{x 3710}# #{y 3706}#)
-                                  #{ids 3711}#))))))))
-                  (#{cvt 3699}#
-                    (lambda (#{p 3714}# #{n 3715}# #{ids 3716}#)
-                      (if (#{id? 339}# #{p 3714}#)
-                        (if (#{bound-id-member? 403}#
-                              #{p 3714}#
-                              #{keys 3693}#)
+                                  (cons #{x 3724}# #{y 3720}#)
+                                  #{ids 3725}#))))))))
+                  (#{cvt 3713}#
+                    (lambda (#{p 3728}# #{n 3729}# #{ids 3730}#)
+                      (if (#{id? 343}# #{p 3728}#)
+                        (if (#{bound-id-member? 407}#
+                              #{p 3728}#
+                              #{keys 3707}#)
                           (values
-                            (vector 'free-id #{p 3714}#)
-                            #{ids 3716}#)
-                          (if (#{free-id=? 395}#
-                                #{p 3714}#
+                            (vector 'free-id #{p 3728}#)
+                            #{ids 3730}#)
+                          (if (#{free-id=? 399}#
+                                #{p 3728}#
                                 '#(syntax-object
                                    _
                                    ((top)
                                     #(ribcage
                                       #(p n ids)
                                       #((top) (top) (top))
-                                      #("i3717" "i3718" "i3719"))
+                                      #("i3731" "i3732" "i3733"))
                                     #(ribcage
                                       (cvt cvt*)
                                       ((top) (top))
-                                      ("i3698" "i3696"))
+                                      ("i3712" "i3710"))
                                     #(ribcage
                                       #(pattern keys)
                                       #((top) (top))
-                                      #("i3694" "i3695"))
+                                      #("i3708" "i3709"))
                                     #(ribcage
                                       (gen-syntax-case
                                         gen-clause
                                         build-dispatch-call
                                         convert-pattern)
                                       ((top) (top) (top) (top))
-                                      ("i3690" "i3688" "i3686" "i3684"))
+                                      ("i3704" "i3702" "i3700" "i3698"))
                                     #(ribcage
                                       (lambda-var-list
                                         gen-var
                                         build-sequence
                                         build-data
                                         build-primref
+                                        build-primcall
                                         build-lambda-case
                                         build-case-lambda
                                         build-simple-lambda
                                         make-lambda-case
                                         make-lambda
                                         make-sequence
+                                        make-primcall
                                         make-call
                                         make-conditional
                                         make-toplevel-define
                                        (top)
                                        (top)
                                        (top)
+                                       (top)
+                                       (top)
                                        (top))
-                                      ("i448"
+                                      ("i452"
+                                       "i450"
+                                       "i448"
                                        "i446"
                                        "i444"
                                        "i442"
                                        "i388"
                                        "i386"
                                        "i384"
+                                       "i383"
                                        "i382"
                                        "i380"
                                        "i379"
                                        "i378"
+                                       "i377"
                                        "i376"
-                                       "i375"
                                        "i374"
-                                       "i373"
                                        "i372"
                                        "i370"
                                        "i368"
                                        "i364"
                                        "i362"
                                        "i360"
-                                       "i358"
-                                       "i356"
+                                       "i357"
+                                       "i355"
+                                       "i354"
                                        "i353"
+                                       "i352"
                                        "i351"
                                        "i350"
                                        "i349"
                                        "i348"
                                        "i347"
-                                       "i346"
                                        "i345"
                                        "i344"
-                                       "i343"
-                                       "i341"
+                                       "i342"
                                        "i340"
                                        "i338"
                                        "i336"
                                        "i334"
                                        "i332"
                                        "i330"
+                                       "i329"
                                        "i328"
+                                       "i327"
                                        "i326"
                                        "i325"
-                                       "i324"
                                        "i323"
                                        "i322"
-                                       "i321"
-                                       "i319"
+                                       "i320"
                                        "i318"
                                        "i316"
                                        "i314"
                                        "i260"
                                        "i258"
                                        "i256"
-                                       "i254"
+                                       "i255"
                                        "i253"
                                        "i251"
+                                       "i250"
                                        "i249"
                                        "i248"
                                        "i247"
-                                       "i246"
                                        "i245"
                                        "i243"
                                        "i241"
-                                       "i239"
+                                       "i238"
                                        "i236"
                                        "i234"
                                        "i232"
                                       ((top) (top) (top))
                                       ("i40" "i39" "i38")))
                                    (hygiene guile)))
-                            (values '_ #{ids 3716}#)
+                            (values '_ #{ids 3730}#)
                             (values
                               'any
-                              (cons (cons #{p 3714}# #{n 3715}#)
-                                    #{ids 3716}#))))
-                        (let ((#{tmp 3725}# #{p 3714}#))
-                          (let ((#{tmp 3726}#
-                                  ($sc-dispatch #{tmp 3725}# '(any any))))
-                            (if (if #{tmp 3726}#
+                              (cons (cons #{p 3728}# #{n 3729}#)
+                                    #{ids 3730}#))))
+                        (let ((#{tmp 3739}# #{p 3728}#))
+                          (let ((#{tmp 3740}#
+                                  ($sc-dispatch #{tmp 3739}# '(any any))))
+                            (if (if #{tmp 3740}#
                                   (@apply
-                                    (lambda (#{x 3729}# #{dots 3730}#)
-                                      (#{ellipsis? 435}# #{dots 3730}#))
-                                    #{tmp 3726}#)
+                                    (lambda (#{x 3743}# #{dots 3744}#)
+                                      (#{ellipsis? 439}# #{dots 3744}#))
+                                    #{tmp 3740}#)
                                   #f)
                               (@apply
-                                (lambda (#{x 3733}# #{dots 3734}#)
+                                (lambda (#{x 3747}# #{dots 3748}#)
                                   (call-with-values
                                     (lambda ()
-                                      (#{cvt 3699}#
-                                        #{x 3733}#
-                                        (#{1+}# #{n 3715}#)
-                                        #{ids 3716}#))
-                                    (lambda (#{p 3736}# #{ids 3737}#)
+                                      (#{cvt 3713}#
+                                        #{x 3747}#
+                                        (#{1+}# #{n 3729}#)
+                                        #{ids 3730}#))
+                                    (lambda (#{p 3750}# #{ids 3751}#)
                                       (values
-                                        (if (eq? #{p 3736}# 'any)
+                                        (if (eq? #{p 3750}# 'any)
                                           'each-any
-                                          (vector 'each #{p 3736}#))
-                                        #{ids 3737}#))))
-                                #{tmp 3726}#)
-                              (let ((#{tmp 3740}#
+                                          (vector 'each #{p 3750}#))
+                                        #{ids 3751}#))))
+                                #{tmp 3740}#)
+                              (let ((#{tmp 3754}#
                                       ($sc-dispatch
-                                        #{tmp 3725}#
+                                        #{tmp 3739}#
                                         '(any any . each-any))))
-                                (if (if #{tmp 3740}#
+                                (if (if #{tmp 3754}#
                                       (@apply
-                                        (lambda (#{x 3744}#
-                                                 #{dots 3745}#
-                                                 #{ys 3746}#)
-                                          (#{ellipsis? 435}# #{dots 3745}#))
-                                        #{tmp 3740}#)
+                                        (lambda (#{x 3758}#
+                                                 #{dots 3759}#
+                                                 #{ys 3760}#)
+                                          (#{ellipsis? 439}# #{dots 3759}#))
+                                        #{tmp 3754}#)
                                       #f)
                                   (@apply
-                                    (lambda (#{x 3750}#
-                                             #{dots 3751}#
-                                             #{ys 3752}#)
+                                    (lambda (#{x 3764}#
+                                             #{dots 3765}#
+                                             #{ys 3766}#)
                                       (call-with-values
                                         (lambda ()
-                                          (#{cvt* 3697}#
-                                            #{ys 3752}#
-                                            #{n 3715}#
-                                            #{ids 3716}#))
-                                        (lambda (#{ys 3754}# #{ids 3755}#)
+                                          (#{cvt* 3711}#
+                                            #{ys 3766}#
+                                            #{n 3729}#
+                                            #{ids 3730}#))
+                                        (lambda (#{ys 3768}# #{ids 3769}#)
                                           (call-with-values
                                             (lambda ()
-                                              (#{cvt 3699}#
-                                                #{x 3750}#
-                                                (#{1+}# #{n 3715}#)
-                                                #{ids 3755}#))
-                                            (lambda (#{x 3758}# #{ids 3759}#)
+                                              (#{cvt 3713}#
+                                                #{x 3764}#
+                                                (#{1+}# #{n 3729}#)
+                                                #{ids 3769}#))
+                                            (lambda (#{x 3772}# #{ids 3773}#)
                                               (values
                                                 (vector
                                                   'each+
-                                                  #{x 3758}#
-                                                  (reverse #{ys 3754}#)
+                                                  #{x 3772}#
+                                                  (reverse #{ys 3768}#)
                                                   '())
-                                                #{ids 3759}#))))))
-                                    #{tmp 3740}#)
-                                  (let ((#{tmp 3763}#
+                                                #{ids 3773}#))))))
+                                    #{tmp 3754}#)
+                                  (let ((#{tmp 3777}#
                                           ($sc-dispatch
-                                            #{tmp 3725}#
+                                            #{tmp 3739}#
                                             '(any . any))))
-                                    (if #{tmp 3763}#
+                                    (if #{tmp 3777}#
                                       (@apply
-                                        (lambda (#{x 3766}# #{y 3767}#)
+                                        (lambda (#{x 3780}# #{y 3781}#)
                                           (call-with-values
                                             (lambda ()
-                                              (#{cvt 3699}#
-                                                #{y 3767}#
-                                                #{n 3715}#
-                                                #{ids 3716}#))
-                                            (lambda (#{y 3768}# #{ids 3769}#)
+                                              (#{cvt 3713}#
+                                                #{y 3781}#
+                                                #{n 3729}#
+                                                #{ids 3730}#))
+                                            (lambda (#{y 3782}# #{ids 3783}#)
                                               (call-with-values
                                                 (lambda ()
-                                                  (#{cvt 3699}#
-                                                    #{x 3766}#
-                                                    #{n 3715}#
-                                                    #{ids 3769}#))
-                                                (lambda (#{x 3772}#
-                                                         #{ids 3773}#)
+                                                  (#{cvt 3713}#
+                                                    #{x 3780}#
+                                                    #{n 3729}#
+                                                    #{ids 3783}#))
+                                                (lambda (#{x 3786}#
+                                                         #{ids 3787}#)
                                                   (values
-                                                    (cons #{x 3772}#
-                                                          #{y 3768}#)
-                                                    #{ids 3773}#))))))
-                                        #{tmp 3763}#)
-                                      (let ((#{tmp 3776}#
-                                              ($sc-dispatch #{tmp 3725}# '())))
-                                        (if #{tmp 3776}#
+                                                    (cons #{x 3786}#
+                                                          #{y 3782}#)
+                                                    #{ids 3787}#))))))
+                                        #{tmp 3777}#)
+                                      (let ((#{tmp 3790}#
+                                              ($sc-dispatch #{tmp 3739}# '())))
+                                        (if #{tmp 3790}#
                                           (@apply
                                             (lambda ()
-                                              (values '() #{ids 3716}#))
-                                            #{tmp 3776}#)
-                                          (let ((#{tmp 3777}#
+                                              (values '() #{ids 3730}#))
+                                            #{tmp 3790}#)
+                                          (let ((#{tmp 3791}#
                                                   ($sc-dispatch
-                                                    #{tmp 3725}#
+                                                    #{tmp 3739}#
                                                     '#(vector each-any))))
-                                            (if #{tmp 3777}#
+                                            (if #{tmp 3791}#
                                               (@apply
-                                                (lambda (#{x 3779}#)
+                                                (lambda (#{x 3793}#)
                                                   (call-with-values
                                                     (lambda ()
-                                                      (#{cvt 3699}#
-                                                        #{x 3779}#
-                                                        #{n 3715}#
-                                                        #{ids 3716}#))
-                                                    (lambda (#{p 3781}#
-                                                             #{ids 3782}#)
+                                                      (#{cvt 3713}#
+                                                        #{x 3793}#
+                                                        #{n 3729}#
+                                                        #{ids 3730}#))
+                                                    (lambda (#{p 3795}#
+                                                             #{ids 3796}#)
                                                       (values
                                                         (vector
                                                           'vector
-                                                          #{p 3781}#)
-                                                        #{ids 3782}#))))
-                                                #{tmp 3777}#)
-                                              (let ((#{x 3786}# #{tmp 3725}#))
+                                                          #{p 3795}#)
+                                                        #{ids 3796}#))))
+                                                #{tmp 3791}#)
+                                              (let ((#{x 3800}# #{tmp 3739}#))
                                                 (values
                                                   (vector
                                                     'atom
-                                                    (#{strip 445}#
-                                                      #{p 3714}#
+                                                    (#{strip 449}#
+                                                      #{p 3728}#
                                                       '(())))
-                                                  #{ids 3716}#)))))))))))))))))
-                 (begin (#{cvt 3699}# #{pattern 3692}# 0 '())))))
-           (#{build-dispatch-call 3687}#
-             (lambda (#{pvars 3788}#
-                      #{exp 3789}#
-                      #{y 3790}#
-                      #{r 3791}#
-                      #{mod 3792}#)
+                                                  #{ids 3730}#)))))))))))))))))
+                 (begin (#{cvt 3713}# #{pattern 3706}# 0 '())))))
+           (#{build-dispatch-call 3701}#
+             (lambda (#{pvars 3802}#
+                      #{exp 3803}#
+                      #{y 3804}#
+                      #{r 3805}#
+                      #{mod 3806}#)
                (begin
-                 (map cdr #{pvars 3788}#)
-                 (let ((#{ids 3800}# (map car #{pvars 3788}#)))
+                 (map cdr #{pvars 3802}#)
+                 (let ((#{ids 3814}# (map car #{pvars 3802}#)))
                    (begin
-                     (let ((#{labels 3804}#
-                             (#{gen-labels 354}# #{ids 3800}#))
-                           (#{new-vars 3805}#
-                             (map #{gen-var 447}# #{ids 3800}#)))
-                       (#{build-call 265}#
+                     (let ((#{labels 3818}#
+                             (#{gen-labels 358}# #{ids 3814}#))
+                           (#{new-vars 3819}#
+                             (map #{gen-var 451}# #{ids 3814}#)))
+                       (#{build-primcall 291}#
                          #f
-                         (#{build-primref 289}# #f 'apply)
-                         (list (#{build-simple-lambda 283}#
+                         'apply
+                         (list (#{build-simple-lambda 285}#
                                  #f
-                                 (map syntax->datum #{ids 3800}#)
+                                 (map syntax->datum #{ids 3814}#)
                                  #f
-                                 #{new-vars 3805}#
+                                 #{new-vars 3819}#
                                  '()
-                                 (#{chi 419}#
-                                   #{exp 3789}#
-                                   (#{extend-env 327}#
-                                     #{labels 3804}#
-                                     (map (lambda (#{var 3809}# #{level 3810}#)
+                                 (#{chi 423}#
+                                   #{exp 3803}#
+                                   (#{extend-env 331}#
+                                     #{labels 3818}#
+                                     (map (lambda (#{var 3822}# #{level 3823}#)
                                             (cons 'syntax
-                                                  (cons #{var 3809}#
-                                                        #{level 3810}#)))
-                                          #{new-vars 3805}#
-                                          (map cdr #{pvars 3788}#))
-                                     #{r 3791}#)
-                                   (#{make-binding-wrap 383}#
-                                     #{ids 3800}#
-                                     #{labels 3804}#
+                                                  (cons #{var 3822}#
+                                                        #{level 3823}#)))
+                                          #{new-vars 3819}#
+                                          (map cdr #{pvars 3802}#))
+                                     #{r 3805}#)
+                                   (#{make-binding-wrap 387}#
+                                     #{ids 3814}#
+                                     #{labels 3818}#
                                      '(()))
-                                   #{mod 3792}#))
-                               #{y 3790}#))))))))
-           (#{gen-clause 3689}#
-             (lambda (#{x 3816}#
-                      #{keys 3817}#
-                      #{clauses 3818}#
-                      #{r 3819}#
-                      #{pat 3820}#
-                      #{fender 3821}#
-                      #{exp 3822}#
-                      #{mod 3823}#)
+                                   #{mod 3806}#))
+                               #{y 3804}#))))))))
+           (#{gen-clause 3703}#
+             (lambda (#{x 3829}#
+                      #{keys 3830}#
+                      #{clauses 3831}#
+                      #{r 3832}#
+                      #{pat 3833}#
+                      #{fender 3834}#
+                      #{exp 3835}#
+                      #{mod 3836}#)
                (call-with-values
                  (lambda ()
-                   (#{convert-pattern 3685}#
-                     #{pat 3820}#
-                     #{keys 3817}#))
-                 (lambda (#{p 3832}# #{pvars 3833}#)
-                   (if (not (#{distinct-bound-ids? 401}#
-                              (map car #{pvars 3833}#)))
+                   (#{convert-pattern 3699}#
+                     #{pat 3833}#
+                     #{keys 3830}#))
+                 (lambda (#{p 3845}# #{pvars 3846}#)
+                   (if (not (#{distinct-bound-ids? 405}#
+                              (map car #{pvars 3846}#)))
                      (syntax-violation
                        'syntax-case
                        "duplicate pattern variable"
-                       #{pat 3820}#)
+                       #{pat 3833}#)
                      (if (not (and-map
-                                (lambda (#{x 3840}#)
-                                  (not (#{ellipsis? 435}# (car #{x 3840}#))))
-                                #{pvars 3833}#))
+                                (lambda (#{x 3853}#)
+                                  (not (#{ellipsis? 439}# (car #{x 3853}#))))
+                                #{pvars 3846}#))
                        (syntax-violation
                          'syntax-case
                          "misplaced ellipsis"
-                         #{pat 3820}#)
+                         #{pat 3833}#)
                        (begin
-                         (let ((#{y 3844}# (#{gen-var 447}# 'tmp)))
-                           (#{build-call 265}#
+                         (let ((#{y 3857}# (#{gen-var 451}# 'tmp)))
+                           (#{build-call 267}#
                              #f
-                             (#{build-simple-lambda 283}#
+                             (#{build-simple-lambda 285}#
                                #f
                                (list 'tmp)
                                #f
-                               (list #{y 3844}#)
+                               (list #{y 3857}#)
                                '()
                                (begin
-                                 (let ((#{y 3848}#
-                                         (#{build-lexical-reference 271}#
+                                 (let ((#{y 3861}#
+                                         (#{build-lexical-reference 273}#
                                            'value
                                            #f
                                            'tmp
-                                           #{y 3844}#)))
-                                   (#{build-conditional 267}#
+                                           #{y 3857}#)))
+                                   (#{build-conditional 269}#
                                      #f
-                                     (let ((#{tmp 3851}# #{fender 3821}#))
-                                       (let ((#{tmp 3852}#
+                                     (let ((#{tmp 3864}# #{fender 3834}#))
+                                       (let ((#{tmp 3865}#
                                                ($sc-dispatch
-                                                 #{tmp 3851}#
+                                                 #{tmp 3864}#
                                                  '#(atom #t))))
-                                         (if #{tmp 3852}#
+                                         (if #{tmp 3865}#
                                            (@apply
-                                             (lambda () #{y 3848}#)
-                                             #{tmp 3852}#)
-                                           (let ((#{_ 3854}# #{tmp 3851}#))
-                                             (#{build-conditional 267}#
+                                             (lambda () #{y 3861}#)
+                                             #{tmp 3865}#)
+                                           (let ((#{_ 3867}# #{tmp 3864}#))
+                                             (#{build-conditional 269}#
                                                #f
-                                               #{y 3848}#
-                                               (#{build-dispatch-call 3687}#
-                                                 #{pvars 3833}#
-                                                 #{fender 3821}#
-                                                 #{y 3848}#
-                                                 #{r 3819}#
-                                                 #{mod 3823}#)
-                                               (#{build-data 291}# #f #f))))))
-                                     (#{build-dispatch-call 3687}#
-                                       #{pvars 3833}#
-                                       #{exp 3822}#
-                                       #{y 3848}#
-                                       #{r 3819}#
-                                       #{mod 3823}#)
-                                     (#{gen-syntax-case 3691}#
-                                       #{x 3816}#
-                                       #{keys 3817}#
-                                       #{clauses 3818}#
-                                       #{r 3819}#
-                                       #{mod 3823}#)))))
-                             (list (if (eq? #{p 3832}# 'any)
-                                     (#{build-call 265}#
+                                               #{y 3861}#
+                                               (#{build-dispatch-call 3701}#
+                                                 #{pvars 3846}#
+                                                 #{fender 3834}#
+                                                 #{y 3861}#
+                                                 #{r 3832}#
+                                                 #{mod 3836}#)
+                                               (#{build-data 295}# #f #f))))))
+                                     (#{build-dispatch-call 3701}#
+                                       #{pvars 3846}#
+                                       #{exp 3835}#
+                                       #{y 3861}#
+                                       #{r 3832}#
+                                       #{mod 3836}#)
+                                     (#{gen-syntax-case 3705}#
+                                       #{x 3829}#
+                                       #{keys 3830}#
+                                       #{clauses 3831}#
+                                       #{r 3832}#
+                                       #{mod 3836}#)))))
+                             (list (if (eq? #{p 3845}# 'any)
+                                     (#{build-primcall 291}#
                                        #f
-                                       (#{build-primref 289}# #f 'list)
-                                       (list #{x 3816}#))
-                                     (#{build-call 265}#
+                                       'list
+                                       (list #{x 3829}#))
+                                     (#{build-primcall 291}#
                                        #f
-                                       (#{build-primref 289}# #f '$sc-dispatch)
-                                       (list #{x 3816}#
-                                             (#{build-data 291}#
+                                       '$sc-dispatch
+                                       (list #{x 3829}#
+                                             (#{build-data 295}#
                                                #f
-                                               #{p 3832}#))))))))))))))
-           (#{gen-syntax-case 3691}#
-             (lambda (#{x 3862}#
-                      #{keys 3863}#
-                      #{clauses 3864}#
-                      #{r 3865}#
-                      #{mod 3866}#)
-               (if (null? #{clauses 3864}#)
-                 (#{build-call 265}#
+                                               #{p 3845}#))))))))))))))
+           (#{gen-syntax-case 3705}#
+             (lambda (#{x 3873}#
+                      #{keys 3874}#
+                      #{clauses 3875}#
+                      #{r 3876}#
+                      #{mod 3877}#)
+               (if (null? #{clauses 3875}#)
+                 (#{build-primcall 291}#
                    #f
-                   (#{build-primref 289}# #f 'syntax-violation)
-                   (list (#{build-data 291}# #f #f)
-                         (#{build-data 291}#
+                   'syntax-violation
+                   (list (#{build-data 295}# #f #f)
+                         (#{build-data 295}#
                            #f
                            "source expression failed to match any pattern")
-                         #{x 3862}#))
-                 (let ((#{tmp 3876}# (car #{clauses 3864}#)))
-                   (let ((#{tmp 3877}#
-                           ($sc-dispatch #{tmp 3876}# '(any any))))
-                     (if #{tmp 3877}#
+                         #{x 3873}#))
+                 (let ((#{tmp 3886}# (car #{clauses 3875}#)))
+                   (let ((#{tmp 3887}#
+                           ($sc-dispatch #{tmp 3886}# '(any any))))
+                     (if #{tmp 3887}#
                        (@apply
-                         (lambda (#{pat 3880}# #{exp 3881}#)
-                           (if (if (#{id? 339}# #{pat 3880}#)
+                         (lambda (#{pat 3890}# #{exp 3891}#)
+                           (if (if (#{id? 343}# #{pat 3890}#)
                                  (and-map
-                                   (lambda (#{x 3884}#)
-                                     (not (#{free-id=? 395}#
-                                            #{pat 3880}#
-                                            #{x 3884}#)))
+                                   (lambda (#{x 3894}#)
+                                     (not (#{free-id=? 399}#
+                                            #{pat 3890}#
+                                            #{x 3894}#)))
                                    (cons '#(syntax-object
                                             ...
                                             ((top)
                                              #(ribcage
                                                #(pat exp)
                                                #((top) (top))
-                                               #("i3878" "i3879"))
+                                               #("i3888" "i3889"))
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x keys clauses r mod)
                                                #((top) (top) (top) (top) (top))
-                                               #("i3867"
-                                                 "i3868"
-                                                 "i3869"
-                                                 "i3870"
-                                                 "i3871"))
+                                               #("i3878"
+                                                 "i3879"
+                                                 "i3880"
+                                                 "i3881"
+                                                 "i3882"))
                                              #(ribcage
                                                (gen-syntax-case
                                                  gen-clause
                                                  build-dispatch-call
                                                  convert-pattern)
                                                ((top) (top) (top) (top))
-                                               ("i3690"
-                                                "i3688"
-                                                "i3686"
-                                                "i3684"))
+                                               ("i3704"
+                                                "i3702"
+                                                "i3700"
+                                                "i3698"))
                                              #(ribcage
                                                (lambda-var-list
                                                  gen-var
                                                  build-sequence
                                                  build-data
                                                  build-primref
+                                                 build-primcall
                                                  build-lambda-case
                                                  build-case-lambda
                                                  build-simple-lambda
                                                  make-lambda-case
                                                  make-lambda
                                                  make-sequence
+                                                 make-primcall
                                                  make-call
                                                  make-conditional
                                                  make-toplevel-define
                                                 (top)
                                                 (top)
                                                 (top)
+                                                (top)
+                                                (top)
                                                 (top))
-                                               ("i448"
+                                               ("i452"
+                                                "i450"
+                                                "i448"
                                                 "i446"
                                                 "i444"
                                                 "i442"
                                                 "i388"
                                                 "i386"
                                                 "i384"
+                                                "i383"
                                                 "i382"
                                                 "i380"
                                                 "i379"
                                                 "i378"
+                                                "i377"
                                                 "i376"
-                                                "i375"
                                                 "i374"
-                                                "i373"
                                                 "i372"
                                                 "i370"
                                                 "i368"
                                                 "i364"
                                                 "i362"
                                                 "i360"
-                                                "i358"
-                                                "i356"
+                                                "i357"
+                                                "i355"
+                                                "i354"
                                                 "i353"
+                                                "i352"
                                                 "i351"
                                                 "i350"
                                                 "i349"
                                                 "i348"
                                                 "i347"
-                                                "i346"
                                                 "i345"
                                                 "i344"
-                                                "i343"
-                                                "i341"
+                                                "i342"
                                                 "i340"
                                                 "i338"
                                                 "i336"
                                                 "i334"
                                                 "i332"
                                                 "i330"
+                                                "i329"
                                                 "i328"
+                                                "i327"
                                                 "i326"
                                                 "i325"
-                                                "i324"
                                                 "i323"
                                                 "i322"
-                                                "i321"
-                                                "i319"
+                                                "i320"
                                                 "i318"
                                                 "i316"
                                                 "i314"
                                                 "i260"
                                                 "i258"
                                                 "i256"
-                                                "i254"
+                                                "i255"
                                                 "i253"
                                                 "i251"
+                                                "i250"
                                                 "i249"
                                                 "i248"
                                                 "i247"
-                                                "i246"
                                                 "i245"
                                                 "i243"
                                                 "i241"
-                                                "i239"
+                                                "i238"
                                                 "i236"
                                                 "i234"
                                                 "i232"
                                                ((top) (top) (top))
                                                ("i40" "i39" "i38")))
                                             (hygiene guile))
-                                         #{keys 3863}#))
+                                         #{keys 3874}#))
                                  #f)
-                             (if (#{free-id=? 395}#
+                             (if (#{free-id=? 399}#
                                    '#(syntax-object
                                       pad
                                       ((top)
                                        #(ribcage
                                          #(pat exp)
                                          #((top) (top))
-                                         #("i3878" "i3879"))
+                                         #("i3888" "i3889"))
                                        #(ribcage () () ())
                                        #(ribcage
                                          #(x keys clauses r mod)
                                          #((top) (top) (top) (top) (top))
-                                         #("i3867"
-                                           "i3868"
-                                           "i3869"
-                                           "i3870"
-                                           "i3871"))
+                                         #("i3878"
+                                           "i3879"
+                                           "i3880"
+                                           "i3881"
+                                           "i3882"))
                                        #(ribcage
                                          (gen-syntax-case
                                            gen-clause
                                            build-dispatch-call
                                            convert-pattern)
                                          ((top) (top) (top) (top))
-                                         ("i3690" "i3688" "i3686" "i3684"))
+                                         ("i3704" "i3702" "i3700" "i3698"))
                                        #(ribcage
                                          (lambda-var-list
                                            gen-var
                                            build-sequence
                                            build-data
                                            build-primref
+                                           build-primcall
                                            build-lambda-case
                                            build-case-lambda
                                            build-simple-lambda
                                            make-lambda-case
                                            make-lambda
                                            make-sequence
+                                           make-primcall
                                            make-call
                                            make-conditional
                                            make-toplevel-define
                                           (top)
                                           (top)
                                           (top)
+                                          (top)
+                                          (top)
                                           (top))
-                                         ("i448"
+                                         ("i452"
+                                          "i450"
+                                          "i448"
                                           "i446"
                                           "i444"
                                           "i442"
                                           "i388"
                                           "i386"
                                           "i384"
+                                          "i383"
                                           "i382"
                                           "i380"
                                           "i379"
                                           "i378"
+                                          "i377"
                                           "i376"
-                                          "i375"
                                           "i374"
-                                          "i373"
                                           "i372"
                                           "i370"
                                           "i368"
                                           "i364"
                                           "i362"
                                           "i360"
-                                          "i358"
-                                          "i356"
+                                          "i357"
+                                          "i355"
+                                          "i354"
                                           "i353"
+                                          "i352"
                                           "i351"
                                           "i350"
                                           "i349"
                                           "i348"
                                           "i347"
-                                          "i346"
                                           "i345"
                                           "i344"
-                                          "i343"
-                                          "i341"
+                                          "i342"
                                           "i340"
                                           "i338"
                                           "i336"
                                           "i334"
                                           "i332"
                                           "i330"
+                                          "i329"
                                           "i328"
+                                          "i327"
                                           "i326"
                                           "i325"
-                                          "i324"
                                           "i323"
                                           "i322"
-                                          "i321"
-                                          "i319"
+                                          "i320"
                                           "i318"
                                           "i316"
                                           "i314"
                                           "i260"
                                           "i258"
                                           "i256"
-                                          "i254"
+                                          "i255"
                                           "i253"
                                           "i251"
+                                          "i250"
                                           "i249"
                                           "i248"
                                           "i247"
-                                          "i246"
                                           "i245"
                                           "i243"
                                           "i241"
-                                          "i239"
+                                          "i238"
                                           "i236"
                                           "i234"
                                           "i232"
                                        #(ribcage
                                          #(pat exp)
                                          #((top) (top))
-                                         #("i3878" "i3879"))
+                                         #("i3888" "i3889"))
                                        #(ribcage () () ())
                                        #(ribcage
                                          #(x keys clauses r mod)
                                          #((top) (top) (top) (top) (top))
-                                         #("i3867"
-                                           "i3868"
-                                           "i3869"
-                                           "i3870"
-                                           "i3871"))
+                                         #("i3878"
+                                           "i3879"
+                                           "i3880"
+                                           "i3881"
+                                           "i3882"))
                                        #(ribcage
                                          (gen-syntax-case
                                            gen-clause
                                            build-dispatch-call
                                            convert-pattern)
                                          ((top) (top) (top) (top))
-                                         ("i3690" "i3688" "i3686" "i3684"))
+                                         ("i3704" "i3702" "i3700" "i3698"))
                                        #(ribcage
                                          (lambda-var-list
                                            gen-var
                                            build-sequence
                                            build-data
                                            build-primref
+                                           build-primcall
                                            build-lambda-case
                                            build-case-lambda
                                            build-simple-lambda
                                            make-lambda-case
                                            make-lambda
                                            make-sequence
+                                           make-primcall
                                            make-call
                                            make-conditional
                                            make-toplevel-define
                                           (top)
                                           (top)
                                           (top)
+                                          (top)
+                                          (top)
                                           (top))
-                                         ("i448"
+                                         ("i452"
+                                          "i450"
+                                          "i448"
                                           "i446"
                                           "i444"
                                           "i442"
                                           "i388"
                                           "i386"
                                           "i384"
+                                          "i383"
                                           "i382"
                                           "i380"
                                           "i379"
                                           "i378"
+                                          "i377"
                                           "i376"
-                                          "i375"
                                           "i374"
-                                          "i373"
                                           "i372"
                                           "i370"
                                           "i368"
                                           "i364"
                                           "i362"
                                           "i360"
-                                          "i358"
-                                          "i356"
+                                          "i357"
+                                          "i355"
+                                          "i354"
                                           "i353"
+                                          "i352"
                                           "i351"
                                           "i350"
                                           "i349"
                                           "i348"
                                           "i347"
-                                          "i346"
                                           "i345"
                                           "i344"
-                                          "i343"
-                                          "i341"
+                                          "i342"
                                           "i340"
                                           "i338"
                                           "i336"
                                           "i334"
                                           "i332"
                                           "i330"
+                                          "i329"
                                           "i328"
+                                          "i327"
                                           "i326"
                                           "i325"
-                                          "i324"
                                           "i323"
                                           "i322"
-                                          "i321"
-                                          "i319"
+                                          "i320"
                                           "i318"
                                           "i316"
                                           "i314"
                                           "i260"
                                           "i258"
                                           "i256"
-                                          "i254"
+                                          "i255"
                                           "i253"
                                           "i251"
+                                          "i250"
                                           "i249"
                                           "i248"
                                           "i247"
-                                          "i246"
                                           "i245"
                                           "i243"
                                           "i241"
-                                          "i239"
+                                          "i238"
                                           "i236"
                                           "i234"
                                           "i232"
                                          ((top) (top) (top))
                                          ("i40" "i39" "i38")))
                                       (hygiene guile)))
-                               (#{chi 419}#
-                                 #{exp 3881}#
-                                 #{r 3865}#
+                               (#{chi 423}#
+                                 #{exp 3891}#
+                                 #{r 3876}#
                                  '(())
-                                 #{mod 3866}#)
+                                 #{mod 3877}#)
                                (begin
-                                 (let ((#{labels 3889}#
-                                         (list (#{gen-label 352}#)))
-                                       (#{var 3890}#
-                                         (#{gen-var 447}# #{pat 3880}#)))
-                                   (#{build-call 265}#
+                                 (let ((#{labels 3899}#
+                                         (list (#{gen-label 356}#)))
+                                       (#{var 3900}#
+                                         (#{gen-var 451}# #{pat 3890}#)))
+                                   (#{build-call 267}#
                                      #f
-                                     (#{build-simple-lambda 283}#
+                                     (#{build-simple-lambda 285}#
                                        #f
-                                       (list (syntax->datum #{pat 3880}#))
+                                       (list (syntax->datum #{pat 3890}#))
                                        #f
-                                       (list #{var 3890}#)
+                                       (list #{var 3900}#)
                                        '()
-                                       (#{chi 419}#
-                                         #{exp 3881}#
-                                         (#{extend-env 327}#
-                                           #{labels 3889}#
+                                       (#{chi 423}#
+                                         #{exp 3891}#
+                                         (#{extend-env 331}#
+                                           #{labels 3899}#
                                            (list (cons 'syntax
-                                                       (cons #{var 3890}# 0)))
-                                           #{r 3865}#)
-                                         (#{make-binding-wrap 383}#
-                                           (list #{pat 3880}#)
-                                           #{labels 3889}#
+                                                       (cons #{var 3900}# 0)))
+                                           #{r 3876}#)
+                                         (#{make-binding-wrap 387}#
+                                           (list #{pat 3890}#)
+                                           #{labels 3899}#
                                            '(()))
-                                         #{mod 3866}#))
-                                     (list #{x 3862}#)))))
-                             (#{gen-clause 3689}#
-                               #{x 3862}#
-                               #{keys 3863}#
-                               (cdr #{clauses 3864}#)
-                               #{r 3865}#
-                               #{pat 3880}#
+                                         #{mod 3877}#))
+                                     (list #{x 3873}#)))))
+                             (#{gen-clause 3703}#
+                               #{x 3873}#
+                               #{keys 3874}#
+                               (cdr #{clauses 3875}#)
+                               #{r 3876}#
+                               #{pat 3890}#
                                #t
-                               #{exp 3881}#
-                               #{mod 3866}#)))
-                         #{tmp 3877}#)
-                       (let ((#{tmp 3896}#
-                               ($sc-dispatch #{tmp 3876}# '(any any any))))
-                         (if #{tmp 3896}#
+                               #{exp 3891}#
+                               #{mod 3877}#)))
+                         #{tmp 3887}#)
+                       (let ((#{tmp 3906}#
+                               ($sc-dispatch #{tmp 3886}# '(any any any))))
+                         (if #{tmp 3906}#
                            (@apply
-                             (lambda (#{pat 3900}#
-                                      #{fender 3901}#
-                                      #{exp 3902}#)
-                               (#{gen-clause 3689}#
-                                 #{x 3862}#
-                                 #{keys 3863}#
-                                 (cdr #{clauses 3864}#)
-                                 #{r 3865}#
-                                 #{pat 3900}#
-                                 #{fender 3901}#
-                                 #{exp 3902}#
-                                 #{mod 3866}#))
-                             #{tmp 3896}#)
-                           (let ((#{_ 3904}# #{tmp 3876}#))
+                             (lambda (#{pat 3910}#
+                                      #{fender 3911}#
+                                      #{exp 3912}#)
+                               (#{gen-clause 3703}#
+                                 #{x 3873}#
+                                 #{keys 3874}#
+                                 (cdr #{clauses 3875}#)
+                                 #{r 3876}#
+                                 #{pat 3910}#
+                                 #{fender 3911}#
+                                 #{exp 3912}#
+                                 #{mod 3877}#))
+                             #{tmp 3906}#)
+                           (let ((#{_ 3914}# #{tmp 3886}#))
                              (syntax-violation
                                'syntax-case
                                "invalid clause"
-                               (car #{clauses 3864}#))))))))))))
+                               (car #{clauses 3875}#))))))))))))
           (begin
-            (lambda (#{e 3905}#
-                     #{r 3906}#
-                     #{w 3907}#
-                     #{s 3908}#
-                     #{mod 3909}#)
+            (lambda (#{e 3915}#
+                     #{r 3916}#
+                     #{w 3917}#
+                     #{s 3918}#
+                     #{mod 3919}#)
               (begin
-                (let ((#{e 3916}#
-                        (#{source-wrap 407}#
-                          #{e 3905}#
-                          #{w 3907}#
-                          #{s 3908}#
-                          #{mod 3909}#)))
-                  (let ((#{tmp 3917}# #{e 3916}#))
-                    (let ((#{tmp 3918}#
+                (let ((#{e 3926}#
+                        (#{source-wrap 411}#
+                          #{e 3915}#
+                          #{w 3917}#
+                          #{s 3918}#
+                          #{mod 3919}#)))
+                  (let ((#{tmp 3927}# #{e 3926}#))
+                    (let ((#{tmp 3928}#
                             ($sc-dispatch
-                              #{tmp 3917}#
+                              #{tmp 3927}#
                               '(_ any each-any . each-any))))
-                      (if #{tmp 3918}#
+                      (if #{tmp 3928}#
                         (@apply
-                          (lambda (#{val 3922}# #{key 3923}# #{m 3924}#)
+                          (lambda (#{val 3932}# #{key 3933}# #{m 3934}#)
                             (if (and-map
-                                  (lambda (#{x 3925}#)
-                                    (if (#{id? 339}# #{x 3925}#)
-                                      (not (#{ellipsis? 435}# #{x 3925}#))
+                                  (lambda (#{x 3935}#)
+                                    (if (#{id? 343}# #{x 3935}#)
+                                      (not (#{ellipsis? 439}# #{x 3935}#))
                                       #f))
-                                  #{key 3923}#)
+                                  #{key 3933}#)
                               (begin
-                                (let ((#{x 3931}# (#{gen-var 447}# 'tmp)))
-                                  (#{build-call 265}#
-                                    #{s 3908}#
-                                    (#{build-simple-lambda 283}#
+                                (let ((#{x 3941}# (#{gen-var 451}# 'tmp)))
+                                  (#{build-call 267}#
+                                    #{s 3918}#
+                                    (#{build-simple-lambda 285}#
                                       #f
                                       (list 'tmp)
                                       #f
-                                      (list #{x 3931}#)
+                                      (list #{x 3941}#)
                                       '()
-                                      (#{gen-syntax-case 3691}#
-                                        (#{build-lexical-reference 271}#
+                                      (#{gen-syntax-case 3705}#
+                                        (#{build-lexical-reference 273}#
                                           'value
                                           #f
                                           'tmp
-                                          #{x 3931}#)
-                                        #{key 3923}#
-                                        #{m 3924}#
-                                        #{r 3906}#
-                                        #{mod 3909}#))
-                                    (list (#{chi 419}#
-                                            #{val 3922}#
-                                            #{r 3906}#
+                                          #{x 3941}#)
+                                        #{key 3933}#
+                                        #{m 3934}#
+                                        #{r 3916}#
+                                        #{mod 3919}#))
+                                    (list (#{chi 423}#
+                                            #{val 3932}#
+                                            #{r 3916}#
                                             '(())
-                                            #{mod 3909}#)))))
+                                            #{mod 3919}#)))))
                               (syntax-violation
                                 'syntax-case
                                 "invalid literals list"
-                                #{e 3916}#)))
-                          #{tmp 3918}#)
+                                #{e 3926}#)))
+                          #{tmp 3928}#)
                         (syntax-violation
                           #f
                           "source expression failed to match any pattern"
-                          #{tmp 3917}#))))))))))
+                          #{tmp 3927}#))))))))))
       (set! macroexpand
         (lambda*
-          (#{x 3937}#
+          (#{x 3947}#
             #:optional
-            (#{m 3939}# 'e)
-            (#{esew 3941}# '(eval)))
-          (#{chi-top-sequence 411}#
-            (list #{x 3937}#)
+            (#{m 3949}# 'e)
+            (#{esew 3951}# '(eval)))
+          (#{chi-top-sequence 415}#
+            (list #{x 3947}#)
             '()
             '((top))
             #f
-            #{m 3939}#
-            #{esew 3941}#
+            #{m 3949}#
+            #{esew 3951}#
             (cons 'hygiene (module-name (current-module))))))
       (set! identifier?
-        (lambda (#{x 3945}#)
-          (#{nonsymbol-id? 337}# #{x 3945}#)))
+        (lambda (#{x 3955}#)
+          (#{nonsymbol-id? 341}# #{x 3955}#)))
       (set! datum->syntax
-        (lambda (#{id 3947}# #{datum 3948}#)
-          (#{make-syntax-object 303}#
-            #{datum 3948}#
-            (#{syntax-object-wrap 309}# #{id 3947}#)
-            (#{syntax-object-module 311}# #{id 3947}#))))
+        (lambda (#{id 3957}# #{datum 3958}#)
+          (#{make-syntax-object 307}#
+            #{datum 3958}#
+            (#{syntax-object-wrap 313}# #{id 3957}#)
+            (#{syntax-object-module 315}# #{id 3957}#))))
       (set! syntax->datum
-        (lambda (#{x 3951}#)
-          (#{strip 445}# #{x 3951}# '(()))))
+        (lambda (#{x 3961}#)
+          (#{strip 449}# #{x 3961}# '(()))))
       (set! syntax-source
-        (lambda (#{x 3954}#)
-          (#{source-annotation 320}# #{x 3954}#)))
+        (lambda (#{x 3964}#)
+          (#{source-annotation 324}# #{x 3964}#)))
       (set! generate-temporaries
-        (lambda (#{ls 3956}#)
+        (lambda (#{ls 3966}#)
           (begin
             (begin
-              (let ((#{x 3960}# #{ls 3956}#))
-                (if (not (list? #{x 3960}#))
+              (let ((#{x 3970}# #{ls 3966}#))
+                (if (not (list? #{x 3970}#))
                   (syntax-violation
                     'generate-temporaries
                     "invalid argument"
-                    #{x 3960}#))))
-            (map (lambda (#{x 3961}#)
-                   (#{wrap 405}# (gensym) '((top)) #f))
-                 #{ls 3956}#))))
+                    #{x 3970}#))))
+            (map (lambda (#{x 3971}#)
+                   (#{wrap 409}# (gensym) '((top)) #f))
+                 #{ls 3966}#))))
       (set! free-identifier=?
-        (lambda (#{x 3965}# #{y 3966}#)
+        (lambda (#{x 3975}# #{y 3976}#)
           (begin
             (begin
-              (let ((#{x 3971}# #{x 3965}#))
-                (if (not (#{nonsymbol-id? 337}# #{x 3971}#))
+              (let ((#{x 3981}# #{x 3975}#))
+                (if (not (#{nonsymbol-id? 341}# #{x 3981}#))
                   (syntax-violation
                     'free-identifier=?
                     "invalid argument"
-                    #{x 3971}#))))
+                    #{x 3981}#))))
             (begin
-              (let ((#{x 3974}# #{y 3966}#))
-                (if (not (#{nonsymbol-id? 337}# #{x 3974}#))
+              (let ((#{x 3984}# #{y 3976}#))
+                (if (not (#{nonsymbol-id? 341}# #{x 3984}#))
                   (syntax-violation
                     'free-identifier=?
                     "invalid argument"
-                    #{x 3974}#))))
-            (#{free-id=? 395}# #{x 3965}# #{y 3966}#))))
+                    #{x 3984}#))))
+            (#{free-id=? 399}# #{x 3975}# #{y 3976}#))))
       (set! bound-identifier=?
-        (lambda (#{x 3975}# #{y 3976}#)
+        (lambda (#{x 3985}# #{y 3986}#)
           (begin
             (begin
-              (let ((#{x 3981}# #{x 3975}#))
-                (if (not (#{nonsymbol-id? 337}# #{x 3981}#))
+              (let ((#{x 3991}# #{x 3985}#))
+                (if (not (#{nonsymbol-id? 341}# #{x 3991}#))
                   (syntax-violation
                     'bound-identifier=?
                     "invalid argument"
-                    #{x 3981}#))))
+                    #{x 3991}#))))
             (begin
-              (let ((#{x 3984}# #{y 3976}#))
-                (if (not (#{nonsymbol-id? 337}# #{x 3984}#))
+              (let ((#{x 3994}# #{y 3986}#))
+                (if (not (#{nonsymbol-id? 341}# #{x 3994}#))
                   (syntax-violation
                     'bound-identifier=?
                     "invalid argument"
-                    #{x 3984}#))))
-            (#{bound-id=? 397}# #{x 3975}# #{y 3976}#))))
+                    #{x 3994}#))))
+            (#{bound-id=? 401}# #{x 3985}# #{y 3986}#))))
       (set! syntax-violation
         (lambda*
-          (#{who 3985}#
-            #{message 3986}#
-            #{form 3987}#
+          (#{who 3995}#
+            #{message 3996}#
+            #{form 3997}#
             #:optional
-            (#{subform 3991}# #f))
+            (#{subform 4001}# #f))
           (begin
             (begin
-              (let ((#{x 3995}# #{who 3985}#))
-                (if (not (let ((#{x 3996}# #{x 3995}#))
+              (let ((#{x 4005}# #{who 3995}#))
+                (if (not (let ((#{x 4006}# #{x 4005}#))
                            (begin
-                             (let ((#{t 4000}# (not #{x 3996}#)))
-                               (if #{t 4000}#
-                                 #{t 4000}#
+                             (let ((#{t 4010}# (not #{x 4006}#)))
+                               (if #{t 4010}#
+                                 #{t 4010}#
                                  (begin
-                                   (let ((#{t 4003}# (string? #{x 3996}#)))
-                                     (if #{t 4003}#
-                                       #{t 4003}#
-                                       (symbol? #{x 3996}#)))))))))
+                                   (let ((#{t 4013}# (string? #{x 4006}#)))
+                                     (if #{t 4013}#
+                                       #{t 4013}#
+                                       (symbol? #{x 4006}#)))))))))
                   (syntax-violation
                     'syntax-violation
                     "invalid argument"
-                    #{x 3995}#))))
+                    #{x 4005}#))))
             (begin
-              (let ((#{x 4007}# #{message 3986}#))
-                (if (not (string? #{x 4007}#))
+              (let ((#{x 4017}# #{message 3996}#))
+                (if (not (string? #{x 4017}#))
                   (syntax-violation
                     'syntax-violation
                     "invalid argument"
-                    #{x 4007}#))))
+                    #{x 4017}#))))
             (throw 'syntax-error
-                   #{who 3985}#
-                   #{message 3986}#
-                   (#{source-annotation 320}#
+                   #{who 3995}#
+                   #{message 3996}#
+                   (#{source-annotation 324}#
                      (begin
-                       (let ((#{t 4010}# #{form 3987}#))
-                         (if #{t 4010}# #{t 4010}# #{subform 3991}#))))
-                   (#{strip 445}# #{form 3987}# '(()))
-                   (if #{subform 3991}#
-                     (#{strip 445}# #{subform 3991}# '(()))
+                       (let ((#{t 4020}# #{form 3997}#))
+                         (if #{t 4020}# #{t 4020}# #{subform 4001}#))))
+                   (#{strip 449}# #{form 3997}# '(()))
+                   (if #{subform 4001}#
+                     (#{strip 449}# #{subform 4001}# '(()))
                      #f)))))
       (letrec*
-        ((#{match-each 4017}#
-           (lambda (#{e 4030}# #{p 4031}# #{w 4032}# #{mod 4033}#)
-             (if (pair? #{e 4030}#)
+        ((#{match-each 4027}#
+           (lambda (#{e 4040}# #{p 4041}# #{w 4042}# #{mod 4043}#)
+             (if (pair? #{e 4040}#)
                (begin
-                 (let ((#{first 4041}#
-                         (#{match 4029}#
-                           (car #{e 4030}#)
-                           #{p 4031}#
-                           #{w 4032}#
+                 (let ((#{first 4051}#
+                         (#{match 4039}#
+                           (car #{e 4040}#)
+                           #{p 4041}#
+                           #{w 4042}#
                            '()
-                           #{mod 4033}#)))
-                   (if #{first 4041}#
+                           #{mod 4043}#)))
+                   (if #{first 4051}#
                      (begin
-                       (let ((#{rest 4045}#
-                               (#{match-each 4017}#
-                                 (cdr #{e 4030}#)
-                                 #{p 4031}#
-                                 #{w 4032}#
-                                 #{mod 4033}#)))
-                         (if #{rest 4045}#
-                           (cons #{first 4041}# #{rest 4045}#)
+                       (let ((#{rest 4055}#
+                               (#{match-each 4027}#
+                                 (cdr #{e 4040}#)
+                                 #{p 4041}#
+                                 #{w 4042}#
+                                 #{mod 4043}#)))
+                         (if #{rest 4055}#
+                           (cons #{first 4051}# #{rest 4055}#)
                            #f)))
                      #f)))
-               (if (null? #{e 4030}#)
+               (if (null? #{e 4040}#)
                  '()
-                 (if (#{syntax-object? 305}# #{e 4030}#)
-                   (#{match-each 4017}#
-                     (#{syntax-object-expression 307}# #{e 4030}#)
-                     #{p 4031}#
-                     (#{join-wraps 387}#
-                       #{w 4032}#
-                       (#{syntax-object-wrap 309}# #{e 4030}#))
-                     (#{syntax-object-module 311}# #{e 4030}#))
+                 (if (#{syntax-object? 309}# #{e 4040}#)
+                   (#{match-each 4027}#
+                     (#{syntax-object-expression 311}# #{e 4040}#)
+                     #{p 4041}#
+                     (#{join-wraps 391}#
+                       #{w 4042}#
+                       (#{syntax-object-wrap 313}# #{e 4040}#))
+                     (#{syntax-object-module 315}# #{e 4040}#))
                    #f)))))
-         (#{match-each+ 4019}#
-           (lambda (#{e 4053}#
-                    #{x-pat 4054}#
-                    #{y-pat 4055}#
-                    #{z-pat 4056}#
-                    #{w 4057}#
-                    #{r 4058}#
-                    #{mod 4059}#)
+         (#{match-each+ 4029}#
+           (lambda (#{e 4063}#
+                    #{x-pat 4064}#
+                    #{y-pat 4065}#
+                    #{z-pat 4066}#
+                    #{w 4067}#
+                    #{r 4068}#
+                    #{mod 4069}#)
              (letrec*
-               ((#{f 4070}#
-                  (lambda (#{e 4071}# #{w 4072}#)
-                    (if (pair? #{e 4071}#)
+               ((#{f 4080}#
+                  (lambda (#{e 4081}# #{w 4082}#)
+                    (if (pair? #{e 4081}#)
                       (call-with-values
                         (lambda ()
-                          (#{f 4070}# (cdr #{e 4071}#) #{w 4072}#))
-                        (lambda (#{xr* 4075}# #{y-pat 4076}# #{r 4077}#)
-                          (if #{r 4077}#
-                            (if (null? #{y-pat 4076}#)
+                          (#{f 4080}# (cdr #{e 4081}#) #{w 4082}#))
+                        (lambda (#{xr* 4085}# #{y-pat 4086}# #{r 4087}#)
+                          (if #{r 4087}#
+                            (if (null? #{y-pat 4086}#)
                               (begin
-                                (let ((#{xr 4082}#
-                                        (#{match 4029}#
-                                          (car #{e 4071}#)
-                                          #{x-pat 4054}#
-                                          #{w 4072}#
+                                (let ((#{xr 4092}#
+                                        (#{match 4039}#
+                                          (car #{e 4081}#)
+                                          #{x-pat 4064}#
+                                          #{w 4082}#
                                           '()
-                                          #{mod 4059}#)))
-                                  (if #{xr 4082}#
+                                          #{mod 4069}#)))
+                                  (if #{xr 4092}#
                                     (values
-                                      (cons #{xr 4082}# #{xr* 4075}#)
-                                      #{y-pat 4076}#
-                                      #{r 4077}#)
+                                      (cons #{xr 4092}# #{xr* 4085}#)
+                                      #{y-pat 4086}#
+                                      #{r 4087}#)
                                     (values #f #f #f))))
                               (values
                                 '()
-                                (cdr #{y-pat 4076}#)
-                                (#{match 4029}#
-                                  (car #{e 4071}#)
-                                  (car #{y-pat 4076}#)
-                                  #{w 4072}#
-                                  #{r 4077}#
-                                  #{mod 4059}#)))
+                                (cdr #{y-pat 4086}#)
+                                (#{match 4039}#
+                                  (car #{e 4081}#)
+                                  (car #{y-pat 4086}#)
+                                  #{w 4082}#
+                                  #{r 4087}#
+                                  #{mod 4069}#)))
                             (values #f #f #f))))
-                      (if (#{syntax-object? 305}# #{e 4071}#)
-                        (#{f 4070}#
-                          (#{syntax-object-expression 307}# #{e 4071}#)
-                          (#{join-wraps 387}# #{w 4072}# #{e 4071}#))
+                      (if (#{syntax-object? 309}# #{e 4081}#)
+                        (#{f 4080}#
+                          (#{syntax-object-expression 311}# #{e 4081}#)
+                          (#{join-wraps 391}# #{w 4082}# #{e 4081}#))
                         (values
                           '()
-                          #{y-pat 4055}#
-                          (#{match 4029}#
-                            #{e 4071}#
-                            #{z-pat 4056}#
-                            #{w 4072}#
-                            #{r 4058}#
-                            #{mod 4059}#)))))))
-               (begin (#{f 4070}# #{e 4053}# #{w 4057}#)))))
-         (#{match-each-any 4021}#
-           (lambda (#{e 4086}# #{w 4087}# #{mod 4088}#)
-             (if (pair? #{e 4086}#)
+                          #{y-pat 4065}#
+                          (#{match 4039}#
+                            #{e 4081}#
+                            #{z-pat 4066}#
+                            #{w 4082}#
+                            #{r 4068}#
+                            #{mod 4069}#)))))))
+               (begin (#{f 4080}# #{e 4063}# #{w 4067}#)))))
+         (#{match-each-any 4031}#
+           (lambda (#{e 4096}# #{w 4097}# #{mod 4098}#)
+             (if (pair? #{e 4096}#)
                (begin
-                 (let ((#{l 4095}#
-                         (#{match-each-any 4021}#
-                           (cdr #{e 4086}#)
-                           #{w 4087}#
-                           #{mod 4088}#)))
-                   (if #{l 4095}#
-                     (cons (#{wrap 405}#
-                             (car #{e 4086}#)
-                             #{w 4087}#
-                             #{mod 4088}#)
-                           #{l 4095}#)
+                 (let ((#{l 4105}#
+                         (#{match-each-any 4031}#
+                           (cdr #{e 4096}#)
+                           #{w 4097}#
+                           #{mod 4098}#)))
+                   (if #{l 4105}#
+                     (cons (#{wrap 409}#
+                             (car #{e 4096}#)
+                             #{w 4097}#
+                             #{mod 4098}#)
+                           #{l 4105}#)
                      #f)))
-               (if (null? #{e 4086}#)
+               (if (null? #{e 4096}#)
                  '()
-                 (if (#{syntax-object? 305}# #{e 4086}#)
-                   (#{match-each-any 4021}#
-                     (#{syntax-object-expression 307}# #{e 4086}#)
-                     (#{join-wraps 387}#
-                       #{w 4087}#
-                       (#{syntax-object-wrap 309}# #{e 4086}#))
-                     #{mod 4088}#)
+                 (if (#{syntax-object? 309}# #{e 4096}#)
+                   (#{match-each-any 4031}#
+                     (#{syntax-object-expression 311}# #{e 4096}#)
+                     (#{join-wraps 391}#
+                       #{w 4097}#
+                       (#{syntax-object-wrap 313}# #{e 4096}#))
+                     #{mod 4098}#)
                    #f)))))
-         (#{match-empty 4023}#
-           (lambda (#{p 4103}# #{r 4104}#)
-             (if (null? #{p 4103}#)
-               #{r 4104}#
-               (if (eq? #{p 4103}# '_)
-                 #{r 4104}#
-                 (if (eq? #{p 4103}# 'any)
-                   (cons '() #{r 4104}#)
-                   (if (pair? #{p 4103}#)
-                     (#{match-empty 4023}#
-                       (car #{p 4103}#)
-                       (#{match-empty 4023}#
-                         (cdr #{p 4103}#)
-                         #{r 4104}#))
-                     (if (eq? #{p 4103}# 'each-any)
-                       (cons '() #{r 4104}#)
+         (#{match-empty 4033}#
+           (lambda (#{p 4113}# #{r 4114}#)
+             (if (null? #{p 4113}#)
+               #{r 4114}#
+               (if (eq? #{p 4113}# '_)
+                 #{r 4114}#
+                 (if (eq? #{p 4113}# 'any)
+                   (cons '() #{r 4114}#)
+                   (if (pair? #{p 4113}#)
+                     (#{match-empty 4033}#
+                       (car #{p 4113}#)
+                       (#{match-empty 4033}#
+                         (cdr #{p 4113}#)
+                         #{r 4114}#))
+                     (if (eq? #{p 4113}# 'each-any)
+                       (cons '() #{r 4114}#)
                        (begin
-                         (let ((#{atom-key 4120}# (vector-ref #{p 4103}# 0)))
-                           (if (eqv? #{atom-key 4120}# 'each)
-                             (#{match-empty 4023}#
-                               (vector-ref #{p 4103}# 1)
-                               #{r 4104}#)
-                             (if (eqv? #{atom-key 4120}# 'each+)
-                               (#{match-empty 4023}#
-                                 (vector-ref #{p 4103}# 1)
-                                 (#{match-empty 4023}#
-                                   (reverse (vector-ref #{p 4103}# 2))
-                                   (#{match-empty 4023}#
-                                     (vector-ref #{p 4103}# 3)
-                                     #{r 4104}#)))
-                               (if (if (eqv? #{atom-key 4120}# 'free-id)
-                                     #t
-                                     (eqv? #{atom-key 4120}# 'atom))
-                                 #{r 4104}#
-                                 (if (eqv? #{atom-key 4120}# 'vector)
-                                   (#{match-empty 4023}#
-                                     (vector-ref #{p 4103}# 1)
-                                     #{r 4104}#))))))))))))))
-         (#{combine 4025}#
-           (lambda (#{r* 4125}# #{r 4126}#)
-             (if (null? (car #{r* 4125}#))
-               #{r 4126}#
-               (cons (map car #{r* 4125}#)
-                     (#{combine 4025}#
-                       (map cdr #{r* 4125}#)
-                       #{r 4126}#)))))
-         (#{match* 4027}#
-           (lambda (#{e 4129}#
-                    #{p 4130}#
-                    #{w 4131}#
-                    #{r 4132}#
-                    #{mod 4133}#)
-             (if (null? #{p 4130}#)
-               (if (null? #{e 4129}#) #{r 4132}# #f)
-               (if (pair? #{p 4130}#)
-                 (if (pair? #{e 4129}#)
-                   (#{match 4029}#
-                     (car #{e 4129}#)
-                     (car #{p 4130}#)
-                     #{w 4131}#
-                     (#{match 4029}#
-                       (cdr #{e 4129}#)
-                       (cdr #{p 4130}#)
-                       #{w 4131}#
-                       #{r 4132}#
-                       #{mod 4133}#)
-                     #{mod 4133}#)
+                         (let ((#{atom-key 4130}# (vector-ref #{p 4113}# 0)))
+                           (if (memv #{atom-key 4130}# '(each))
+                             (#{match-empty 4033}#
+                               (vector-ref #{p 4113}# 1)
+                               #{r 4114}#)
+                             (if (memv #{atom-key 4130}# '(each+))
+                               (#{match-empty 4033}#
+                                 (vector-ref #{p 4113}# 1)
+                                 (#{match-empty 4033}#
+                                   (reverse (vector-ref #{p 4113}# 2))
+                                   (#{match-empty 4033}#
+                                     (vector-ref #{p 4113}# 3)
+                                     #{r 4114}#)))
+                               (if (memv #{atom-key 4130}# '(free-id atom))
+                                 #{r 4114}#
+                                 (if (memv #{atom-key 4130}# '(vector))
+                                   (#{match-empty 4033}#
+                                     (vector-ref #{p 4113}# 1)
+                                     #{r 4114}#))))))))))))))
+         (#{combine 4035}#
+           (lambda (#{r* 4135}# #{r 4136}#)
+             (if (null? (car #{r* 4135}#))
+               #{r 4136}#
+               (cons (map car #{r* 4135}#)
+                     (#{combine 4035}#
+                       (map cdr #{r* 4135}#)
+                       #{r 4136}#)))))
+         (#{match* 4037}#
+           (lambda (#{e 4139}#
+                    #{p 4140}#
+                    #{w 4141}#
+                    #{r 4142}#
+                    #{mod 4143}#)
+             (if (null? #{p 4140}#)
+               (if (null? #{e 4139}#) #{r 4142}# #f)
+               (if (pair? #{p 4140}#)
+                 (if (pair? #{e 4139}#)
+                   (#{match 4039}#
+                     (car #{e 4139}#)
+                     (car #{p 4140}#)
+                     #{w 4141}#
+                     (#{match 4039}#
+                       (cdr #{e 4139}#)
+                       (cdr #{p 4140}#)
+                       #{w 4141}#
+                       #{r 4142}#
+                       #{mod 4143}#)
+                     #{mod 4143}#)
                    #f)
-                 (if (eq? #{p 4130}# 'each-any)
+                 (if (eq? #{p 4140}# 'each-any)
                    (begin
-                     (let ((#{l 4150}#
-                             (#{match-each-any 4021}#
-                               #{e 4129}#
-                               #{w 4131}#
-                               #{mod 4133}#)))
-                       (if #{l 4150}# (cons #{l 4150}# #{r 4132}#) #f)))
+                     (let ((#{l 4160}#
+                             (#{match-each-any 4031}#
+                               #{e 4139}#
+                               #{w 4141}#
+                               #{mod 4143}#)))
+                       (if #{l 4160}# (cons #{l 4160}# #{r 4142}#) #f)))
                    (begin
-                     (let ((#{atom-key 4156}# (vector-ref #{p 4130}# 0)))
-                       (if (eqv? #{atom-key 4156}# 'each)
-                         (if (null? #{e 4129}#)
-                           (#{match-empty 4023}#
-                             (vector-ref #{p 4130}# 1)
-                             #{r 4132}#)
+                     (let ((#{atom-key 4166}# (vector-ref #{p 4140}# 0)))
+                       (if (memv #{atom-key 4166}# '(each))
+                         (if (null? #{e 4139}#)
+                           (#{match-empty 4033}#
+                             (vector-ref #{p 4140}# 1)
+                             #{r 4142}#)
                            (begin
-                             (let ((#{l 4159}#
-                                     (#{match-each 4017}#
-                                       #{e 4129}#
-                                       (vector-ref #{p 4130}# 1)
-                                       #{w 4131}#
-                                       #{mod 4133}#)))
-                               (if #{l 4159}#
+                             (let ((#{l 4169}#
+                                     (#{match-each 4027}#
+                                       #{e 4139}#
+                                       (vector-ref #{p 4140}# 1)
+                                       #{w 4141}#
+                                       #{mod 4143}#)))
+                               (if #{l 4169}#
                                  (letrec*
-                                   ((#{collect 4164}#
-                                      (lambda (#{l 4165}#)
-                                        (if (null? (car #{l 4165}#))
-                                          #{r 4132}#
-                                          (cons (map car #{l 4165}#)
-                                                (#{collect 4164}#
-                                                  (map cdr #{l 4165}#)))))))
-                                   (begin (#{collect 4164}# #{l 4159}#)))
+                                   ((#{collect 4174}#
+                                      (lambda (#{l 4175}#)
+                                        (if (null? (car #{l 4175}#))
+                                          #{r 4142}#
+                                          (cons (map car #{l 4175}#)
+                                                (#{collect 4174}#
+                                                  (map cdr #{l 4175}#)))))))
+                                   (begin (#{collect 4174}# #{l 4169}#)))
                                  #f))))
-                         (if (eqv? #{atom-key 4156}# 'each+)
+                         (if (memv #{atom-key 4166}# '(each+))
                            (call-with-values
                              (lambda ()
-                               (#{match-each+ 4019}#
-                                 #{e 4129}#
-                                 (vector-ref #{p 4130}# 1)
-                                 (vector-ref #{p 4130}# 2)
-                                 (vector-ref #{p 4130}# 3)
-                                 #{w 4131}#
-                                 #{r 4132}#
-                                 #{mod 4133}#))
-                             (lambda (#{xr* 4167}# #{y-pat 4168}# #{r 4169}#)
-                               (if #{r 4169}#
-                                 (if (null? #{y-pat 4168}#)
-                                   (if (null? #{xr* 4167}#)
-                                     (#{match-empty 4023}#
-                                       (vector-ref #{p 4130}# 1)
-                                       #{r 4169}#)
-                                     (#{combine 4025}#
-                                       #{xr* 4167}#
-                                       #{r 4169}#))
+                               (#{match-each+ 4029}#
+                                 #{e 4139}#
+                                 (vector-ref #{p 4140}# 1)
+                                 (vector-ref #{p 4140}# 2)
+                                 (vector-ref #{p 4140}# 3)
+                                 #{w 4141}#
+                                 #{r 4142}#
+                                 #{mod 4143}#))
+                             (lambda (#{xr* 4177}# #{y-pat 4178}# #{r 4179}#)
+                               (if #{r 4179}#
+                                 (if (null? #{y-pat 4178}#)
+                                   (if (null? #{xr* 4177}#)
+                                     (#{match-empty 4033}#
+                                       (vector-ref #{p 4140}# 1)
+                                       #{r 4179}#)
+                                     (#{combine 4035}#
+                                       #{xr* 4177}#
+                                       #{r 4179}#))
                                    #f)
                                  #f)))
-                           (if (eqv? #{atom-key 4156}# 'free-id)
-                             (if (#{id? 339}# #{e 4129}#)
-                               (if (#{free-id=? 395}#
-                                     (#{wrap 405}#
-                                       #{e 4129}#
-                                       #{w 4131}#
-                                       #{mod 4133}#)
-                                     (vector-ref #{p 4130}# 1))
-                                 #{r 4132}#
+                           (if (memv #{atom-key 4166}# '(free-id))
+                             (if (#{id? 343}# #{e 4139}#)
+                               (if (#{free-id=? 399}#
+                                     (#{wrap 409}#
+                                       #{e 4139}#
+                                       #{w 4141}#
+                                       #{mod 4143}#)
+                                     (vector-ref #{p 4140}# 1))
+                                 #{r 4142}#
                                  #f)
                                #f)
-                             (if (eqv? #{atom-key 4156}# 'atom)
+                             (if (memv #{atom-key 4166}# '(atom))
                                (if (equal?
-                                     (vector-ref #{p 4130}# 1)
-                                     (#{strip 445}# #{e 4129}# #{w 4131}#))
-                                 #{r 4132}#
+                                     (vector-ref #{p 4140}# 1)
+                                     (#{strip 449}# #{e 4139}# #{w 4141}#))
+                                 #{r 4142}#
                                  #f)
-                               (if (eqv? #{atom-key 4156}# 'vector)
-                                 (if (vector? #{e 4129}#)
-                                   (#{match 4029}#
-                                     (vector->list #{e 4129}#)
-                                     (vector-ref #{p 4130}# 1)
-                                     #{w 4131}#
-                                     #{r 4132}#
-                                     #{mod 4133}#)
+                               (if (memv #{atom-key 4166}# '(vector))
+                                 (if (vector? #{e 4139}#)
+                                   (#{match 4039}#
+                                     (vector->list #{e 4139}#)
+                                     (vector-ref #{p 4140}# 1)
+                                     #{w 4141}#
+                                     #{r 4142}#
+                                     #{mod 4143}#)
                                    #f)))))))))))))
-         (#{match 4029}#
-           (lambda (#{e 4186}#
-                    #{p 4187}#
-                    #{w 4188}#
-                    #{r 4189}#
-                    #{mod 4190}#)
-             (if (not #{r 4189}#)
+         (#{match 4039}#
+           (lambda (#{e 4196}#
+                    #{p 4197}#
+                    #{w 4198}#
+                    #{r 4199}#
+                    #{mod 4200}#)
+             (if (not #{r 4199}#)
                #f
-               (if (eq? #{p 4187}# '_)
-                 #{r 4189}#
-                 (if (eq? #{p 4187}# 'any)
-                   (cons (#{wrap 405}# #{e 4186}# #{w 4188}# #{mod 4190}#)
-                         #{r 4189}#)
-                   (if (#{syntax-object? 305}# #{e 4186}#)
-                     (#{match* 4027}#
-                       (#{syntax-object-expression 307}# #{e 4186}#)
-                       #{p 4187}#
-                       (#{join-wraps 387}#
-                         #{w 4188}#
-                         (#{syntax-object-wrap 309}# #{e 4186}#))
-                       #{r 4189}#
-                       (#{syntax-object-module 311}# #{e 4186}#))
-                     (#{match* 4027}#
-                       #{e 4186}#
-                       #{p 4187}#
-                       #{w 4188}#
-                       #{r 4189}#
-                       #{mod 4190}#))))))))
+               (if (eq? #{p 4197}# '_)
+                 #{r 4199}#
+                 (if (eq? #{p 4197}# 'any)
+                   (cons (#{wrap 409}# #{e 4196}# #{w 4198}# #{mod 4200}#)
+                         #{r 4199}#)
+                   (if (#{syntax-object? 309}# #{e 4196}#)
+                     (#{match* 4037}#
+                       (#{syntax-object-expression 311}# #{e 4196}#)
+                       #{p 4197}#
+                       (#{join-wraps 391}#
+                         #{w 4198}#
+                         (#{syntax-object-wrap 313}# #{e 4196}#))
+                       #{r 4199}#
+                       (#{syntax-object-module 315}# #{e 4196}#))
+                     (#{match* 4037}#
+                       #{e 4196}#
+                       #{p 4197}#
+                       #{w 4198}#
+                       #{r 4199}#
+                       #{mod 4200}#))))))))
         (begin
           (set! $sc-dispatch
-            (lambda (#{e 4205}# #{p 4206}#)
-              (if (eq? #{p 4206}# 'any)
-                (list #{e 4205}#)
-                (if (eq? #{p 4206}# '_)
+            (lambda (#{e 4215}# #{p 4216}#)
+              (if (eq? #{p 4216}# 'any)
+                (list #{e 4215}#)
+                (if (eq? #{p 4216}# '_)
                   '()
-                  (if (#{syntax-object? 305}# #{e 4205}#)
-                    (#{match* 4027}#
-                      (#{syntax-object-expression 307}# #{e 4205}#)
-                      #{p 4206}#
-                      (#{syntax-object-wrap 309}# #{e 4205}#)
+                  (if (#{syntax-object? 309}# #{e 4215}#)
+                    (#{match* 4037}#
+                      (#{syntax-object-expression 311}# #{e 4215}#)
+                      #{p 4216}#
+                      (#{syntax-object-wrap 313}# #{e 4215}#)
                       '()
-                      (#{syntax-object-module 311}# #{e 4205}#))
-                    (#{match* 4027}#
-                      #{e 4205}#
-                      #{p 4206}#
+                      (#{syntax-object-module 315}# #{e 4215}#))
+                    (#{match* 4037}#
+                      #{e 4215}#
+                      #{p 4216}#
                       '(())
                       '()
                       #f)))))))))))
   (make-syntax-transformer
     'with-syntax
     'macro
-    (lambda (#{x 4217}#)
-      (let ((#{tmp 4219}# #{x 4217}#))
-        (let ((#{tmp 4220}#
+    (lambda (#{x 4227}#)
+      (let ((#{tmp 4229}# #{x 4227}#))
+        (let ((#{tmp 4230}#
                 ($sc-dispatch
-                  #{tmp 4219}#
+                  #{tmp 4229}#
                   '(_ () any . each-any))))
-          (if #{tmp 4220}#
+          (if #{tmp 4230}#
             (@apply
-              (lambda (#{e1 4223}# #{e2 4224}#)
+              (lambda (#{e1 4233}# #{e2 4234}#)
                 (cons '#(syntax-object
                          let
                          ((top)
                           #(ribcage
                             #(e1 e2)
                             #((top) (top))
-                            #("i4221" "i4222"))
+                            #("i4231" "i4232"))
                           #(ribcage () () ())
-                          #(ribcage #(x) #((top)) #("i4218")))
+                          #(ribcage #(x) #((top)) #("i4228")))
                          (hygiene guile))
-                      (cons '() (cons #{e1 4223}# #{e2 4224}#))))
-              #{tmp 4220}#)
-            (let ((#{tmp 4226}#
+                      (cons '() (cons #{e1 4233}# #{e2 4234}#))))
+              #{tmp 4230}#)
+            (let ((#{tmp 4236}#
                     ($sc-dispatch
-                      #{tmp 4219}#
+                      #{tmp 4229}#
                       '(_ ((any any)) any . each-any))))
-              (if #{tmp 4226}#
+              (if #{tmp 4236}#
                 (@apply
-                  (lambda (#{out 4231}#
-                           #{in 4232}#
-                           #{e1 4233}#
-                           #{e2 4234}#)
+                  (lambda (#{out 4241}#
+                           #{in 4242}#
+                           #{e1 4243}#
+                           #{e2 4244}#)
                     (list '#(syntax-object
                              syntax-case
                              ((top)
                               #(ribcage
                                 #(out in e1 e2)
                                 #((top) (top) (top) (top))
-                                #("i4227" "i4228" "i4229" "i4230"))
+                                #("i4237" "i4238" "i4239" "i4240"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i4218")))
+                              #(ribcage #(x) #((top)) #("i4228")))
                              (hygiene guile))
-                          #{in 4232}#
+                          #{in 4242}#
                           '()
-                          (list #{out 4231}#
+                          (list #{out 4241}#
                                 (cons '#(syntax-object
                                          let
                                          ((top)
                                           #(ribcage
                                             #(out in e1 e2)
                                             #((top) (top) (top) (top))
-                                            #("i4227" "i4228" "i4229" "i4230"))
+                                            #("i4237" "i4238" "i4239" "i4240"))
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i4218")))
+                                          #(ribcage #(x) #((top)) #("i4228")))
                                          (hygiene guile))
                                       (cons '()
-                                            (cons #{e1 4233}# #{e2 4234}#))))))
-                  #{tmp 4226}#)
-                (let ((#{tmp 4236}#
+                                            (cons #{e1 4243}# #{e2 4244}#))))))
+                  #{tmp 4236}#)
+                (let ((#{tmp 4246}#
                         ($sc-dispatch
-                          #{tmp 4219}#
+                          #{tmp 4229}#
                           '(_ #(each (any any)) any . each-any))))
-                  (if #{tmp 4236}#
+                  (if #{tmp 4246}#
                     (@apply
-                      (lambda (#{out 4241}#
-                               #{in 4242}#
-                               #{e1 4243}#
-                               #{e2 4244}#)
+                      (lambda (#{out 4251}#
+                               #{in 4252}#
+                               #{e1 4253}#
+                               #{e2 4254}#)
                         (list '#(syntax-object
                                  syntax-case
                                  ((top)
                                   #(ribcage
                                     #(out in e1 e2)
                                     #((top) (top) (top) (top))
-                                    #("i4237" "i4238" "i4239" "i4240"))
+                                    #("i4247" "i4248" "i4249" "i4250"))
                                   #(ribcage () () ())
-                                  #(ribcage #(x) #((top)) #("i4218")))
+                                  #(ribcage #(x) #((top)) #("i4228")))
                                  (hygiene guile))
                               (cons '#(syntax-object
                                        list
                                         #(ribcage
                                           #(out in e1 e2)
                                           #((top) (top) (top) (top))
-                                          #("i4237" "i4238" "i4239" "i4240"))
+                                          #("i4247" "i4248" "i4249" "i4250"))
                                         #(ribcage () () ())
-                                        #(ribcage #(x) #((top)) #("i4218")))
+                                        #(ribcage #(x) #((top)) #("i4228")))
                                        (hygiene guile))
-                                    #{in 4242}#)
+                                    #{in 4252}#)
                               '()
-                              (list #{out 4241}#
+                              (list #{out 4251}#
                                     (cons '#(syntax-object
                                              let
                                              ((top)
                                               #(ribcage
                                                 #(out in e1 e2)
                                                 #((top) (top) (top) (top))
-                                                #("i4237"
-                                                  "i4238"
-                                                  "i4239"
-                                                  "i4240"))
+                                                #("i4247"
+                                                  "i4248"
+                                                  "i4249"
+                                                  "i4250"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(x)
                                                 #((top))
-                                                #("i4218")))
+                                                #("i4228")))
                                              (hygiene guile))
                                           (cons '()
-                                                (cons #{e1 4243}#
-                                                      #{e2 4244}#))))))
-                      #{tmp 4236}#)
+                                                (cons #{e1 4253}#
+                                                      #{e2 4254}#))))))
+                      #{tmp 4246}#)
                     (syntax-violation
                       #f
                       "source expression failed to match any pattern"
-                      #{tmp 4219}#)))))))))))
+                      #{tmp 4229}#)))))))))))
 
 (define syntax-rules
   (make-syntax-transformer
     'syntax-rules
     'macro
-    (lambda (#{x 4248}#)
-      (let ((#{tmp 4250}# #{x 4248}#))
-        (let ((#{tmp 4251}#
+    (lambda (#{x 4258}#)
+      (let ((#{tmp 4260}# #{x 4258}#))
+        (let ((#{tmp 4261}#
                 ($sc-dispatch
-                  #{tmp 4250}#
+                  #{tmp 4260}#
                   '(_ each-any . #(each ((any . any) any))))))
-          (if #{tmp 4251}#
+          (if #{tmp 4261}#
             (@apply
-              (lambda (#{k 4256}#
-                       #{keyword 4257}#
-                       #{pattern 4258}#
-                       #{template 4259}#)
+              (lambda (#{k 4266}#
+                       #{keyword 4267}#
+                       #{pattern 4268}#
+                       #{template 4269}#)
                 (list '#(syntax-object
                          lambda
                          ((top)
                           #(ribcage
                             #(k keyword pattern template)
                             #((top) (top) (top) (top))
-                            #("i4252" "i4253" "i4254" "i4255"))
+                            #("i4262" "i4263" "i4264" "i4265"))
                           #(ribcage () () ())
-                          #(ribcage #(x) #((top)) #("i4249")))
+                          #(ribcage #(x) #((top)) #("i4259")))
                          (hygiene guile))
                       '(#(syntax-object
                           x
                            #(ribcage
                              #(k keyword pattern template)
                              #((top) (top) (top) (top))
-                             #("i4252" "i4253" "i4254" "i4255"))
+                             #("i4262" "i4263" "i4264" "i4265"))
                            #(ribcage () () ())
-                           #(ribcage #(x) #((top)) #("i4249")))
+                           #(ribcage #(x) #((top)) #("i4259")))
                           (hygiene guile)))
                       (vector
                         '(#(syntax-object
                              #(ribcage
                                #(k keyword pattern template)
                                #((top) (top) (top) (top))
-                               #("i4252" "i4253" "i4254" "i4255"))
+                               #("i4262" "i4263" "i4264" "i4265"))
                              #(ribcage () () ())
-                             #(ribcage #(x) #((top)) #("i4249")))
+                             #(ribcage #(x) #((top)) #("i4259")))
                             (hygiene guile))
                           .
                           #(syntax-object
                              #(ribcage
                                #(k keyword pattern template)
                                #((top) (top) (top) (top))
-                               #("i4252" "i4253" "i4254" "i4255"))
+                               #("i4262" "i4263" "i4264" "i4265"))
                              #(ribcage () () ())
-                             #(ribcage #(x) #((top)) #("i4249")))
+                             #(ribcage #(x) #((top)) #("i4259")))
                             (hygiene guile)))
                         (cons '#(syntax-object
                                  patterns
                                   #(ribcage
                                     #(k keyword pattern template)
                                     #((top) (top) (top) (top))
-                                    #("i4252" "i4253" "i4254" "i4255"))
+                                    #("i4262" "i4263" "i4264" "i4265"))
                                   #(ribcage () () ())
-                                  #(ribcage #(x) #((top)) #("i4249")))
+                                  #(ribcage #(x) #((top)) #("i4259")))
                                  (hygiene guile))
-                              #{pattern 4258}#))
+                              #{pattern 4268}#))
                       (cons '#(syntax-object
                                syntax-case
                                ((top)
                                 #(ribcage
                                   #(k keyword pattern template)
                                   #((top) (top) (top) (top))
-                                  #("i4252" "i4253" "i4254" "i4255"))
+                                  #("i4262" "i4263" "i4264" "i4265"))
                                 #(ribcage () () ())
-                                #(ribcage #(x) #((top)) #("i4249")))
+                                #(ribcage #(x) #((top)) #("i4259")))
                                (hygiene guile))
                             (cons '#(syntax-object
                                      x
                                       #(ribcage
                                         #(k keyword pattern template)
                                         #((top) (top) (top) (top))
-                                        #("i4252" "i4253" "i4254" "i4255"))
+                                        #("i4262" "i4263" "i4264" "i4265"))
                                       #(ribcage () () ())
-                                      #(ribcage #(x) #((top)) #("i4249")))
+                                      #(ribcage #(x) #((top)) #("i4259")))
                                      (hygiene guile))
-                                  (cons #{k 4256}#
-                                        (map (lambda (#{tmp 4263}#
-                                                      #{tmp 4262}#)
+                                  (cons #{k 4266}#
+                                        (map (lambda (#{tmp 4273}#
+                                                      #{tmp 4272}#)
                                                (list (cons '#(syntax-object
                                                               dummy
                                                               ((top)
                                                                    (top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4252"
-                                                                   "i4253"
-                                                                   "i4254"
-                                                                   "i4255"))
+                                                                 #("i4262"
+                                                                   "i4263"
+                                                                   "i4264"
+                                                                   "i4265"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
                                                                #(ribcage
                                                                  #(x)
                                                                  #((top))
-                                                                 #("i4249")))
+                                                                 #("i4259")))
                                                               (hygiene guile))
-                                                           #{tmp 4262}#)
+                                                           #{tmp 4272}#)
                                                      (list '#(syntax-object
                                                               syntax
                                                               ((top)
                                                                    (top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4252"
-                                                                   "i4253"
-                                                                   "i4254"
-                                                                   "i4255"))
+                                                                 #("i4262"
+                                                                   "i4263"
+                                                                   "i4264"
+                                                                   "i4265"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
                                                                #(ribcage
                                                                  #(x)
                                                                  #((top))
-                                                                 #("i4249")))
+                                                                 #("i4259")))
                                                               (hygiene guile))
-                                                           #{tmp 4263}#)))
-                                             #{template 4259}#
-                                             #{pattern 4258}#))))))
-              #{tmp 4251}#)
-            (let ((#{tmp 4264}#
+                                                           #{tmp 4273}#)))
+                                             #{template 4269}#
+                                             #{pattern 4268}#))))))
+              #{tmp 4261}#)
+            (let ((#{tmp 4274}#
                     ($sc-dispatch
-                      #{tmp 4250}#
+                      #{tmp 4260}#
                       '(_ each-any any . #(each ((any . any) any))))))
-              (if (if #{tmp 4264}#
+              (if (if #{tmp 4274}#
                     (@apply
-                      (lambda (#{k 4270}#
-                               #{docstring 4271}#
-                               #{keyword 4272}#
-                               #{pattern 4273}#
-                               #{template 4274}#)
-                        (string? (syntax->datum #{docstring 4271}#)))
-                      #{tmp 4264}#)
+                      (lambda (#{k 4280}#
+                               #{docstring 4281}#
+                               #{keyword 4282}#
+                               #{pattern 4283}#
+                               #{template 4284}#)
+                        (string? (syntax->datum #{docstring 4281}#)))
+                      #{tmp 4274}#)
                     #f)
                 (@apply
-                  (lambda (#{k 4280}#
-                           #{docstring 4281}#
-                           #{keyword 4282}#
-                           #{pattern 4283}#
-                           #{template 4284}#)
+                  (lambda (#{k 4290}#
+                           #{docstring 4291}#
+                           #{keyword 4292}#
+                           #{pattern 4293}#
+                           #{template 4294}#)
                     (list '#(syntax-object
                              lambda
                              ((top)
                               #(ribcage
                                 #(k docstring keyword pattern template)
                                 #((top) (top) (top) (top) (top))
-                                #("i4275" "i4276" "i4277" "i4278" "i4279"))
+                                #("i4285" "i4286" "i4287" "i4288" "i4289"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i4249")))
+                              #(ribcage #(x) #((top)) #("i4259")))
                              (hygiene guile))
                           '(#(syntax-object
                               x
                                #(ribcage
                                  #(k docstring keyword pattern template)
                                  #((top) (top) (top) (top) (top))
-                                 #("i4275" "i4276" "i4277" "i4278" "i4279"))
+                                 #("i4285" "i4286" "i4287" "i4288" "i4289"))
                                #(ribcage () () ())
-                               #(ribcage #(x) #((top)) #("i4249")))
+                               #(ribcage #(x) #((top)) #("i4259")))
                               (hygiene guile)))
-                          #{docstring 4281}#
+                          #{docstring 4291}#
                           (vector
                             '(#(syntax-object
                                 macro-type
                                  #(ribcage
                                    #(k docstring keyword pattern template)
                                    #((top) (top) (top) (top) (top))
-                                   #("i4275" "i4276" "i4277" "i4278" "i4279"))
+                                   #("i4285" "i4286" "i4287" "i4288" "i4289"))
                                  #(ribcage () () ())
-                                 #(ribcage #(x) #((top)) #("i4249")))
+                                 #(ribcage #(x) #((top)) #("i4259")))
                                 (hygiene guile))
                               .
                               #(syntax-object
                                  #(ribcage
                                    #(k docstring keyword pattern template)
                                    #((top) (top) (top) (top) (top))
-                                   #("i4275" "i4276" "i4277" "i4278" "i4279"))
+                                   #("i4285" "i4286" "i4287" "i4288" "i4289"))
                                  #(ribcage () () ())
-                                 #(ribcage #(x) #((top)) #("i4249")))
+                                 #(ribcage #(x) #((top)) #("i4259")))
                                 (hygiene guile)))
                             (cons '#(syntax-object
                                      patterns
                                       #(ribcage
                                         #(k docstring keyword pattern template)
                                         #((top) (top) (top) (top) (top))
-                                        #("i4275"
-                                          "i4276"
-                                          "i4277"
-                                          "i4278"
-                                          "i4279"))
+                                        #("i4285"
+                                          "i4286"
+                                          "i4287"
+                                          "i4288"
+                                          "i4289"))
                                       #(ribcage () () ())
-                                      #(ribcage #(x) #((top)) #("i4249")))
+                                      #(ribcage #(x) #((top)) #("i4259")))
                                      (hygiene guile))
-                                  #{pattern 4283}#))
+                                  #{pattern 4293}#))
                           (cons '#(syntax-object
                                    syntax-case
                                    ((top)
                                     #(ribcage
                                       #(k docstring keyword pattern template)
                                       #((top) (top) (top) (top) (top))
-                                      #("i4275"
-                                        "i4276"
-                                        "i4277"
-                                        "i4278"
-                                        "i4279"))
+                                      #("i4285"
+                                        "i4286"
+                                        "i4287"
+                                        "i4288"
+                                        "i4289"))
                                     #(ribcage () () ())
-                                    #(ribcage #(x) #((top)) #("i4249")))
+                                    #(ribcage #(x) #((top)) #("i4259")))
                                    (hygiene guile))
                                 (cons '#(syntax-object
                                          x
                                               pattern
                                               template)
                                             #((top) (top) (top) (top) (top))
-                                            #("i4275"
-                                              "i4276"
-                                              "i4277"
-                                              "i4278"
-                                              "i4279"))
+                                            #("i4285"
+                                              "i4286"
+                                              "i4287"
+                                              "i4288"
+                                              "i4289"))
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i4249")))
+                                          #(ribcage #(x) #((top)) #("i4259")))
                                          (hygiene guile))
-                                      (cons #{k 4280}#
-                                            (map (lambda (#{tmp 4288}#
-                                                          #{tmp 4287}#)
+                                      (cons #{k 4290}#
+                                            (map (lambda (#{tmp 4298}#
+                                                          #{tmp 4297}#)
                                                    (list (cons '#(syntax-object
                                                                   dummy
                                                                   ((top)
                                                                        (top)
                                                                        (top)
                                                                        (top))
-                                                                     #("i4275"
-                                                                       "i4276"
-                                                                       "i4277"
-                                                                       "i4278"
-                                                                       "i4279"))
+                                                                     #("i4285"
+                                                                       "i4286"
+                                                                       "i4287"
+                                                                       "i4288"
+                                                                       "i4289"))
                                                                    #(ribcage
                                                                      ()
                                                                      ()
                                                                    #(ribcage
                                                                      #(x)
                                                                      #((top))
-                                                                     #("i4249")))
+                                                                     #("i4259")))
                                                                   (hygiene
                                                                     guile))
-                                                               #{tmp 4287}#)
+                                                               #{tmp 4297}#)
                                                          (list '#(syntax-object
                                                                   syntax
                                                                   ((top)
                                                                        (top)
                                                                        (top)
                                                                        (top))
-                                                                     #("i4275"
-                                                                       "i4276"
-                                                                       "i4277"
-                                                                       "i4278"
-                                                                       "i4279"))
+                                                                     #("i4285"
+                                                                       "i4286"
+                                                                       "i4287"
+                                                                       "i4288"
+                                                                       "i4289"))
                                                                    #(ribcage
                                                                      ()
                                                                      ()
                                                                    #(ribcage
                                                                      #(x)
                                                                      #((top))
-                                                                     #("i4249")))
+                                                                     #("i4259")))
                                                                   (hygiene
                                                                     guile))
-                                                               #{tmp 4288}#)))
-                                                 #{template 4284}#
-                                                 #{pattern 4283}#))))))
-                  #{tmp 4264}#)
+                                                               #{tmp 4298}#)))
+                                                 #{template 4294}#
+                                                 #{pattern 4293}#))))))
+                  #{tmp 4274}#)
                 (syntax-violation
                   #f
                   "source expression failed to match any pattern"
-                  #{tmp 4250}#)))))))))
+                  #{tmp 4260}#)))))))))
 
 (define let*
   (make-syntax-transformer
     'let*
     'macro
-    (lambda (#{x 4289}#)
-      (let ((#{tmp 4291}# #{x 4289}#))
-        (let ((#{tmp 4292}#
+    (lambda (#{x 4299}#)
+      (let ((#{tmp 4301}# #{x 4299}#))
+        (let ((#{tmp 4302}#
                 ($sc-dispatch
-                  #{tmp 4291}#
+                  #{tmp 4301}#
                   '(any #(each (any any)) any . each-any))))
-          (if (if #{tmp 4292}#
+          (if (if #{tmp 4302}#
                 (@apply
-                  (lambda (#{let* 4298}#
-                           #{x 4299}#
-                           #{v 4300}#
-                           #{e1 4301}#
-                           #{e2 4302}#)
-                    (and-map identifier? #{x 4299}#))
-                  #{tmp 4292}#)
+                  (lambda (#{let* 4308}#
+                           #{x 4309}#
+                           #{v 4310}#
+                           #{e1 4311}#
+                           #{e2 4312}#)
+                    (and-map identifier? #{x 4309}#))
+                  #{tmp 4302}#)
                 #f)
             (@apply
-              (lambda (#{let* 4309}#
-                       #{x 4310}#
-                       #{v 4311}#
-                       #{e1 4312}#
-                       #{e2 4313}#)
+              (lambda (#{let* 4319}#
+                       #{x 4320}#
+                       #{v 4321}#
+                       #{e1 4322}#
+                       #{e2 4323}#)
                 (letrec*
-                  ((#{f 4316}#
-                     (lambda (#{bindings 4317}#)
-                       (if (null? #{bindings 4317}#)
+                  ((#{f 4326}#
+                     (lambda (#{bindings 4327}#)
+                       (if (null? #{bindings 4327}#)
                          (cons '#(syntax-object
                                   let
                                   ((top)
                                    #(ribcage
                                      #(f bindings)
                                      #((top) (top))
-                                     #("i4314" "i4315"))
+                                     #("i4324" "i4325"))
                                    #(ribcage
                                      #(let* x v e1 e2)
                                      #((top) (top) (top) (top) (top))
-                                     #("i4304"
-                                       "i4305"
-                                       "i4306"
-                                       "i4307"
-                                       "i4308"))
+                                     #("i4314"
+                                       "i4315"
+                                       "i4316"
+                                       "i4317"
+                                       "i4318"))
                                    #(ribcage () () ())
-                                   #(ribcage #(x) #((top)) #("i4290")))
+                                   #(ribcage #(x) #((top)) #("i4300")))
                                   (hygiene guile))
-                               (cons '() (cons #{e1 4312}# #{e2 4313}#)))
-                         (let ((#{tmp 4322}#
-                                 (list (#{f 4316}# (cdr #{bindings 4317}#))
-                                       (car #{bindings 4317}#))))
-                           (let ((#{tmp 4323}#
-                                   ($sc-dispatch #{tmp 4322}# '(any any))))
-                             (if #{tmp 4323}#
+                               (cons '() (cons #{e1 4322}# #{e2 4323}#)))
+                         (let ((#{tmp 4332}#
+                                 (list (#{f 4326}# (cdr #{bindings 4327}#))
+                                       (car #{bindings 4327}#))))
+                           (let ((#{tmp 4333}#
+                                   ($sc-dispatch #{tmp 4332}# '(any any))))
+                             (if #{tmp 4333}#
                                (@apply
-                                 (lambda (#{body 4326}# #{binding 4327}#)
+                                 (lambda (#{body 4336}# #{binding 4337}#)
                                    (list '#(syntax-object
                                             let
                                             ((top)
                                              #(ribcage
                                                #(body binding)
                                                #((top) (top))
-                                               #("i4324" "i4325"))
+                                               #("i4334" "i4335"))
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(f bindings)
                                                #((top) (top))
-                                               #("i4314" "i4315"))
+                                               #("i4324" "i4325"))
                                              #(ribcage
                                                #(let* x v e1 e2)
                                                #((top) (top) (top) (top) (top))
-                                               #("i4304"
-                                                 "i4305"
-                                                 "i4306"
-                                                 "i4307"
-                                                 "i4308"))
+                                               #("i4314"
+                                                 "i4315"
+                                                 "i4316"
+                                                 "i4317"
+                                                 "i4318"))
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x)
                                                #((top))
-                                               #("i4290")))
+                                               #("i4300")))
                                             (hygiene guile))
-                                         (list #{binding 4327}#)
-                                         #{body 4326}#))
-                                 #{tmp 4323}#)
+                                         (list #{binding 4337}#)
+                                         #{body 4336}#))
+                                 #{tmp 4333}#)
                                (syntax-violation
                                  #f
                                  "source expression failed to match any pattern"
-                                 #{tmp 4322}#))))))))
+                                 #{tmp 4332}#))))))))
                   (begin
-                    (#{f 4316}# (map list #{x 4310}# #{v 4311}#)))))
-              #{tmp 4292}#)
+                    (#{f 4326}# (map list #{x 4320}# #{v 4321}#)))))
+              #{tmp 4302}#)
             (syntax-violation
               #f
               "source expression failed to match any pattern"
-              #{tmp 4291}#)))))))
+              #{tmp 4301}#)))))))
 
 (define do
   (make-syntax-transformer
     'do
     'macro
-    (lambda (#{orig-x 4328}#)
-      (let ((#{tmp 4330}# #{orig-x 4328}#))
-        (let ((#{tmp 4331}#
+    (lambda (#{orig-x 4338}#)
+      (let ((#{tmp 4340}# #{orig-x 4338}#))
+        (let ((#{tmp 4341}#
                 ($sc-dispatch
-                  #{tmp 4330}#
+                  #{tmp 4340}#
                   '(_ #(each (any any . any))
                       (any . each-any)
                       .
                       each-any))))
-          (if #{tmp 4331}#
+          (if #{tmp 4341}#
             (@apply
-              (lambda (#{var 4338}#
-                       #{init 4339}#
-                       #{step 4340}#
-                       #{e0 4341}#
-                       #{e1 4342}#
-                       #{c 4343}#)
-                (let ((#{tmp 4345}#
-                        (map (lambda (#{v 4366}# #{s 4367}#)
-                               (let ((#{tmp 4370}# #{s 4367}#))
-                                 (let ((#{tmp 4371}#
-                                         ($sc-dispatch #{tmp 4370}# '())))
-                                   (if #{tmp 4371}#
+              (lambda (#{var 4348}#
+                       #{init 4349}#
+                       #{step 4350}#
+                       #{e0 4351}#
+                       #{e1 4352}#
+                       #{c 4353}#)
+                (let ((#{tmp 4355}#
+                        (map (lambda (#{v 4376}# #{s 4377}#)
+                               (let ((#{tmp 4380}# #{s 4377}#))
+                                 (let ((#{tmp 4381}#
+                                         ($sc-dispatch #{tmp 4380}# '())))
+                                   (if #{tmp 4381}#
                                      (@apply
-                                       (lambda () #{v 4366}#)
-                                       #{tmp 4371}#)
-                                     (let ((#{tmp 4372}#
+                                       (lambda () #{v 4376}#)
+                                       #{tmp 4381}#)
+                                     (let ((#{tmp 4382}#
                                              ($sc-dispatch
-                                               #{tmp 4370}#
+                                               #{tmp 4380}#
                                                '(any))))
-                                       (if #{tmp 4372}#
+                                       (if #{tmp 4382}#
                                          (@apply
-                                           (lambda (#{e 4374}#) #{e 4374}#)
-                                           #{tmp 4372}#)
-                                         (let ((#{_ 4376}# #{tmp 4370}#))
+                                           (lambda (#{e 4384}#) #{e 4384}#)
+                                           #{tmp 4382}#)
+                                         (let ((#{_ 4386}# #{tmp 4380}#))
                                            (syntax-violation
                                              'do
                                              "bad step expression"
-                                             #{orig-x 4328}#
-                                             #{s 4367}#))))))))
-                             #{var 4338}#
-                             #{step 4340}#)))
-                  (let ((#{tmp 4346}#
-                          ($sc-dispatch #{tmp 4345}# 'each-any)))
-                    (if #{tmp 4346}#
+                                             #{orig-x 4338}#
+                                             #{s 4377}#))))))))
+                             #{var 4348}#
+                             #{step 4350}#)))
+                  (let ((#{tmp 4356}#
+                          ($sc-dispatch #{tmp 4355}# 'each-any)))
+                    (if #{tmp 4356}#
                       (@apply
-                        (lambda (#{step 4348}#)
-                          (let ((#{tmp 4349}# #{e1 4342}#))
-                            (let ((#{tmp 4350}#
-                                    ($sc-dispatch #{tmp 4349}# '())))
-                              (if #{tmp 4350}#
+                        (lambda (#{step 4358}#)
+                          (let ((#{tmp 4359}# #{e1 4352}#))
+                            (let ((#{tmp 4360}#
+                                    ($sc-dispatch #{tmp 4359}# '())))
+                              (if #{tmp 4360}#
                                 (@apply
                                   (lambda ()
                                     (list '#(syntax-object
                                               #(ribcage
                                                 #(step)
                                                 #((top))
-                                                #("i4347"))
+                                                #("i4357"))
                                               #(ribcage
                                                 #(var init step e0 e1 c)
                                                 #((top)
                                                   (top)
                                                   (top)
                                                   (top))
-                                                #("i4332"
-                                                  "i4333"
-                                                  "i4334"
-                                                  "i4335"
-                                                  "i4336"
-                                                  "i4337"))
+                                                #("i4342"
+                                                  "i4343"
+                                                  "i4344"
+                                                  "i4345"
+                                                  "i4346"
+                                                  "i4347"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(orig-x)
                                                 #((top))
-                                                #("i4329")))
+                                                #("i4339")))
                                              (hygiene guile))
                                           '#(syntax-object
                                              doloop
                                               #(ribcage
                                                 #(step)
                                                 #((top))
-                                                #("i4347"))
+                                                #("i4357"))
                                               #(ribcage
                                                 #(var init step e0 e1 c)
                                                 #((top)
                                                   (top)
                                                   (top)
                                                   (top))
-                                                #("i4332"
-                                                  "i4333"
-                                                  "i4334"
-                                                  "i4335"
-                                                  "i4336"
-                                                  "i4337"))
+                                                #("i4342"
+                                                  "i4343"
+                                                  "i4344"
+                                                  "i4345"
+                                                  "i4346"
+                                                  "i4347"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(orig-x)
                                                 #((top))
-                                                #("i4329")))
+                                                #("i4339")))
                                              (hygiene guile))
-                                          (map list #{var 4338}# #{init 4339}#)
+                                          (map list #{var 4348}# #{init 4349}#)
                                           (list '#(syntax-object
                                                    if
                                                    ((top)
                                                     #(ribcage
                                                       #(step)
                                                       #((top))
-                                                      #("i4347"))
+                                                      #("i4357"))
                                                     #(ribcage
                                                       #(var init step e0 e1 c)
                                                       #((top)
                                                         (top)
                                                         (top)
                                                         (top))
-                                                      #("i4332"
-                                                        "i4333"
-                                                        "i4334"
-                                                        "i4335"
-                                                        "i4336"
-                                                        "i4337"))
+                                                      #("i4342"
+                                                        "i4343"
+                                                        "i4344"
+                                                        "i4345"
+                                                        "i4346"
+                                                        "i4347"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(orig-x)
                                                       #((top))
-                                                      #("i4329")))
+                                                      #("i4339")))
                                                    (hygiene guile))
                                                 (list '#(syntax-object
                                                          not
                                                           #(ribcage
                                                             #(step)
                                                             #((top))
-                                                            #("i4347"))
+                                                            #("i4357"))
                                                           #(ribcage
                                                             #(var
                                                               init
                                                               (top)
                                                               (top)
                                                               (top))
-                                                            #("i4332"
-                                                              "i4333"
-                                                              "i4334"
-                                                              "i4335"
-                                                              "i4336"
-                                                              "i4337"))
+                                                            #("i4342"
+                                                              "i4343"
+                                                              "i4344"
+                                                              "i4345"
+                                                              "i4346"
+                                                              "i4347"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(orig-x)
                                                             #((top))
-                                                            #("i4329")))
+                                                            #("i4339")))
                                                          (hygiene guile))
-                                                      #{e0 4341}#)
+                                                      #{e0 4351}#)
                                                 (cons '#(syntax-object
                                                          begin
                                                          ((top)
                                                           #(ribcage
                                                             #(step)
                                                             #((top))
-                                                            #("i4347"))
+                                                            #("i4357"))
                                                           #(ribcage
                                                             #(var
                                                               init
                                                               (top)
                                                               (top)
                                                               (top))
-                                                            #("i4332"
-                                                              "i4333"
-                                                              "i4334"
-                                                              "i4335"
-                                                              "i4336"
-                                                              "i4337"))
+                                                            #("i4342"
+                                                              "i4343"
+                                                              "i4344"
+                                                              "i4345"
+                                                              "i4346"
+                                                              "i4347"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(orig-x)
                                                             #((top))
-                                                            #("i4329")))
+                                                            #("i4339")))
                                                          (hygiene guile))
                                                       (append
-                                                        #{c 4343}#
+                                                        #{c 4353}#
                                                         (list (cons '#(syntax-object
                                                                        doloop
                                                                        ((top)
                                                                         #(ribcage
                                                                           #(step)
                                                                           #((top))
-                                                                          #("i4347"))
+                                                                          #("i4357"))
                                                                         #(ribcage
                                                                           #(var
                                                                             init
                                                                             (top)
                                                                             (top)
                                                                             (top))
-                                                                          #("i4332"
-                                                                            "i4333"
-                                                                            "i4334"
-                                                                            "i4335"
-                                                                            "i4336"
-                                                                            "i4337"))
+                                                                          #("i4342"
+                                                                            "i4343"
+                                                                            "i4344"
+                                                                            "i4345"
+                                                                            "i4346"
+                                                                            "i4347"))
                                                                         #(ribcage
                                                                           ()
                                                                           ()
                                                                         #(ribcage
                                                                           #(orig-x)
                                                                           #((top))
-                                                                          #("i4329")))
+                                                                          #("i4339")))
                                                                        (hygiene
                                                                          guile))
-                                                                    #{step 4348}#)))))))
-                                  #{tmp 4350}#)
-                                (let ((#{tmp 4355}#
+                                                                    #{step 4358}#)))))))
+                                  #{tmp 4360}#)
+                                (let ((#{tmp 4365}#
                                         ($sc-dispatch
-                                          #{tmp 4349}#
+                                          #{tmp 4359}#
                                           '(any . each-any))))
-                                  (if #{tmp 4355}#
+                                  (if #{tmp 4365}#
                                     (@apply
-                                      (lambda (#{e1 4358}# #{e2 4359}#)
+                                      (lambda (#{e1 4368}# #{e2 4369}#)
                                         (list '#(syntax-object
                                                  let
                                                  ((top)
                                                   #(ribcage
                                                     #(e1 e2)
                                                     #((top) (top))
-                                                    #("i4356" "i4357"))
+                                                    #("i4366" "i4367"))
                                                   #(ribcage () () ())
                                                   #(ribcage
                                                     #(step)
                                                     #((top))
-                                                    #("i4347"))
+                                                    #("i4357"))
                                                   #(ribcage
                                                     #(var init step e0 e1 c)
                                                     #((top)
                                                       (top)
                                                       (top)
                                                       (top))
-                                                    #("i4332"
-                                                      "i4333"
-                                                      "i4334"
-                                                      "i4335"
-                                                      "i4336"
-                                                      "i4337"))
+                                                    #("i4342"
+                                                      "i4343"
+                                                      "i4344"
+                                                      "i4345"
+                                                      "i4346"
+                                                      "i4347"))
                                                   #(ribcage () () ())
                                                   #(ribcage
                                                     #(orig-x)
                                                     #((top))
-                                                    #("i4329")))
+                                                    #("i4339")))
                                                  (hygiene guile))
                                               '#(syntax-object
                                                  doloop
                                                   #(ribcage
                                                     #(e1 e2)
                                                     #((top) (top))
-                                                    #("i4356" "i4357"))
+                                                    #("i4366" "i4367"))
                                                   #(ribcage () () ())
                                                   #(ribcage
                                                     #(step)
                                                     #((top))
-                                                    #("i4347"))
+                                                    #("i4357"))
                                                   #(ribcage
                                                     #(var init step e0 e1 c)
                                                     #((top)
                                                       (top)
                                                       (top)
                                                       (top))
-                                                    #("i4332"
-                                                      "i4333"
-                                                      "i4334"
-                                                      "i4335"
-                                                      "i4336"
-                                                      "i4337"))
+                                                    #("i4342"
+                                                      "i4343"
+                                                      "i4344"
+                                                      "i4345"
+                                                      "i4346"
+                                                      "i4347"))
                                                   #(ribcage () () ())
                                                   #(ribcage
                                                     #(orig-x)
                                                     #((top))
-                                                    #("i4329")))
+                                                    #("i4339")))
                                                  (hygiene guile))
                                               (map list
-                                                   #{var 4338}#
-                                                   #{init 4339}#)
+                                                   #{var 4348}#
+                                                   #{init 4349}#)
                                               (list '#(syntax-object
                                                        if
                                                        ((top)
                                                         #(ribcage
                                                           #(e1 e2)
                                                           #((top) (top))
-                                                          #("i4356" "i4357"))
+                                                          #("i4366" "i4367"))
                                                         #(ribcage () () ())
                                                         #(ribcage
                                                           #(step)
                                                           #((top))
-                                                          #("i4347"))
+                                                          #("i4357"))
                                                         #(ribcage
                                                           #(var
                                                             init
                                                             (top)
                                                             (top)
                                                             (top))
-                                                          #("i4332"
-                                                            "i4333"
-                                                            "i4334"
-                                                            "i4335"
-                                                            "i4336"
-                                                            "i4337"))
+                                                          #("i4342"
+                                                            "i4343"
+                                                            "i4344"
+                                                            "i4345"
+                                                            "i4346"
+                                                            "i4347"))
                                                         #(ribcage () () ())
                                                         #(ribcage
                                                           #(orig-x)
                                                           #((top))
-                                                          #("i4329")))
+                                                          #("i4339")))
                                                        (hygiene guile))
-                                                    #{e0 4341}#
+                                                    #{e0 4351}#
                                                     (cons '#(syntax-object
                                                              begin
                                                              ((top)
                                                               #(ribcage
                                                                 #(e1 e2)
                                                                 #((top) (top))
-                                                                #("i4356"
-                                                                  "i4357"))
+                                                                #("i4366"
+                                                                  "i4367"))
                                                               #(ribcage
                                                                 ()
                                                                 ()
                                                               #(ribcage
                                                                 #(step)
                                                                 #((top))
-                                                                #("i4347"))
+                                                                #("i4357"))
                                                               #(ribcage
                                                                 #(var
                                                                   init
                                                                   (top)
                                                                   (top)
                                                                   (top))
-                                                                #("i4332"
-                                                                  "i4333"
-                                                                  "i4334"
-                                                                  "i4335"
-                                                                  "i4336"
-                                                                  "i4337"))
+                                                                #("i4342"
+                                                                  "i4343"
+                                                                  "i4344"
+                                                                  "i4345"
+                                                                  "i4346"
+                                                                  "i4347"))
                                                               #(ribcage
                                                                 ()
                                                                 ()
                                                               #(ribcage
                                                                 #(orig-x)
                                                                 #((top))
-                                                                #("i4329")))
+                                                                #("i4339")))
                                                              (hygiene guile))
-                                                          (cons #{e1 4358}#
-                                                                #{e2 4359}#))
+                                                          (cons #{e1 4368}#
+                                                                #{e2 4369}#))
                                                     (cons '#(syntax-object
                                                              begin
                                                              ((top)
                                                               #(ribcage
                                                                 #(e1 e2)
                                                                 #((top) (top))
-                                                                #("i4356"
-                                                                  "i4357"))
+                                                                #("i4366"
+                                                                  "i4367"))
                                                               #(ribcage
                                                                 ()
                                                                 ()
                                                               #(ribcage
                                                                 #(step)
                                                                 #((top))
-                                                                #("i4347"))
+                                                                #("i4357"))
                                                               #(ribcage
                                                                 #(var
                                                                   init
                                                                   (top)
                                                                   (top)
                                                                   (top))
-                                                                #("i4332"
-                                                                  "i4333"
-                                                                  "i4334"
-                                                                  "i4335"
-                                                                  "i4336"
-                                                                  "i4337"))
+                                                                #("i4342"
+                                                                  "i4343"
+                                                                  "i4344"
+                                                                  "i4345"
+                                                                  "i4346"
+                                                                  "i4347"))
                                                               #(ribcage
                                                                 ()
                                                                 ()
                                                               #(ribcage
                                                                 #(orig-x)
                                                                 #((top))
-                                                                #("i4329")))
+                                                                #("i4339")))
                                                              (hygiene guile))
                                                           (append
-                                                            #{c 4343}#
+                                                            #{c 4353}#
                                                             (list (cons '#(syntax-object
                                                                            doloop
                                                                            ((top)
                                                                                 e2)
                                                                               #((top)
                                                                                 (top))
-                                                                              #("i4356"
-                                                                                "i4357"))
+                                                                              #("i4366"
+                                                                                "i4367"))
                                                                             #(ribcage
                                                                               ()
                                                                               ()
                                                                             #(ribcage
                                                                               #(step)
                                                                               #((top))
-                                                                              #("i4347"))
+                                                                              #("i4357"))
                                                                             #(ribcage
                                                                               #(var
                                                                                 init
                                                                                 (top)
                                                                                 (top)
                                                                                 (top))
-                                                                              #("i4332"
-                                                                                "i4333"
-                                                                                "i4334"
-                                                                                "i4335"
-                                                                                "i4336"
-                                                                                "i4337"))
+                                                                              #("i4342"
+                                                                                "i4343"
+                                                                                "i4344"
+                                                                                "i4345"
+                                                                                "i4346"
+                                                                                "i4347"))
                                                                             #(ribcage
                                                                               ()
                                                                               ()
                                                                             #(ribcage
                                                                               #(orig-x)
                                                                               #((top))
-                                                                              #("i4329")))
+                                                                              #("i4339")))
                                                                            (hygiene
                                                                              guile))
-                                                                        #{step 4348}#)))))))
-                                      #{tmp 4355}#)
+                                                                        #{step 4358}#)))))))
+                                      #{tmp 4365}#)
                                     (syntax-violation
                                       #f
                                       "source expression failed to match any pattern"
-                                      #{tmp 4349}#)))))))
-                        #{tmp 4346}#)
+                                      #{tmp 4359}#)))))))
+                        #{tmp 4356}#)
                       (syntax-violation
                         #f
                         "source expression failed to match any pattern"
-                        #{tmp 4345}#)))))
-              #{tmp 4331}#)
+                        #{tmp 4355}#)))))
+              #{tmp 4341}#)
             (syntax-violation
               #f
               "source expression failed to match any pattern"
-              #{tmp 4330}#)))))))
+              #{tmp 4340}#)))))))
 
 (define quasiquote
   (make-syntax-transformer
     'quasiquote
     'macro
     (letrec*
-      ((#{quasi 4380}#
-         (lambda (#{p 4393}# #{lev 4394}#)
-           (let ((#{tmp 4397}# #{p 4393}#))
-             (let ((#{tmp 4398}#
+      ((#{quasi 4390}#
+         (lambda (#{p 4403}# #{lev 4404}#)
+           (let ((#{tmp 4407}# #{p 4403}#))
+             (let ((#{tmp 4408}#
                      ($sc-dispatch
-                       #{tmp 4397}#
+                       #{tmp 4407}#
                        '(#(free-id
                            #(syntax-object
                              unquote
                               #(ribcage
                                 #(p lev)
                                 #((top) (top))
-                                #("i4395" "i4396"))
+                                #("i4405" "i4406"))
                               #(ribcage
                                 (emit quasivector
                                       quasilist*
                                       vquasi
                                       quasi)
                                 ((top) (top) (top) (top) (top) (top) (top))
-                                ("i4391"
-                                 "i4389"
-                                 "i4387"
-                                 "i4385"
-                                 "i4383"
-                                 "i4381"
-                                 "i4379")))
+                                ("i4401"
+                                 "i4399"
+                                 "i4397"
+                                 "i4395"
+                                 "i4393"
+                                 "i4391"
+                                 "i4389")))
                              (hygiene guile)))
                          any))))
-               (if #{tmp 4398}#
+               (if #{tmp 4408}#
                  (@apply
-                   (lambda (#{p 4400}#)
-                     (if (= #{lev 4394}# 0)
+                   (lambda (#{p 4410}#)
+                     (if (= #{lev 4404}# 0)
                        (list '#(syntax-object
                                 "value"
                                 ((top)
-                                 #(ribcage #(p) #((top)) #("i4399"))
+                                 #(ribcage #(p) #((top)) #("i4409"))
                                  #(ribcage () () ())
                                  #(ribcage
                                    #(p lev)
                                    #((top) (top))
-                                   #("i4395" "i4396"))
+                                   #("i4405" "i4406"))
                                  #(ribcage
                                    (emit quasivector
                                          quasilist*
                                          vquasi
                                          quasi)
                                    ((top) (top) (top) (top) (top) (top) (top))
-                                   ("i4391"
-                                    "i4389"
-                                    "i4387"
-                                    "i4385"
-                                    "i4383"
-                                    "i4381"
-                                    "i4379")))
+                                   ("i4401"
+                                    "i4399"
+                                    "i4397"
+                                    "i4395"
+                                    "i4393"
+                                    "i4391"
+                                    "i4389")))
                                 (hygiene guile))
-                             #{p 4400}#)
-                       (#{quasicons 4384}#
+                             #{p 4410}#)
+                       (#{quasicons 4394}#
                          '(#(syntax-object
                              "quote"
                              ((top)
-                              #(ribcage #(p) #((top)) #("i4399"))
+                              #(ribcage #(p) #((top)) #("i4409"))
                               #(ribcage () () ())
                               #(ribcage
                                 #(p lev)
                                 #((top) (top))
-                                #("i4395" "i4396"))
+                                #("i4405" "i4406"))
                               #(ribcage
                                 (emit quasivector
                                       quasilist*
                                       vquasi
                                       quasi)
                                 ((top) (top) (top) (top) (top) (top) (top))
-                                ("i4391"
-                                 "i4389"
-                                 "i4387"
-                                 "i4385"
-                                 "i4383"
-                                 "i4381"
-                                 "i4379")))
+                                ("i4401"
+                                 "i4399"
+                                 "i4397"
+                                 "i4395"
+                                 "i4393"
+                                 "i4391"
+                                 "i4389")))
                              (hygiene guile))
                            #(syntax-object
                              unquote
                              ((top)
-                              #(ribcage #(p) #((top)) #("i4399"))
+                              #(ribcage #(p) #((top)) #("i4409"))
                               #(ribcage () () ())
                               #(ribcage
                                 #(p lev)
                                 #((top) (top))
-                                #("i4395" "i4396"))
+                                #("i4405" "i4406"))
                               #(ribcage
                                 (emit quasivector
                                       quasilist*
                                       vquasi
                                       quasi)
                                 ((top) (top) (top) (top) (top) (top) (top))
-                                ("i4391"
-                                 "i4389"
-                                 "i4387"
-                                 "i4385"
-                                 "i4383"
-                                 "i4381"
-                                 "i4379")))
+                                ("i4401"
+                                 "i4399"
+                                 "i4397"
+                                 "i4395"
+                                 "i4393"
+                                 "i4391"
+                                 "i4389")))
                              (hygiene guile)))
-                         (#{quasi 4380}#
-                           (list #{p 4400}#)
-                           (#{1-}# #{lev 4394}#)))))
-                   #{tmp 4398}#)
-                 (let ((#{tmp 4401}#
+                         (#{quasi 4390}#
+                           (list #{p 4410}#)
+                           (#{1-}# #{lev 4404}#)))))
+                   #{tmp 4408}#)
+                 (let ((#{tmp 4411}#
                          ($sc-dispatch
-                           #{tmp 4397}#
+                           #{tmp 4407}#
                            '(#(free-id
                                #(syntax-object
                                  quasiquote
                                   #(ribcage
                                     #(p lev)
                                     #((top) (top))
-                                    #("i4395" "i4396"))
+                                    #("i4405" "i4406"))
                                   #(ribcage
                                     (emit quasivector
                                           quasilist*
                                           vquasi
                                           quasi)
                                     ((top) (top) (top) (top) (top) (top) (top))
-                                    ("i4391"
-                                     "i4389"
-                                     "i4387"
-                                     "i4385"
-                                     "i4383"
-                                     "i4381"
-                                     "i4379")))
+                                    ("i4401"
+                                     "i4399"
+                                     "i4397"
+                                     "i4395"
+                                     "i4393"
+                                     "i4391"
+                                     "i4389")))
                                  (hygiene guile)))
                              any))))
-                   (if #{tmp 4401}#
+                   (if #{tmp 4411}#
                      (@apply
-                       (lambda (#{p 4403}#)
-                         (#{quasicons 4384}#
+                       (lambda (#{p 4413}#)
+                         (#{quasicons 4394}#
                            '(#(syntax-object
                                "quote"
                                ((top)
-                                #(ribcage #(p) #((top)) #("i4402"))
+                                #(ribcage #(p) #((top)) #("i4412"))
                                 #(ribcage () () ())
                                 #(ribcage
                                   #(p lev)
                                   #((top) (top))
-                                  #("i4395" "i4396"))
+                                  #("i4405" "i4406"))
                                 #(ribcage
                                   (emit quasivector
                                         quasilist*
                                         vquasi
                                         quasi)
                                   ((top) (top) (top) (top) (top) (top) (top))
-                                  ("i4391"
-                                   "i4389"
-                                   "i4387"
-                                   "i4385"
-                                   "i4383"
-                                   "i4381"
-                                   "i4379")))
+                                  ("i4401"
+                                   "i4399"
+                                   "i4397"
+                                   "i4395"
+                                   "i4393"
+                                   "i4391"
+                                   "i4389")))
                                (hygiene guile))
                              #(syntax-object
                                quasiquote
                                ((top)
-                                #(ribcage #(p) #((top)) #("i4402"))
+                                #(ribcage #(p) #((top)) #("i4412"))
                                 #(ribcage () () ())
                                 #(ribcage
                                   #(p lev)
                                   #((top) (top))
-                                  #("i4395" "i4396"))
+                                  #("i4405" "i4406"))
                                 #(ribcage
                                   (emit quasivector
                                         quasilist*
                                         vquasi
                                         quasi)
                                   ((top) (top) (top) (top) (top) (top) (top))
-                                  ("i4391"
-                                   "i4389"
-                                   "i4387"
-                                   "i4385"
-                                   "i4383"
-                                   "i4381"
-                                   "i4379")))
+                                  ("i4401"
+                                   "i4399"
+                                   "i4397"
+                                   "i4395"
+                                   "i4393"
+                                   "i4391"
+                                   "i4389")))
                                (hygiene guile)))
-                           (#{quasi 4380}#
-                             (list #{p 4403}#)
-                             (#{1+}# #{lev 4394}#))))
-                       #{tmp 4401}#)
-                     (let ((#{tmp 4404}#
-                             ($sc-dispatch #{tmp 4397}# '(any . any))))
-                       (if #{tmp 4404}#
+                           (#{quasi 4390}#
+                             (list #{p 4413}#)
+                             (#{1+}# #{lev 4404}#))))
+                       #{tmp 4411}#)
+                     (let ((#{tmp 4414}#
+                             ($sc-dispatch #{tmp 4407}# '(any . any))))
+                       (if #{tmp 4414}#
                          (@apply
-                           (lambda (#{p 4407}# #{q 4408}#)
-                             (let ((#{tmp 4409}# #{p 4407}#))
-                               (let ((#{tmp 4410}#
+                           (lambda (#{p 4417}# #{q 4418}#)
+                             (let ((#{tmp 4419}# #{p 4417}#))
+                               (let ((#{tmp 4420}#
                                        ($sc-dispatch
-                                         #{tmp 4409}#
+                                         #{tmp 4419}#
                                          '(#(free-id
                                              #(syntax-object
                                                unquote
                                                 #(ribcage
                                                   #(p q)
                                                   #((top) (top))
-                                                  #("i4405" "i4406"))
+                                                  #("i4415" "i4416"))
                                                 #(ribcage () () ())
                                                 #(ribcage
                                                   #(p lev)
                                                   #((top) (top))
-                                                  #("i4395" "i4396"))
+                                                  #("i4405" "i4406"))
                                                 #(ribcage
                                                   (emit quasivector
                                                         quasilist*
                                                    (top)
                                                    (top)
                                                    (top))
-                                                  ("i4391"
-                                                   "i4389"
-                                                   "i4387"
-                                                   "i4385"
-                                                   "i4383"
-                                                   "i4381"
-                                                   "i4379")))
+                                                  ("i4401"
+                                                   "i4399"
+                                                   "i4397"
+                                                   "i4395"
+                                                   "i4393"
+                                                   "i4391"
+                                                   "i4389")))
                                                (hygiene guile)))
                                            .
                                            each-any))))
-                                 (if #{tmp 4410}#
+                                 (if #{tmp 4420}#
                                    (@apply
-                                     (lambda (#{p 4412}#)
-                                       (if (= #{lev 4394}# 0)
-                                         (#{quasilist* 4388}#
-                                           (map (lambda (#{tmp 4413}#)
+                                     (lambda (#{p 4422}#)
+                                       (if (= #{lev 4404}# 0)
+                                         (#{quasilist* 4398}#
+                                           (map (lambda (#{tmp 4423}#)
                                                   (list '#(syntax-object
                                                            "value"
                                                            ((top)
                                                             #(ribcage
                                                               #(p)
                                                               #((top))
-                                                              #("i4411"))
+                                                              #("i4421"))
                                                             #(ribcage
                                                               #(p q)
                                                               #((top) (top))
-                                                              #("i4405"
-                                                                "i4406"))
+                                                              #("i4415"
+                                                                "i4416"))
                                                             #(ribcage () () ())
                                                             #(ribcage
                                                               #(p lev)
                                                               #((top) (top))
-                                                              #("i4395"
-                                                                "i4396"))
+                                                              #("i4405"
+                                                                "i4406"))
                                                             #(ribcage
                                                               (emit quasivector
                                                                     quasilist*
                                                                (top)
                                                                (top)
                                                                (top))
-                                                              ("i4391"
-                                                               "i4389"
-                                                               "i4387"
-                                                               "i4385"
-                                                               "i4383"
-                                                               "i4381"
-                                                               "i4379")))
+                                                              ("i4401"
+                                                               "i4399"
+                                                               "i4397"
+                                                               "i4395"
+                                                               "i4393"
+                                                               "i4391"
+                                                               "i4389")))
                                                            (hygiene guile))
-                                                        #{tmp 4413}#))
-                                                #{p 4412}#)
-                                           (#{quasi 4380}#
-                                             #{q 4408}#
-                                             #{lev 4394}#))
-                                         (#{quasicons 4384}#
-                                           (#{quasicons 4384}#
+                                                        #{tmp 4423}#))
+                                                #{p 4422}#)
+                                           (#{quasi 4390}#
+                                             #{q 4418}#
+                                             #{lev 4404}#))
+                                         (#{quasicons 4394}#
+                                           (#{quasicons 4394}#
                                              '(#(syntax-object
                                                  "quote"
                                                  ((top)
                                                   #(ribcage
                                                     #(p)
                                                     #((top))
-                                                    #("i4411"))
+                                                    #("i4421"))
                                                   #(ribcage
                                                     #(p q)
                                                     #((top) (top))
-                                                    #("i4405" "i4406"))
+                                                    #("i4415" "i4416"))
                                                   #(ribcage () () ())
                                                   #(ribcage
                                                     #(p lev)
                                                     #((top) (top))
-                                                    #("i4395" "i4396"))
+                                                    #("i4405" "i4406"))
                                                   #(ribcage
                                                     (emit quasivector
                                                           quasilist*
                                                      (top)
                                                      (top)
                                                      (top))
-                                                    ("i4391"
-                                                     "i4389"
-                                                     "i4387"
-                                                     "i4385"
-                                                     "i4383"
-                                                     "i4381"
-                                                     "i4379")))
+                                                    ("i4401"
+                                                     "i4399"
+                                                     "i4397"
+                                                     "i4395"
+                                                     "i4393"
+                                                     "i4391"
+                                                     "i4389")))
                                                  (hygiene guile))
                                                #(syntax-object
                                                  unquote
                                                   #(ribcage
                                                     #(p)
                                                     #((top))
-                                                    #("i4411"))
+                                                    #("i4421"))
                                                   #(ribcage
                                                     #(p q)
                                                     #((top) (top))
-                                                    #("i4405" "i4406"))
+                                                    #("i4415" "i4416"))
                                                   #(ribcage () () ())
                                                   #(ribcage
                                                     #(p lev)
                                                     #((top) (top))
-                                                    #("i4395" "i4396"))
+                                                    #("i4405" "i4406"))
                                                   #(ribcage
                                                     (emit quasivector
                                                           quasilist*
                                                      (top)
                                                      (top)
                                                      (top))
-                                                    ("i4391"
-                                                     "i4389"
-                                                     "i4387"
-                                                     "i4385"
-                                                     "i4383"
-                                                     "i4381"
-                                                     "i4379")))
+                                                    ("i4401"
+                                                     "i4399"
+                                                     "i4397"
+                                                     "i4395"
+                                                     "i4393"
+                                                     "i4391"
+                                                     "i4389")))
                                                  (hygiene guile)))
-                                             (#{quasi 4380}#
-                                               #{p 4412}#
-                                               (#{1-}# #{lev 4394}#)))
-                                           (#{quasi 4380}#
-                                             #{q 4408}#
-                                             #{lev 4394}#))))
-                                     #{tmp 4410}#)
-                                   (let ((#{tmp 4415}#
+                                             (#{quasi 4390}#
+                                               #{p 4422}#
+                                               (#{1-}# #{lev 4404}#)))
+                                           (#{quasi 4390}#
+                                             #{q 4418}#
+                                             #{lev 4404}#))))
+                                     #{tmp 4420}#)
+                                   (let ((#{tmp 4425}#
                                            ($sc-dispatch
-                                             #{tmp 4409}#
+                                             #{tmp 4419}#
                                              '(#(free-id
                                                  #(syntax-object
                                                    unquote-splicing
                                                     #(ribcage
                                                       #(p q)
                                                       #((top) (top))
-                                                      #("i4405" "i4406"))
+                                                      #("i4415" "i4416"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(p lev)
                                                       #((top) (top))
-                                                      #("i4395" "i4396"))
+                                                      #("i4405" "i4406"))
                                                     #(ribcage
                                                       (emit quasivector
                                                             quasilist*
                                                        (top)
                                                        (top)
                                                        (top))
-                                                      ("i4391"
-                                                       "i4389"
-                                                       "i4387"
-                                                       "i4385"
-                                                       "i4383"
-                                                       "i4381"
-                                                       "i4379")))
+                                                      ("i4401"
+                                                       "i4399"
+                                                       "i4397"
+                                                       "i4395"
+                                                       "i4393"
+                                                       "i4391"
+                                                       "i4389")))
                                                    (hygiene guile)))
                                                .
                                                each-any))))
-                                     (if #{tmp 4415}#
+                                     (if #{tmp 4425}#
                                        (@apply
-                                         (lambda (#{p 4417}#)
-                                           (if (= #{lev 4394}# 0)
-                                             (#{quasiappend 4386}#
-                                               (map (lambda (#{tmp 4418}#)
+                                         (lambda (#{p 4427}#)
+                                           (if (= #{lev 4404}# 0)
+                                             (#{quasiappend 4396}#
+                                               (map (lambda (#{tmp 4428}#)
                                                       (list '#(syntax-object
                                                                "value"
                                                                ((top)
                                                                 #(ribcage
                                                                   #(p)
                                                                   #((top))
-                                                                  #("i4416"))
+                                                                  #("i4426"))
                                                                 #(ribcage
                                                                   #(p q)
                                                                   #((top)
                                                                     (top))
-                                                                  #("i4405"
-                                                                    "i4406"))
+                                                                  #("i4415"
+                                                                    "i4416"))
                                                                 #(ribcage
                                                                   ()
                                                                   ()
                                                                   #(p lev)
                                                                   #((top)
                                                                     (top))
-                                                                  #("i4395"
-                                                                    "i4396"))
+                                                                  #("i4405"
+                                                                    "i4406"))
                                                                 #(ribcage
                                                                   (emit quasivector
                                                                         quasilist*
                                                                    (top)
                                                                    (top)
                                                                    (top))
-                                                                  ("i4391"
-                                                                   "i4389"
-                                                                   "i4387"
-                                                                   "i4385"
-                                                                   "i4383"
-                                                                   "i4381"
-                                                                   "i4379")))
+                                                                  ("i4401"
+                                                                   "i4399"
+                                                                   "i4397"
+                                                                   "i4395"
+                                                                   "i4393"
+                                                                   "i4391"
+                                                                   "i4389")))
                                                                (hygiene guile))
-                                                            #{tmp 4418}#))
-                                                    #{p 4417}#)
-                                               (#{quasi 4380}#
-                                                 #{q 4408}#
-                                                 #{lev 4394}#))
-                                             (#{quasicons 4384}#
-                                               (#{quasicons 4384}#
+                                                            #{tmp 4428}#))
+                                                    #{p 4427}#)
+                                               (#{quasi 4390}#
+                                                 #{q 4418}#
+                                                 #{lev 4404}#))
+                                             (#{quasicons 4394}#
+                                               (#{quasicons 4394}#
                                                  '(#(syntax-object
                                                      "quote"
                                                      ((top)
                                                       #(ribcage
                                                         #(p)
                                                         #((top))
-                                                        #("i4416"))
+                                                        #("i4426"))
                                                       #(ribcage
                                                         #(p q)
                                                         #((top) (top))
-                                                        #("i4405" "i4406"))
+                                                        #("i4415" "i4416"))
                                                       #(ribcage () () ())
                                                       #(ribcage
                                                         #(p lev)
                                                         #((top) (top))
-                                                        #("i4395" "i4396"))
+                                                        #("i4405" "i4406"))
                                                       #(ribcage
                                                         (emit quasivector
                                                               quasilist*
                                                          (top)
                                                          (top)
                                                          (top))
-                                                        ("i4391"
-                                                         "i4389"
-                                                         "i4387"
-                                                         "i4385"
-                                                         "i4383"
-                                                         "i4381"
-                                                         "i4379")))
+                                                        ("i4401"
+                                                         "i4399"
+                                                         "i4397"
+                                                         "i4395"
+                                                         "i4393"
+                                                         "i4391"
+                                                         "i4389")))
                                                      (hygiene guile))
                                                    #(syntax-object
                                                      unquote-splicing
                                                       #(ribcage
                                                         #(p)
                                                         #((top))
-                                                        #("i4416"))
+                                                        #("i4426"))
                                                       #(ribcage
                                                         #(p q)
                                                         #((top) (top))
-                                                        #("i4405" "i4406"))
+                                                        #("i4415" "i4416"))
                                                       #(ribcage () () ())
                                                       #(ribcage
                                                         #(p lev)
                                                         #((top) (top))
-                                                        #("i4395" "i4396"))
+                                                        #("i4405" "i4406"))
                                                       #(ribcage
                                                         (emit quasivector
                                                               quasilist*
                                                          (top)
                                                          (top)
                                                          (top))
-                                                        ("i4391"
-                                                         "i4389"
-                                                         "i4387"
-                                                         "i4385"
-                                                         "i4383"
-                                                         "i4381"
-                                                         "i4379")))
+                                                        ("i4401"
+                                                         "i4399"
+                                                         "i4397"
+                                                         "i4395"
+                                                         "i4393"
+                                                         "i4391"
+                                                         "i4389")))
                                                      (hygiene guile)))
-                                                 (#{quasi 4380}#
-                                                   #{p 4417}#
-                                                   (#{1-}# #{lev 4394}#)))
-                                               (#{quasi 4380}#
-                                                 #{q 4408}#
-                                                 #{lev 4394}#))))
-                                         #{tmp 4415}#)
-                                       (let ((#{_ 4421}# #{tmp 4409}#))
-                                         (#{quasicons 4384}#
-                                           (#{quasi 4380}#
-                                             #{p 4407}#
-                                             #{lev 4394}#)
-                                           (#{quasi 4380}#
-                                             #{q 4408}#
-                                             #{lev 4394}#)))))))))
-                           #{tmp 4404}#)
-                         (let ((#{tmp 4422}#
+                                                 (#{quasi 4390}#
+                                                   #{p 4427}#
+                                                   (#{1-}# #{lev 4404}#)))
+                                               (#{quasi 4390}#
+                                                 #{q 4418}#
+                                                 #{lev 4404}#))))
+                                         #{tmp 4425}#)
+                                       (let ((#{_ 4431}# #{tmp 4419}#))
+                                         (#{quasicons 4394}#
+                                           (#{quasi 4390}#
+                                             #{p 4417}#
+                                             #{lev 4404}#)
+                                           (#{quasi 4390}#
+                                             #{q 4418}#
+                                             #{lev 4404}#)))))))))
+                           #{tmp 4414}#)
+                         (let ((#{tmp 4432}#
                                  ($sc-dispatch
-                                   #{tmp 4397}#
+                                   #{tmp 4407}#
                                    '#(vector each-any))))
-                           (if #{tmp 4422}#
+                           (if #{tmp 4432}#
                              (@apply
-                               (lambda (#{x 4424}#)
-                                 (#{quasivector 4390}#
-                                   (#{vquasi 4382}# #{x 4424}# #{lev 4394}#)))
-                               #{tmp 4422}#)
-                             (let ((#{p 4427}# #{tmp 4397}#))
+                               (lambda (#{x 4434}#)
+                                 (#{quasivector 4400}#
+                                   (#{vquasi 4392}# #{x 4434}# #{lev 4404}#)))
+                               #{tmp 4432}#)
+                             (let ((#{p 4437}# #{tmp 4407}#))
                                (list '#(syntax-object
                                         "quote"
                                         ((top)
-                                         #(ribcage #(p) #((top)) #("i4426"))
+                                         #(ribcage #(p) #((top)) #("i4436"))
                                          #(ribcage () () ())
                                          #(ribcage
                                            #(p lev)
                                            #((top) (top))
-                                           #("i4395" "i4396"))
+                                           #("i4405" "i4406"))
                                          #(ribcage
                                            (emit quasivector
                                                  quasilist*
                                             (top)
                                             (top)
                                             (top))
-                                           ("i4391"
-                                            "i4389"
-                                            "i4387"
-                                            "i4385"
-                                            "i4383"
-                                            "i4381"
-                                            "i4379")))
+                                           ("i4401"
+                                            "i4399"
+                                            "i4397"
+                                            "i4395"
+                                            "i4393"
+                                            "i4391"
+                                            "i4389")))
                                         (hygiene guile))
-                                     #{p 4427}#)))))))))))))
-       (#{vquasi 4382}#
-         (lambda (#{p 4428}# #{lev 4429}#)
-           (let ((#{tmp 4432}# #{p 4428}#))
-             (let ((#{tmp 4433}#
-                     ($sc-dispatch #{tmp 4432}# '(any . any))))
-               (if #{tmp 4433}#
+                                     #{p 4437}#)))))))))))))
+       (#{vquasi 4392}#
+         (lambda (#{p 4438}# #{lev 4439}#)
+           (let ((#{tmp 4442}# #{p 4438}#))
+             (let ((#{tmp 4443}#
+                     ($sc-dispatch #{tmp 4442}# '(any . any))))
+               (if #{tmp 4443}#
                  (@apply
-                   (lambda (#{p 4436}# #{q 4437}#)
-                     (let ((#{tmp 4438}# #{p 4436}#))
-                       (let ((#{tmp 4439}#
+                   (lambda (#{p 4446}# #{q 4447}#)
+                     (let ((#{tmp 4448}# #{p 4446}#))
+                       (let ((#{tmp 4449}#
                                ($sc-dispatch
-                                 #{tmp 4438}#
+                                 #{tmp 4448}#
                                  '(#(free-id
                                      #(syntax-object
                                        unquote
                                         #(ribcage
                                           #(p q)
                                           #((top) (top))
-                                          #("i4434" "i4435"))
+                                          #("i4444" "i4445"))
                                         #(ribcage () () ())
                                         #(ribcage
                                           #(p lev)
                                           #((top) (top))
-                                          #("i4430" "i4431"))
+                                          #("i4440" "i4441"))
                                         #(ribcage
                                           (emit quasivector
                                                 quasilist*
                                            (top)
                                            (top)
                                            (top))
-                                          ("i4391"
-                                           "i4389"
-                                           "i4387"
-                                           "i4385"
-                                           "i4383"
-                                           "i4381"
-                                           "i4379")))
+                                          ("i4401"
+                                           "i4399"
+                                           "i4397"
+                                           "i4395"
+                                           "i4393"
+                                           "i4391"
+                                           "i4389")))
                                        (hygiene guile)))
                                    .
                                    each-any))))
-                         (if #{tmp 4439}#
+                         (if #{tmp 4449}#
                            (@apply
-                             (lambda (#{p 4441}#)
-                               (if (= #{lev 4429}# 0)
-                                 (#{quasilist* 4388}#
-                                   (map (lambda (#{tmp 4442}#)
+                             (lambda (#{p 4451}#)
+                               (if (= #{lev 4439}# 0)
+                                 (#{quasilist* 4398}#
+                                   (map (lambda (#{tmp 4452}#)
                                           (list '#(syntax-object
                                                    "value"
                                                    ((top)
                                                     #(ribcage
                                                       #(p)
                                                       #((top))
-                                                      #("i4440"))
+                                                      #("i4450"))
                                                     #(ribcage
                                                       #(p q)
                                                       #((top) (top))
-                                                      #("i4434" "i4435"))
+                                                      #("i4444" "i4445"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(p lev)
                                                       #((top) (top))
-                                                      #("i4430" "i4431"))
+                                                      #("i4440" "i4441"))
                                                     #(ribcage
                                                       (emit quasivector
                                                             quasilist*
                                                        (top)
                                                        (top)
                                                        (top))
-                                                      ("i4391"
-                                                       "i4389"
-                                                       "i4387"
-                                                       "i4385"
-                                                       "i4383"
-                                                       "i4381"
-                                                       "i4379")))
+                                                      ("i4401"
+                                                       "i4399"
+                                                       "i4397"
+                                                       "i4395"
+                                                       "i4393"
+                                                       "i4391"
+                                                       "i4389")))
                                                    (hygiene guile))
-                                                #{tmp 4442}#))
-                                        #{p 4441}#)
-                                   (#{vquasi 4382}# #{q 4437}# #{lev 4429}#))
-                                 (#{quasicons 4384}#
-                                   (#{quasicons 4384}#
+                                                #{tmp 4452}#))
+                                        #{p 4451}#)
+                                   (#{vquasi 4392}# #{q 4447}# #{lev 4439}#))
+                                 (#{quasicons 4394}#
+                                   (#{quasicons 4394}#
                                      '(#(syntax-object
                                          "quote"
                                          ((top)
-                                          #(ribcage #(p) #((top)) #("i4440"))
+                                          #(ribcage #(p) #((top)) #("i4450"))
                                           #(ribcage
                                             #(p q)
                                             #((top) (top))
-                                            #("i4434" "i4435"))
+                                            #("i4444" "i4445"))
                                           #(ribcage () () ())
                                           #(ribcage
                                             #(p lev)
                                             #((top) (top))
-                                            #("i4430" "i4431"))
+                                            #("i4440" "i4441"))
                                           #(ribcage
                                             (emit quasivector
                                                   quasilist*
                                              (top)
                                              (top)
                                              (top))
-                                            ("i4391"
-                                             "i4389"
-                                             "i4387"
-                                             "i4385"
-                                             "i4383"
-                                             "i4381"
-                                             "i4379")))
+                                            ("i4401"
+                                             "i4399"
+                                             "i4397"
+                                             "i4395"
+                                             "i4393"
+                                             "i4391"
+                                             "i4389")))
                                          (hygiene guile))
                                        #(syntax-object
                                          unquote
                                          ((top)
-                                          #(ribcage #(p) #((top)) #("i4440"))
+                                          #(ribcage #(p) #((top)) #("i4450"))
                                           #(ribcage
                                             #(p q)
                                             #((top) (top))
-                                            #("i4434" "i4435"))
+                                            #("i4444" "i4445"))
                                           #(ribcage () () ())
                                           #(ribcage
                                             #(p lev)
                                             #((top) (top))
-                                            #("i4430" "i4431"))
+                                            #("i4440" "i4441"))
                                           #(ribcage
                                             (emit quasivector
                                                   quasilist*
                                              (top)
                                              (top)
                                              (top))
-                                            ("i4391"
-                                             "i4389"
-                                             "i4387"
-                                             "i4385"
-                                             "i4383"
-                                             "i4381"
-                                             "i4379")))
+                                            ("i4401"
+                                             "i4399"
+                                             "i4397"
+                                             "i4395"
+                                             "i4393"
+                                             "i4391"
+                                             "i4389")))
                                          (hygiene guile)))
-                                     (#{quasi 4380}#
-                                       #{p 4441}#
-                                       (#{1-}# #{lev 4429}#)))
-                                   (#{vquasi 4382}# #{q 4437}# #{lev 4429}#))))
-                             #{tmp 4439}#)
-                           (let ((#{tmp 4444}#
+                                     (#{quasi 4390}#
+                                       #{p 4451}#
+                                       (#{1-}# #{lev 4439}#)))
+                                   (#{vquasi 4392}# #{q 4447}# #{lev 4439}#))))
+                             #{tmp 4449}#)
+                           (let ((#{tmp 4454}#
                                    ($sc-dispatch
-                                     #{tmp 4438}#
+                                     #{tmp 4448}#
                                      '(#(free-id
                                          #(syntax-object
                                            unquote-splicing
                                             #(ribcage
                                               #(p q)
                                               #((top) (top))
-                                              #("i4434" "i4435"))
+                                              #("i4444" "i4445"))
                                             #(ribcage () () ())
                                             #(ribcage
                                               #(p lev)
                                               #((top) (top))
-                                              #("i4430" "i4431"))
+                                              #("i4440" "i4441"))
                                             #(ribcage
                                               (emit quasivector
                                                     quasilist*
                                                (top)
                                                (top)
                                                (top))
-                                              ("i4391"
-                                               "i4389"
-                                               "i4387"
-                                               "i4385"
-                                               "i4383"
-                                               "i4381"
-                                               "i4379")))
+                                              ("i4401"
+                                               "i4399"
+                                               "i4397"
+                                               "i4395"
+                                               "i4393"
+                                               "i4391"
+                                               "i4389")))
                                            (hygiene guile)))
                                        .
                                        each-any))))
-                             (if #{tmp 4444}#
+                             (if #{tmp 4454}#
                                (@apply
-                                 (lambda (#{p 4446}#)
-                                   (if (= #{lev 4429}# 0)
-                                     (#{quasiappend 4386}#
-                                       (map (lambda (#{tmp 4447}#)
+                                 (lambda (#{p 4456}#)
+                                   (if (= #{lev 4439}# 0)
+                                     (#{quasiappend 4396}#
+                                       (map (lambda (#{tmp 4457}#)
                                               (list '#(syntax-object
                                                        "value"
                                                        ((top)
                                                         #(ribcage
                                                           #(p)
                                                           #((top))
-                                                          #("i4445"))
+                                                          #("i4455"))
                                                         #(ribcage
                                                           #(p q)
                                                           #((top) (top))
-                                                          #("i4434" "i4435"))
+                                                          #("i4444" "i4445"))
                                                         #(ribcage () () ())
                                                         #(ribcage
                                                           #(p lev)
                                                           #((top) (top))
-                                                          #("i4430" "i4431"))
+                                                          #("i4440" "i4441"))
                                                         #(ribcage
                                                           (emit quasivector
                                                                 quasilist*
                                                            (top)
                                                            (top)
                                                            (top))
-                                                          ("i4391"
-                                                           "i4389"
-                                                           "i4387"
-                                                           "i4385"
-                                                           "i4383"
-                                                           "i4381"
-                                                           "i4379")))
+                                                          ("i4401"
+                                                           "i4399"
+                                                           "i4397"
+                                                           "i4395"
+                                                           "i4393"
+                                                           "i4391"
+                                                           "i4389")))
                                                        (hygiene guile))
-                                                    #{tmp 4447}#))
-                                            #{p 4446}#)
-                                       (#{vquasi 4382}#
-                                         #{q 4437}#
-                                         #{lev 4429}#))
-                                     (#{quasicons 4384}#
-                                       (#{quasicons 4384}#
+                                                    #{tmp 4457}#))
+                                            #{p 4456}#)
+                                       (#{vquasi 4392}#
+                                         #{q 4447}#
+                                         #{lev 4439}#))
+                                     (#{quasicons 4394}#
+                                       (#{quasicons 4394}#
                                          '(#(syntax-object
                                              "quote"
                                              ((top)
                                               #(ribcage
                                                 #(p)
                                                 #((top))
-                                                #("i4445"))
+                                                #("i4455"))
                                               #(ribcage
                                                 #(p q)
                                                 #((top) (top))
-                                                #("i4434" "i4435"))
+                                                #("i4444" "i4445"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(p lev)
                                                 #((top) (top))
-                                                #("i4430" "i4431"))
+                                                #("i4440" "i4441"))
                                               #(ribcage
                                                 (emit quasivector
                                                       quasilist*
                                                  (top)
                                                  (top)
                                                  (top))
-                                                ("i4391"
-                                                 "i4389"
-                                                 "i4387"
-                                                 "i4385"
-                                                 "i4383"
-                                                 "i4381"
-                                                 "i4379")))
+                                                ("i4401"
+                                                 "i4399"
+                                                 "i4397"
+                                                 "i4395"
+                                                 "i4393"
+                                                 "i4391"
+                                                 "i4389")))
                                              (hygiene guile))
                                            #(syntax-object
                                              unquote-splicing
                                               #(ribcage
                                                 #(p)
                                                 #((top))
-                                                #("i4445"))
+                                                #("i4455"))
                                               #(ribcage
                                                 #(p q)
                                                 #((top) (top))
-                                                #("i4434" "i4435"))
+                                                #("i4444" "i4445"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(p lev)
                                                 #((top) (top))
-                                                #("i4430" "i4431"))
+                                                #("i4440" "i4441"))
                                               #(ribcage
                                                 (emit quasivector
                                                       quasilist*
                                                  (top)
                                                  (top)
                                                  (top))
-                                                ("i4391"
-                                                 "i4389"
-                                                 "i4387"
-                                                 "i4385"
-                                                 "i4383"
-                                                 "i4381"
-                                                 "i4379")))
+                                                ("i4401"
+                                                 "i4399"
+                                                 "i4397"
+                                                 "i4395"
+                                                 "i4393"
+                                                 "i4391"
+                                                 "i4389")))
                                              (hygiene guile)))
-                                         (#{quasi 4380}#
-                                           #{p 4446}#
-                                           (#{1-}# #{lev 4429}#)))
-                                       (#{vquasi 4382}#
-                                         #{q 4437}#
-                                         #{lev 4429}#))))
-                                 #{tmp 4444}#)
-                               (let ((#{_ 4450}# #{tmp 4438}#))
-                                 (#{quasicons 4384}#
-                                   (#{quasi 4380}# #{p 4436}# #{lev 4429}#)
-                                   (#{vquasi 4382}#
-                                     #{q 4437}#
-                                     #{lev 4429}#)))))))))
-                   #{tmp 4433}#)
-                 (let ((#{tmp 4451}# ($sc-dispatch #{tmp 4432}# '())))
-                   (if #{tmp 4451}#
+                                         (#{quasi 4390}#
+                                           #{p 4456}#
+                                           (#{1-}# #{lev 4439}#)))
+                                       (#{vquasi 4392}#
+                                         #{q 4447}#
+                                         #{lev 4439}#))))
+                                 #{tmp 4454}#)
+                               (let ((#{_ 4460}# #{tmp 4448}#))
+                                 (#{quasicons 4394}#
+                                   (#{quasi 4390}# #{p 4446}# #{lev 4439}#)
+                                   (#{vquasi 4392}#
+                                     #{q 4447}#
+                                     #{lev 4439}#)))))))))
+                   #{tmp 4443}#)
+                 (let ((#{tmp 4461}# ($sc-dispatch #{tmp 4442}# '())))
+                   (if #{tmp 4461}#
                      (@apply
                        (lambda ()
                          '(#(syntax-object
                               #(ribcage
                                 #(p lev)
                                 #((top) (top))
-                                #("i4430" "i4431"))
+                                #("i4440" "i4441"))
                               #(ribcage
                                 (emit quasivector
                                       quasilist*
                                       vquasi
                                       quasi)
                                 ((top) (top) (top) (top) (top) (top) (top))
-                                ("i4391"
-                                 "i4389"
-                                 "i4387"
-                                 "i4385"
-                                 "i4383"
-                                 "i4381"
-                                 "i4379")))
+                                ("i4401"
+                                 "i4399"
+                                 "i4397"
+                                 "i4395"
+                                 "i4393"
+                                 "i4391"
+                                 "i4389")))
                              (hygiene guile))
                            ()))
-                       #{tmp 4451}#)
+                       #{tmp 4461}#)
                      (syntax-violation
                        #f
                        "source expression failed to match any pattern"
-                       #{tmp 4432}#))))))))
-       (#{quasicons 4384}#
-         (lambda (#{x 4452}# #{y 4453}#)
-           (let ((#{tmp 4457}# (list #{x 4452}# #{y 4453}#)))
-             (let ((#{tmp 4458}#
-                     ($sc-dispatch #{tmp 4457}# '(any any))))
-               (if #{tmp 4458}#
+                       #{tmp 4442}#))))))))
+       (#{quasicons 4394}#
+         (lambda (#{x 4462}# #{y 4463}#)
+           (let ((#{tmp 4467}# (list #{x 4462}# #{y 4463}#)))
+             (let ((#{tmp 4468}#
+                     ($sc-dispatch #{tmp 4467}# '(any any))))
+               (if #{tmp 4468}#
                  (@apply
-                   (lambda (#{x 4461}# #{y 4462}#)
-                     (let ((#{tmp 4463}# #{y 4462}#))
-                       (let ((#{tmp 4464}#
+                   (lambda (#{x 4471}# #{y 4472}#)
+                     (let ((#{tmp 4473}# #{y 4472}#))
+                       (let ((#{tmp 4474}#
                                ($sc-dispatch
-                                 #{tmp 4463}#
+                                 #{tmp 4473}#
                                  '(#(atom "quote") any))))
-                         (if #{tmp 4464}#
+                         (if #{tmp 4474}#
                            (@apply
-                             (lambda (#{dy 4466}#)
-                               (let ((#{tmp 4467}# #{x 4461}#))
-                                 (let ((#{tmp 4468}#
+                             (lambda (#{dy 4476}#)
+                               (let ((#{tmp 4477}# #{x 4471}#))
+                                 (let ((#{tmp 4478}#
                                          ($sc-dispatch
-                                           #{tmp 4467}#
+                                           #{tmp 4477}#
                                            '(#(atom "quote") any))))
-                                   (if #{tmp 4468}#
+                                   (if #{tmp 4478}#
                                      (@apply
-                                       (lambda (#{dx 4470}#)
+                                       (lambda (#{dx 4480}#)
                                          (list '#(syntax-object
                                                   "quote"
                                                   ((top)
                                                    #(ribcage
                                                      #(dx)
                                                      #((top))
-                                                     #("i4469"))
+                                                     #("i4479"))
                                                    #(ribcage
                                                      #(dy)
                                                      #((top))
-                                                     #("i4465"))
+                                                     #("i4475"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x y)
                                                      #((top) (top))
-                                                     #("i4459" "i4460"))
+                                                     #("i4469" "i4470"))
                                                    #(ribcage () () ())
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x y)
                                                      #((top) (top))
-                                                     #("i4454" "i4455"))
+                                                     #("i4464" "i4465"))
                                                    #(ribcage
                                                      (emit quasivector
                                                            quasilist*
                                                       (top)
                                                       (top)
                                                       (top))
-                                                     ("i4391"
-                                                      "i4389"
-                                                      "i4387"
-                                                      "i4385"
-                                                      "i4383"
-                                                      "i4381"
-                                                      "i4379")))
+                                                     ("i4401"
+                                                      "i4399"
+                                                      "i4397"
+                                                      "i4395"
+                                                      "i4393"
+                                                      "i4391"
+                                                      "i4389")))
                                                   (hygiene guile))
-                                               (cons #{dx 4470}# #{dy 4466}#)))
-                                       #{tmp 4468}#)
-                                     (let ((#{_ 4472}# #{tmp 4467}#))
-                                       (if (null? #{dy 4466}#)
+                                               (cons #{dx 4480}# #{dy 4476}#)))
+                                       #{tmp 4478}#)
+                                     (let ((#{_ 4482}# #{tmp 4477}#))
+                                       (if (null? #{dy 4476}#)
                                          (list '#(syntax-object
                                                   "list"
                                                   ((top)
                                                    #(ribcage
                                                      #(_)
                                                      #((top))
-                                                     #("i4471"))
+                                                     #("i4481"))
                                                    #(ribcage
                                                      #(dy)
                                                      #((top))
-                                                     #("i4465"))
+                                                     #("i4475"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x y)
                                                      #((top) (top))
-                                                     #("i4459" "i4460"))
+                                                     #("i4469" "i4470"))
                                                    #(ribcage () () ())
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x y)
                                                      #((top) (top))
-                                                     #("i4454" "i4455"))
+                                                     #("i4464" "i4465"))
                                                    #(ribcage
                                                      (emit quasivector
                                                            quasilist*
                                                       (top)
                                                       (top)
                                                       (top))
-                                                     ("i4391"
-                                                      "i4389"
-                                                      "i4387"
-                                                      "i4385"
-                                                      "i4383"
-                                                      "i4381"
-                                                      "i4379")))
+                                                     ("i4401"
+                                                      "i4399"
+                                                      "i4397"
+                                                      "i4395"
+                                                      "i4393"
+                                                      "i4391"
+                                                      "i4389")))
                                                   (hygiene guile))
-                                               #{x 4461}#)
+                                               #{x 4471}#)
                                          (list '#(syntax-object
                                                   "list*"
                                                   ((top)
                                                    #(ribcage
                                                      #(_)
                                                      #((top))
-                                                     #("i4471"))
+                                                     #("i4481"))
                                                    #(ribcage
                                                      #(dy)
                                                      #((top))
-                                                     #("i4465"))
+                                                     #("i4475"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x y)
                                                      #((top) (top))
-                                                     #("i4459" "i4460"))
+                                                     #("i4469" "i4470"))
                                                    #(ribcage () () ())
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x y)
                                                      #((top) (top))
-                                                     #("i4454" "i4455"))
+                                                     #("i4464" "i4465"))
                                                    #(ribcage
                                                      (emit quasivector
                                                            quasilist*
                                                       (top)
                                                       (top)
                                                       (top))
-                                                     ("i4391"
-                                                      "i4389"
-                                                      "i4387"
-                                                      "i4385"
-                                                      "i4383"
-                                                      "i4381"
-                                                      "i4379")))
+                                                     ("i4401"
+                                                      "i4399"
+                                                      "i4397"
+                                                      "i4395"
+                                                      "i4393"
+                                                      "i4391"
+                                                      "i4389")))
                                                   (hygiene guile))
-                                               #{x 4461}#
-                                               #{y 4462}#)))))))
-                             #{tmp 4464}#)
-                           (let ((#{tmp 4473}#
+                                               #{x 4471}#
+                                               #{y 4472}#)))))))
+                             #{tmp 4474}#)
+                           (let ((#{tmp 4483}#
                                    ($sc-dispatch
-                                     #{tmp 4463}#
+                                     #{tmp 4473}#
                                      '(#(atom "list") . any))))
-                             (if #{tmp 4473}#
+                             (if #{tmp 4483}#
                                (@apply
-                                 (lambda (#{stuff 4475}#)
+                                 (lambda (#{stuff 4485}#)
                                    (cons '#(syntax-object
                                             "list"
                                             ((top)
                                              #(ribcage
                                                #(stuff)
                                                #((top))
-                                               #("i4474"))
+                                               #("i4484"))
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x y)
                                                #((top) (top))
-                                               #("i4459" "i4460"))
+                                               #("i4469" "i4470"))
                                              #(ribcage () () ())
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x y)
                                                #((top) (top))
-                                               #("i4454" "i4455"))
+                                               #("i4464" "i4465"))
                                              #(ribcage
                                                (emit quasivector
                                                      quasilist*
                                                 (top)
                                                 (top)
                                                 (top))
-                                               ("i4391"
-                                                "i4389"
-                                                "i4387"
-                                                "i4385"
-                                                "i4383"
-                                                "i4381"
-                                                "i4379")))
+                                               ("i4401"
+                                                "i4399"
+                                                "i4397"
+                                                "i4395"
+                                                "i4393"
+                                                "i4391"
+                                                "i4389")))
                                             (hygiene guile))
-                                         (cons #{x 4461}# #{stuff 4475}#)))
-                                 #{tmp 4473}#)
-                               (let ((#{tmp 4476}#
+                                         (cons #{x 4471}# #{stuff 4485}#)))
+                                 #{tmp 4483}#)
+                               (let ((#{tmp 4486}#
                                        ($sc-dispatch
-                                         #{tmp 4463}#
+                                         #{tmp 4473}#
                                          '(#(atom "list*") . any))))
-                                 (if #{tmp 4476}#
+                                 (if #{tmp 4486}#
                                    (@apply
-                                     (lambda (#{stuff 4478}#)
+                                     (lambda (#{stuff 4488}#)
                                        (cons '#(syntax-object
                                                 "list*"
                                                 ((top)
                                                  #(ribcage
                                                    #(stuff)
                                                    #((top))
-                                                   #("i4477"))
+                                                   #("i4487"))
                                                  #(ribcage () () ())
                                                  #(ribcage
                                                    #(x y)
                                                    #((top) (top))
-                                                   #("i4459" "i4460"))
+                                                   #("i4469" "i4470"))
                                                  #(ribcage () () ())
                                                  #(ribcage () () ())
                                                  #(ribcage
                                                    #(x y)
                                                    #((top) (top))
-                                                   #("i4454" "i4455"))
+                                                   #("i4464" "i4465"))
                                                  #(ribcage
                                                    (emit quasivector
                                                          quasilist*
                                                     (top)
                                                     (top)
                                                     (top))
-                                                   ("i4391"
-                                                    "i4389"
-                                                    "i4387"
-                                                    "i4385"
-                                                    "i4383"
-                                                    "i4381"
-                                                    "i4379")))
+                                                   ("i4401"
+                                                    "i4399"
+                                                    "i4397"
+                                                    "i4395"
+                                                    "i4393"
+                                                    "i4391"
+                                                    "i4389")))
                                                 (hygiene guile))
-                                             (cons #{x 4461}# #{stuff 4478}#)))
-                                     #{tmp 4476}#)
-                                   (let ((#{_ 4480}# #{tmp 4463}#))
+                                             (cons #{x 4471}# #{stuff 4488}#)))
+                                     #{tmp 4486}#)
+                                   (let ((#{_ 4490}# #{tmp 4473}#))
                                      (list '#(syntax-object
                                               "list*"
                                               ((top)
                                                #(ribcage
                                                  #(_)
                                                  #((top))
-                                                 #("i4479"))
+                                                 #("i4489"))
                                                #(ribcage () () ())
                                                #(ribcage
                                                  #(x y)
                                                  #((top) (top))
-                                                 #("i4459" "i4460"))
+                                                 #("i4469" "i4470"))
                                                #(ribcage () () ())
                                                #(ribcage () () ())
                                                #(ribcage
                                                  #(x y)
                                                  #((top) (top))
-                                                 #("i4454" "i4455"))
+                                                 #("i4464" "i4465"))
                                                #(ribcage
                                                  (emit quasivector
                                                        quasilist*
                                                   (top)
                                                   (top)
                                                   (top))
-                                                 ("i4391"
-                                                  "i4389"
-                                                  "i4387"
-                                                  "i4385"
-                                                  "i4383"
-                                                  "i4381"
-                                                  "i4379")))
+                                                 ("i4401"
+                                                  "i4399"
+                                                  "i4397"
+                                                  "i4395"
+                                                  "i4393"
+                                                  "i4391"
+                                                  "i4389")))
                                               (hygiene guile))
-                                           #{x 4461}#
-                                           #{y 4462}#))))))))))
-                   #{tmp 4458}#)
+                                           #{x 4471}#
+                                           #{y 4472}#))))))))))
+                   #{tmp 4468}#)
                  (syntax-violation
                    #f
                    "source expression failed to match any pattern"
-                   #{tmp 4457}#))))))
-       (#{quasiappend 4386}#
-         (lambda (#{x 4481}# #{y 4482}#)
-           (let ((#{tmp 4485}# #{y 4482}#))
-             (let ((#{tmp 4486}#
-                     ($sc-dispatch #{tmp 4485}# '(#(atom "quote") ()))))
-               (if #{tmp 4486}#
+                   #{tmp 4467}#))))))
+       (#{quasiappend 4396}#
+         (lambda (#{x 4491}# #{y 4492}#)
+           (let ((#{tmp 4495}# #{y 4492}#))
+             (let ((#{tmp 4496}#
+                     ($sc-dispatch #{tmp 4495}# '(#(atom "quote") ()))))
+               (if #{tmp 4496}#
                  (@apply
                    (lambda ()
-                     (if (null? #{x 4481}#)
+                     (if (null? #{x 4491}#)
                        '(#(syntax-object
                            "quote"
                            ((top)
                             #(ribcage
                               #(x y)
                               #((top) (top))
-                              #("i4483" "i4484"))
+                              #("i4493" "i4494"))
                             #(ribcage
                               (emit quasivector
                                     quasilist*
                                     vquasi
                                     quasi)
                               ((top) (top) (top) (top) (top) (top) (top))
-                              ("i4391"
-                               "i4389"
-                               "i4387"
-                               "i4385"
-                               "i4383"
-                               "i4381"
-                               "i4379")))
+                              ("i4401"
+                               "i4399"
+                               "i4397"
+                               "i4395"
+                               "i4393"
+                               "i4391"
+                               "i4389")))
                            (hygiene guile))
                          ())
-                       (if (null? (cdr #{x 4481}#))
-                         (car #{x 4481}#)
-                         (let ((#{tmp 4493}# #{x 4481}#))
-                           (let ((#{tmp 4494}#
-                                   ($sc-dispatch #{tmp 4493}# 'each-any)))
-                             (if #{tmp 4494}#
+                       (if (null? (cdr #{x 4491}#))
+                         (car #{x 4491}#)
+                         (let ((#{tmp 4503}# #{x 4491}#))
+                           (let ((#{tmp 4504}#
+                                   ($sc-dispatch #{tmp 4503}# 'each-any)))
+                             (if #{tmp 4504}#
                                (@apply
-                                 (lambda (#{p 4496}#)
+                                 (lambda (#{p 4506}#)
                                    (cons '#(syntax-object
                                             "append"
                                             ((top)
                                              #(ribcage
                                                #(p)
                                                #((top))
-                                               #("i4495"))
+                                               #("i4505"))
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x y)
                                                #((top) (top))
-                                               #("i4483" "i4484"))
+                                               #("i4493" "i4494"))
                                              #(ribcage
                                                (emit quasivector
                                                      quasilist*
                                                 (top)
                                                 (top)
                                                 (top))
-                                               ("i4391"
-                                                "i4389"
-                                                "i4387"
-                                                "i4385"
-                                                "i4383"
-                                                "i4381"
-                                                "i4379")))
+                                               ("i4401"
+                                                "i4399"
+                                                "i4397"
+                                                "i4395"
+                                                "i4393"
+                                                "i4391"
+                                                "i4389")))
                                             (hygiene guile))
-                                         #{p 4496}#))
-                                 #{tmp 4494}#)
+                                         #{p 4506}#))
+                                 #{tmp 4504}#)
                                (syntax-violation
                                  #f
                                  "source expression failed to match any pattern"
-                                 #{tmp 4493}#)))))))
-                   #{tmp 4486}#)
-                 (let ((#{_ 4499}# #{tmp 4485}#))
-                   (if (null? #{x 4481}#)
-                     #{y 4482}#
-                     (let ((#{tmp 4504}# (list #{x 4481}# #{y 4482}#)))
-                       (let ((#{tmp 4505}#
-                               ($sc-dispatch #{tmp 4504}# '(each-any any))))
-                         (if #{tmp 4505}#
+                                 #{tmp 4503}#)))))))
+                   #{tmp 4496}#)
+                 (let ((#{_ 4509}# #{tmp 4495}#))
+                   (if (null? #{x 4491}#)
+                     #{y 4492}#
+                     (let ((#{tmp 4514}# (list #{x 4491}# #{y 4492}#)))
+                       (let ((#{tmp 4515}#
+                               ($sc-dispatch #{tmp 4514}# '(each-any any))))
+                         (if #{tmp 4515}#
                            (@apply
-                             (lambda (#{p 4508}# #{y 4509}#)
+                             (lambda (#{p 4518}# #{y 4519}#)
                                (cons '#(syntax-object
                                         "append"
                                         ((top)
                                          #(ribcage
                                            #(p y)
                                            #((top) (top))
-                                           #("i4506" "i4507"))
-                                         #(ribcage #(_) #((top)) #("i4498"))
+                                           #("i4516" "i4517"))
+                                         #(ribcage #(_) #((top)) #("i4508"))
                                          #(ribcage () () ())
                                          #(ribcage
                                            #(x y)
                                            #((top) (top))
-                                           #("i4483" "i4484"))
+                                           #("i4493" "i4494"))
                                          #(ribcage
                                            (emit quasivector
                                                  quasilist*
                                             (top)
                                             (top)
                                             (top))
-                                           ("i4391"
-                                            "i4389"
-                                            "i4387"
-                                            "i4385"
-                                            "i4383"
-                                            "i4381"
-                                            "i4379")))
+                                           ("i4401"
+                                            "i4399"
+                                            "i4397"
+                                            "i4395"
+                                            "i4393"
+                                            "i4391"
+                                            "i4389")))
                                         (hygiene guile))
-                                     (append #{p 4508}# (list #{y 4509}#))))
-                             #{tmp 4505}#)
+                                     (append #{p 4518}# (list #{y 4519}#))))
+                             #{tmp 4515}#)
                            (syntax-violation
                              #f
                              "source expression failed to match any pattern"
-                             #{tmp 4504}#)))))))))))
-       (#{quasilist* 4388}#
-         (lambda (#{x 4511}# #{y 4512}#)
+                             #{tmp 4514}#)))))))))))
+       (#{quasilist* 4398}#
+         (lambda (#{x 4521}# #{y 4522}#)
            (letrec*
-             ((#{f 4517}#
-                (lambda (#{x 4518}#)
-                  (if (null? #{x 4518}#)
-                    #{y 4512}#
-                    (#{quasicons 4384}#
-                      (car #{x 4518}#)
-                      (#{f 4517}# (cdr #{x 4518}#)))))))
-             (begin (#{f 4517}# #{x 4511}#)))))
-       (#{quasivector 4390}#
-         (lambda (#{x 4519}#)
-           (let ((#{tmp 4521}# #{x 4519}#))
-             (let ((#{tmp 4522}#
+             ((#{f 4527}#
+                (lambda (#{x 4528}#)
+                  (if (null? #{x 4528}#)
+                    #{y 4522}#
+                    (#{quasicons 4394}#
+                      (car #{x 4528}#)
+                      (#{f 4527}# (cdr #{x 4528}#)))))))
+             (begin (#{f 4527}# #{x 4521}#)))))
+       (#{quasivector 4400}#
+         (lambda (#{x 4529}#)
+           (let ((#{tmp 4531}# #{x 4529}#))
+             (let ((#{tmp 4532}#
                      ($sc-dispatch
-                       #{tmp 4521}#
+                       #{tmp 4531}#
                        '(#(atom "quote") each-any))))
-               (if #{tmp 4522}#
+               (if #{tmp 4532}#
                  (@apply
-                   (lambda (#{x 4524}#)
+                   (lambda (#{x 4534}#)
                      (list '#(syntax-object
                               "quote"
                               ((top)
-                               #(ribcage #(x) #((top)) #("i4523"))
+                               #(ribcage #(x) #((top)) #("i4533"))
                                #(ribcage () () ())
-                               #(ribcage #(x) #((top)) #("i4520"))
+                               #(ribcage #(x) #((top)) #("i4530"))
                                #(ribcage
                                  (emit quasivector
                                        quasilist*
                                        vquasi
                                        quasi)
                                  ((top) (top) (top) (top) (top) (top) (top))
-                                 ("i4391"
-                                  "i4389"
-                                  "i4387"
-                                  "i4385"
-                                  "i4383"
-                                  "i4381"
-                                  "i4379")))
+                                 ("i4401"
+                                  "i4399"
+                                  "i4397"
+                                  "i4395"
+                                  "i4393"
+                                  "i4391"
+                                  "i4389")))
                               (hygiene guile))
-                           (list->vector #{x 4524}#)))
-                   #{tmp 4522}#)
-                 (let ((#{_ 4527}# #{tmp 4521}#))
+                           (list->vector #{x 4534}#)))
+                   #{tmp 4532}#)
+                 (let ((#{_ 4537}# #{tmp 4531}#))
                    (letrec*
-                     ((#{f 4531}#
-                        (lambda (#{y 4532}# #{k 4533}#)
-                          (let ((#{tmp 4544}# #{y 4532}#))
-                            (let ((#{tmp 4545}#
+                     ((#{f 4541}#
+                        (lambda (#{y 4542}# #{k 4543}#)
+                          (let ((#{tmp 4554}# #{y 4542}#))
+                            (let ((#{tmp 4555}#
                                     ($sc-dispatch
-                                      #{tmp 4544}#
+                                      #{tmp 4554}#
                                       '(#(atom "quote") each-any))))
-                              (if #{tmp 4545}#
+                              (if #{tmp 4555}#
                                 (@apply
-                                  (lambda (#{y 4547}#)
-                                    (#{k 4533}#
-                                      (map (lambda (#{tmp 4548}#)
+                                  (lambda (#{y 4557}#)
+                                    (#{k 4543}#
+                                      (map (lambda (#{tmp 4558}#)
                                              (list '#(syntax-object
                                                       "quote"
                                                       ((top)
                                                        #(ribcage
                                                          #(y)
                                                          #((top))
-                                                         #("i4546"))
+                                                         #("i4556"))
                                                        #(ribcage () () ())
                                                        #(ribcage
                                                          #(f y k)
                                                          #((top) (top) (top))
-                                                         #("i4528"
-                                                           "i4529"
-                                                           "i4530"))
+                                                         #("i4538"
+                                                           "i4539"
+                                                           "i4540"))
                                                        #(ribcage
                                                          #(_)
                                                          #((top))
-                                                         #("i4526"))
+                                                         #("i4536"))
                                                        #(ribcage () () ())
                                                        #(ribcage
                                                          #(x)
                                                          #((top))
-                                                         #("i4520"))
+                                                         #("i4530"))
                                                        #(ribcage
                                                          (emit quasivector
                                                                quasilist*
                                                           (top)
                                                           (top)
                                                           (top))
-                                                         ("i4391"
-                                                          "i4389"
-                                                          "i4387"
-                                                          "i4385"
-                                                          "i4383"
-                                                          "i4381"
-                                                          "i4379")))
+                                                         ("i4401"
+                                                          "i4399"
+                                                          "i4397"
+                                                          "i4395"
+                                                          "i4393"
+                                                          "i4391"
+                                                          "i4389")))
                                                       (hygiene guile))
-                                                   #{tmp 4548}#))
-                                           #{y 4547}#)))
-                                  #{tmp 4545}#)
-                                (let ((#{tmp 4549}#
+                                                   #{tmp 4558}#))
+                                           #{y 4557}#)))
+                                  #{tmp 4555}#)
+                                (let ((#{tmp 4559}#
                                         ($sc-dispatch
-                                          #{tmp 4544}#
+                                          #{tmp 4554}#
                                           '(#(atom "list") . each-any))))
-                                  (if #{tmp 4549}#
+                                  (if #{tmp 4559}#
                                     (@apply
-                                      (lambda (#{y 4551}#)
-                                        (#{k 4533}# #{y 4551}#))
-                                      #{tmp 4549}#)
-                                    (let ((#{tmp 4553}#
+                                      (lambda (#{y 4561}#)
+                                        (#{k 4543}# #{y 4561}#))
+                                      #{tmp 4559}#)
+                                    (let ((#{tmp 4563}#
                                             ($sc-dispatch
-                                              #{tmp 4544}#
+                                              #{tmp 4554}#
                                               '(#(atom "list*")
                                                 .
                                                 #(each+ any (any) ())))))
-                                      (if #{tmp 4553}#
+                                      (if #{tmp 4563}#
                                         (@apply
-                                          (lambda (#{y 4556}# #{z 4557}#)
-                                            (#{f 4531}#
-                                              #{z 4557}#
-                                              (lambda (#{ls 4558}#)
-                                                (#{k 4533}#
+                                          (lambda (#{y 4566}# #{z 4567}#)
+                                            (#{f 4541}#
+                                              #{z 4567}#
+                                              (lambda (#{ls 4568}#)
+                                                (#{k 4543}#
                                                   (append
-                                                    #{y 4556}#
-                                                    #{ls 4558}#)))))
-                                          #{tmp 4553}#)
-                                        (let ((#{else 4562}# #{tmp 4544}#))
-                                          (let ((#{tmp 4566}# #{x 4519}#))
-                                            (let ((#{ g4563 4568}#
-                                                    #{tmp 4566}#))
+                                                    #{y 4566}#
+                                                    #{ls 4568}#)))))
+                                          #{tmp 4563}#)
+                                        (let ((#{else 4572}# #{tmp 4554}#))
+                                          (let ((#{tmp 4576}# #{x 4529}#))
+                                            (let ((#{ g4573 4578}#
+                                                    #{tmp 4576}#))
                                               (list '#(syntax-object
                                                        "list->vector"
                                                        ((top)
                                                         #(ribcage () () ())
                                                         #(ribcage
-                                                          #(#{ g4563}#)
-                                                          #((m4564 top))
-                                                          #("i4567"))
+                                                          #(#{ g4573}#)
+                                                          #((m4574 top))
+                                                          #("i4577"))
                                                         #(ribcage
                                                           #(else)
                                                           #((top))
-                                                          #("i4561"))
+                                                          #("i4571"))
                                                         #(ribcage () () ())
                                                         #(ribcage
                                                           #(f y k)
                                                           #((top) (top) (top))
-                                                          #("i4528"
-                                                            "i4529"
-                                                            "i4530"))
+                                                          #("i4538"
+                                                            "i4539"
+                                                            "i4540"))
                                                         #(ribcage
                                                           #(_)
                                                           #((top))
-                                                          #("i4526"))
+                                                          #("i4536"))
                                                         #(ribcage () () ())
                                                         #(ribcage
                                                           #(x)
                                                           #((top))
-                                                          #("i4520"))
+                                                          #("i4530"))
                                                         #(ribcage
                                                           (emit quasivector
                                                                 quasilist*
                                                            (top)
                                                            (top)
                                                            (top))
-                                                          ("i4391"
-                                                           "i4389"
-                                                           "i4387"
-                                                           "i4385"
-                                                           "i4383"
-                                                           "i4381"
-                                                           "i4379")))
+                                                          ("i4401"
+                                                           "i4399"
+                                                           "i4397"
+                                                           "i4395"
+                                                           "i4393"
+                                                           "i4391"
+                                                           "i4389")))
                                                        (hygiene guile))
-                                                    #{ g4563 4568}#))))))))))))))
+                                                    #{ g4573 4578}#))))))))))))))
                      (begin
-                       (#{f 4531}#
-                         #{x 4519}#
-                         (lambda (#{ls 4534}#)
-                           (let ((#{tmp 4539}# #{ls 4534}#))
-                             (let ((#{tmp 4540}#
-                                     ($sc-dispatch #{tmp 4539}# 'each-any)))
-                               (if #{tmp 4540}#
+                       (#{f 4541}#
+                         #{x 4529}#
+                         (lambda (#{ls 4544}#)
+                           (let ((#{tmp 4549}# #{ls 4544}#))
+                             (let ((#{tmp 4550}#
+                                     ($sc-dispatch #{tmp 4549}# 'each-any)))
+                               (if #{tmp 4550}#
                                  (@apply
-                                   (lambda (#{ g4536 4542}#)
+                                   (lambda (#{ g4546 4552}#)
                                      (cons '#(syntax-object
                                               "vector"
                                               ((top)
                                                #(ribcage () () ())
                                                #(ribcage
-                                                 #(#{ g4536}#)
-                                                 #((m4537 top))
-                                                 #("i4541"))
+                                                 #(#{ g4546}#)
+                                                 #((m4547 top))
+                                                 #("i4551"))
                                                #(ribcage () () ())
                                                #(ribcage () () ())
                                                #(ribcage () () ())
                                                #(ribcage
                                                  #(ls)
                                                  #((top))
-                                                 #("i4535"))
+                                                 #("i4545"))
                                                #(ribcage
                                                  #(_)
                                                  #((top))
-                                                 #("i4526"))
+                                                 #("i4536"))
                                                #(ribcage () () ())
                                                #(ribcage
                                                  #(x)
                                                  #((top))
-                                                 #("i4520"))
+                                                 #("i4530"))
                                                #(ribcage
                                                  (emit quasivector
                                                        quasilist*
                                                   (top)
                                                   (top)
                                                   (top))
-                                                 ("i4391"
-                                                  "i4389"
-                                                  "i4387"
-                                                  "i4385"
-                                                  "i4383"
-                                                  "i4381"
-                                                  "i4379")))
+                                                 ("i4401"
+                                                  "i4399"
+                                                  "i4397"
+                                                  "i4395"
+                                                  "i4393"
+                                                  "i4391"
+                                                  "i4389")))
                                               (hygiene guile))
-                                           #{ g4536 4542}#))
-                                   #{tmp 4540}#)
+                                           #{ g4546 4552}#))
+                                   #{tmp 4550}#)
                                  (syntax-violation
                                    #f
                                    "source expression failed to match any pattern"
-                                   #{tmp 4539}#))))))))))))))
-       (#{emit 4392}#
-         (lambda (#{x 4569}#)
-           (let ((#{tmp 4571}# #{x 4569}#))
-             (let ((#{tmp 4572}#
+                                   #{tmp 4549}#))))))))))))))
+       (#{emit 4402}#
+         (lambda (#{x 4579}#)
+           (let ((#{tmp 4581}# #{x 4579}#))
+             (let ((#{tmp 4582}#
                      ($sc-dispatch
-                       #{tmp 4571}#
+                       #{tmp 4581}#
                        '(#(atom "quote") any))))
-               (if #{tmp 4572}#
+               (if #{tmp 4582}#
                  (@apply
-                   (lambda (#{x 4574}#)
+                   (lambda (#{x 4584}#)
                      (list '#(syntax-object
                               quote
                               ((top)
-                               #(ribcage #(x) #((top)) #("i4573"))
+                               #(ribcage #(x) #((top)) #("i4583"))
                                #(ribcage () () ())
-                               #(ribcage #(x) #((top)) #("i4570"))
+                               #(ribcage #(x) #((top)) #("i4580"))
                                #(ribcage
                                  (emit quasivector
                                        quasilist*
                                        vquasi
                                        quasi)
                                  ((top) (top) (top) (top) (top) (top) (top))
-                                 ("i4391"
-                                  "i4389"
-                                  "i4387"
-                                  "i4385"
-                                  "i4383"
-                                  "i4381"
-                                  "i4379")))
+                                 ("i4401"
+                                  "i4399"
+                                  "i4397"
+                                  "i4395"
+                                  "i4393"
+                                  "i4391"
+                                  "i4389")))
                               (hygiene guile))
-                           #{x 4574}#))
-                   #{tmp 4572}#)
-                 (let ((#{tmp 4575}#
+                           #{x 4584}#))
+                   #{tmp 4582}#)
+                 (let ((#{tmp 4585}#
                          ($sc-dispatch
-                           #{tmp 4571}#
+                           #{tmp 4581}#
                            '(#(atom "list") . each-any))))
-                   (if #{tmp 4575}#
+                   (if #{tmp 4585}#
                      (@apply
-                       (lambda (#{x 4577}#)
-                         (let ((#{tmp 4581}# (map #{emit 4392}# #{x 4577}#)))
-                           (let ((#{tmp 4582}#
-                                   ($sc-dispatch #{tmp 4581}# 'each-any)))
-                             (if #{tmp 4582}#
+                       (lambda (#{x 4587}#)
+                         (let ((#{tmp 4591}# (map #{emit 4402}# #{x 4587}#)))
+                           (let ((#{tmp 4592}#
+                                   ($sc-dispatch #{tmp 4591}# 'each-any)))
+                             (if #{tmp 4592}#
                                (@apply
-                                 (lambda (#{ g4578 4584}#)
+                                 (lambda (#{ g4588 4594}#)
                                    (cons '#(syntax-object
                                             list
                                             ((top)
                                              #(ribcage () () ())
                                              #(ribcage
-                                               #(#{ g4578}#)
-                                               #((m4579 top))
-                                               #("i4583"))
+                                               #(#{ g4588}#)
+                                               #((m4589 top))
+                                               #("i4593"))
                                              #(ribcage
                                                #(x)
                                                #((top))
-                                               #("i4576"))
+                                               #("i4586"))
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x)
                                                #((top))
-                                               #("i4570"))
+                                               #("i4580"))
                                              #(ribcage
                                                (emit quasivector
                                                      quasilist*
                                                 (top)
                                                 (top)
                                                 (top))
-                                               ("i4391"
-                                                "i4389"
-                                                "i4387"
-                                                "i4385"
-                                                "i4383"
-                                                "i4381"
-                                                "i4379")))
+                                               ("i4401"
+                                                "i4399"
+                                                "i4397"
+                                                "i4395"
+                                                "i4393"
+                                                "i4391"
+                                                "i4389")))
                                             (hygiene guile))
-                                         #{ g4578 4584}#))
-                                 #{tmp 4582}#)
+                                         #{ g4588 4594}#))
+                                 #{tmp 4592}#)
                                (syntax-violation
                                  #f
                                  "source expression failed to match any pattern"
-                                 #{tmp 4581}#)))))
-                       #{tmp 4575}#)
-                     (let ((#{tmp 4587}#
+                                 #{tmp 4591}#)))))
+                       #{tmp 4585}#)
+                     (let ((#{tmp 4597}#
                              ($sc-dispatch
-                               #{tmp 4571}#
+                               #{tmp 4581}#
                                '(#(atom "list*") . #(each+ any (any) ())))))
-                       (if #{tmp 4587}#
+                       (if #{tmp 4597}#
                          (@apply
-                           (lambda (#{x 4590}# #{y 4591}#)
+                           (lambda (#{x 4600}# #{y 4601}#)
                              (letrec*
-                               ((#{f 4594}#
-                                  (lambda (#{x* 4595}#)
-                                    (if (null? #{x* 4595}#)
-                                      (#{emit 4392}# #{y 4591}#)
-                                      (let ((#{tmp 4601}#
-                                              (list (#{emit 4392}#
-                                                      (car #{x* 4595}#))
-                                                    (#{f 4594}#
-                                                      (cdr #{x* 4595}#)))))
-                                        (let ((#{tmp 4602}#
+                               ((#{f 4604}#
+                                  (lambda (#{x* 4605}#)
+                                    (if (null? #{x* 4605}#)
+                                      (#{emit 4402}# #{y 4601}#)
+                                      (let ((#{tmp 4611}#
+                                              (list (#{emit 4402}#
+                                                      (car #{x* 4605}#))
+                                                    (#{f 4604}#
+                                                      (cdr #{x* 4605}#)))))
+                                        (let ((#{tmp 4612}#
                                                 ($sc-dispatch
-                                                  #{tmp 4601}#
+                                                  #{tmp 4611}#
                                                   '(any any))))
-                                          (if #{tmp 4602}#
+                                          (if #{tmp 4612}#
                                             (@apply
-                                              (lambda (#{ g4598 4605}#
-                                                       #{ g4597 4606}#)
+                                              (lambda (#{ g4608 4615}#
+                                                       #{ g4607 4616}#)
                                                 (list '#(syntax-object
                                                          cons
                                                          ((top)
                                                           #(ribcage () () ())
                                                           #(ribcage
-                                                            #(#{ g4598}#
-                                                              #{ g4597}#)
-                                                            #((m4599 top)
-                                                              (m4599 top))
-                                                            #("i4603" "i4604"))
+                                                            #(#{ g4608}#
+                                                              #{ g4607}#)
+                                                            #((m4609 top)
+                                                              (m4609 top))
+                                                            #("i4613" "i4614"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(f x*)
                                                             #((top) (top))
-                                                            #("i4592" "i4593"))
+                                                            #("i4602" "i4603"))
                                                           #(ribcage
                                                             #(x y)
                                                             #((top) (top))
-                                                            #("i4588" "i4589"))
+                                                            #("i4598" "i4599"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(x)
                                                             #((top))
-                                                            #("i4570"))
+                                                            #("i4580"))
                                                           #(ribcage
                                                             (emit quasivector
                                                                   quasilist*
                                                              (top)
                                                              (top)
                                                              (top))
-                                                            ("i4391"
-                                                             "i4389"
-                                                             "i4387"
-                                                             "i4385"
-                                                             "i4383"
-                                                             "i4381"
-                                                             "i4379")))
+                                                            ("i4401"
+                                                             "i4399"
+                                                             "i4397"
+                                                             "i4395"
+                                                             "i4393"
+                                                             "i4391"
+                                                             "i4389")))
                                                          (hygiene guile))
-                                                      #{ g4598 4605}#
-                                                      #{ g4597 4606}#))
-                                              #{tmp 4602}#)
+                                                      #{ g4608 4615}#
+                                                      #{ g4607 4616}#))
+                                              #{tmp 4612}#)
                                             (syntax-violation
                                               #f
                                               "source expression failed to match any pattern"
-                                              #{tmp 4601}#))))))))
-                               (begin (#{f 4594}# #{x 4590}#))))
-                           #{tmp 4587}#)
-                         (let ((#{tmp 4607}#
+                                              #{tmp 4611}#))))))))
+                               (begin (#{f 4604}# #{x 4600}#))))
+                           #{tmp 4597}#)
+                         (let ((#{tmp 4617}#
                                  ($sc-dispatch
-                                   #{tmp 4571}#
+                                   #{tmp 4581}#
                                    '(#(atom "append") . each-any))))
-                           (if #{tmp 4607}#
+                           (if #{tmp 4617}#
                              (@apply
-                               (lambda (#{x 4609}#)
-                                 (let ((#{tmp 4613}#
-                                         (map #{emit 4392}# #{x 4609}#)))
-                                   (let ((#{tmp 4614}#
+                               (lambda (#{x 4619}#)
+                                 (let ((#{tmp 4623}#
+                                         (map #{emit 4402}# #{x 4619}#)))
+                                   (let ((#{tmp 4624}#
                                            ($sc-dispatch
-                                             #{tmp 4613}#
+                                             #{tmp 4623}#
                                              'each-any)))
-                                     (if #{tmp 4614}#
+                                     (if #{tmp 4624}#
                                        (@apply
-                                         (lambda (#{ g4610 4616}#)
+                                         (lambda (#{ g4620 4626}#)
                                            (cons '#(syntax-object
                                                     append
                                                     ((top)
                                                      #(ribcage () () ())
                                                      #(ribcage
-                                                       #(#{ g4610}#)
-                                                       #((m4611 top))
-                                                       #("i4615"))
+                                                       #(#{ g4620}#)
+                                                       #((m4621 top))
+                                                       #("i4625"))
                                                      #(ribcage
                                                        #(x)
                                                        #((top))
-                                                       #("i4608"))
+                                                       #("i4618"))
                                                      #(ribcage () () ())
                                                      #(ribcage
                                                        #(x)
                                                        #((top))
-                                                       #("i4570"))
+                                                       #("i4580"))
                                                      #(ribcage
                                                        (emit quasivector
                                                              quasilist*
                                                         (top)
                                                         (top)
                                                         (top))
-                                                       ("i4391"
-                                                        "i4389"
-                                                        "i4387"
-                                                        "i4385"
-                                                        "i4383"
-                                                        "i4381"
-                                                        "i4379")))
+                                                       ("i4401"
+                                                        "i4399"
+                                                        "i4397"
+                                                        "i4395"
+                                                        "i4393"
+                                                        "i4391"
+                                                        "i4389")))
                                                     (hygiene guile))
-                                                 #{ g4610 4616}#))
-                                         #{tmp 4614}#)
+                                                 #{ g4620 4626}#))
+                                         #{tmp 4624}#)
                                        (syntax-violation
                                          #f
                                          "source expression failed to match any pattern"
-                                         #{tmp 4613}#)))))
-                               #{tmp 4607}#)
-                             (let ((#{tmp 4619}#
+                                         #{tmp 4623}#)))))
+                               #{tmp 4617}#)
+                             (let ((#{tmp 4629}#
                                      ($sc-dispatch
-                                       #{tmp 4571}#
+                                       #{tmp 4581}#
                                        '(#(atom "vector") . each-any))))
-                               (if #{tmp 4619}#
+                               (if #{tmp 4629}#
                                  (@apply
-                                   (lambda (#{x 4621}#)
-                                     (let ((#{tmp 4625}#
-                                             (map #{emit 4392}# #{x 4621}#)))
-                                       (let ((#{tmp 4626}#
+                                   (lambda (#{x 4631}#)
+                                     (let ((#{tmp 4635}#
+                                             (map #{emit 4402}# #{x 4631}#)))
+                                       (let ((#{tmp 4636}#
                                                ($sc-dispatch
-                                                 #{tmp 4625}#
+                                                 #{tmp 4635}#
                                                  'each-any)))
-                                         (if #{tmp 4626}#
+                                         (if #{tmp 4636}#
                                            (@apply
-                                             (lambda (#{ g4622 4628}#)
+                                             (lambda (#{ g4632 4638}#)
                                                (cons '#(syntax-object
                                                         vector
                                                         ((top)
                                                          #(ribcage () () ())
                                                          #(ribcage
-                                                           #(#{ g4622}#)
-                                                           #((m4623 top))
-                                                           #("i4627"))
+                                                           #(#{ g4632}#)
+                                                           #((m4633 top))
+                                                           #("i4637"))
                                                          #(ribcage
                                                            #(x)
                                                            #((top))
-                                                           #("i4620"))
+                                                           #("i4630"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(x)
                                                            #((top))
-                                                           #("i4570"))
+                                                           #("i4580"))
                                                          #(ribcage
                                                            (emit quasivector
                                                                  quasilist*
                                                             (top)
                                                             (top)
                                                             (top))
-                                                           ("i4391"
-                                                            "i4389"
-                                                            "i4387"
-                                                            "i4385"
-                                                            "i4383"
-                                                            "i4381"
-                                                            "i4379")))
+                                                           ("i4401"
+                                                            "i4399"
+                                                            "i4397"
+                                                            "i4395"
+                                                            "i4393"
+                                                            "i4391"
+                                                            "i4389")))
                                                         (hygiene guile))
-                                                     #{ g4622 4628}#))
-                                             #{tmp 4626}#)
+                                                     #{ g4632 4638}#))
+                                             #{tmp 4636}#)
                                            (syntax-violation
                                              #f
                                              "source expression failed to match any pattern"
-                                             #{tmp 4625}#)))))
-                                   #{tmp 4619}#)
-                                 (let ((#{tmp 4631}#
+                                             #{tmp 4635}#)))))
+                                   #{tmp 4629}#)
+                                 (let ((#{tmp 4641}#
                                          ($sc-dispatch
-                                           #{tmp 4571}#
+                                           #{tmp 4581}#
                                            '(#(atom "list->vector") any))))
-                                   (if #{tmp 4631}#
+                                   (if #{tmp 4641}#
                                      (@apply
-                                       (lambda (#{x 4633}#)
-                                         (let ((#{tmp 4637}#
-                                                 (#{emit 4392}# #{x 4633}#)))
-                                           (let ((#{ g4634 4639}#
-                                                   #{tmp 4637}#))
+                                       (lambda (#{x 4643}#)
+                                         (let ((#{tmp 4647}#
+                                                 (#{emit 4402}# #{x 4643}#)))
+                                           (let ((#{ g4644 4649}#
+                                                   #{tmp 4647}#))
                                              (list '#(syntax-object
                                                       list->vector
                                                       ((top)
                                                        #(ribcage () () ())
                                                        #(ribcage
-                                                         #(#{ g4634}#)
-                                                         #((m4635 top))
-                                                         #("i4638"))
+                                                         #(#{ g4644}#)
+                                                         #((m4645 top))
+                                                         #("i4648"))
                                                        #(ribcage
                                                          #(x)
                                                          #((top))
-                                                         #("i4632"))
+                                                         #("i4642"))
                                                        #(ribcage () () ())
                                                        #(ribcage
                                                          #(x)
                                                          #((top))
-                                                         #("i4570"))
+                                                         #("i4580"))
                                                        #(ribcage
                                                          (emit quasivector
                                                                quasilist*
                                                           (top)
                                                           (top)
                                                           (top))
-                                                         ("i4391"
-                                                          "i4389"
-                                                          "i4387"
-                                                          "i4385"
-                                                          "i4383"
-                                                          "i4381"
-                                                          "i4379")))
+                                                         ("i4401"
+                                                          "i4399"
+                                                          "i4397"
+                                                          "i4395"
+                                                          "i4393"
+                                                          "i4391"
+                                                          "i4389")))
                                                       (hygiene guile))
-                                                   #{ g4634 4639}#))))
-                                       #{tmp 4631}#)
-                                     (let ((#{tmp 4640}#
+                                                   #{ g4644 4649}#))))
+                                       #{tmp 4641}#)
+                                     (let ((#{tmp 4650}#
                                              ($sc-dispatch
-                                               #{tmp 4571}#
+                                               #{tmp 4581}#
                                                '(#(atom "value") any))))
-                                       (if #{tmp 4640}#
+                                       (if #{tmp 4650}#
                                          (@apply
-                                           (lambda (#{x 4642}#) #{x 4642}#)
-                                           #{tmp 4640}#)
+                                           (lambda (#{x 4652}#) #{x 4652}#)
+                                           #{tmp 4650}#)
                                          (syntax-violation
                                            #f
                                            "source expression failed to match any pattern"
-                                           #{tmp 4571}#)))))))))))))))))))
+                                           #{tmp 4581}#)))))))))))))))))))
       (begin
-        (lambda (#{x 4643}#)
-          (let ((#{tmp 4645}# #{x 4643}#))
-            (let ((#{tmp 4646}#
-                    ($sc-dispatch #{tmp 4645}# '(_ any))))
-              (if #{tmp 4646}#
+        (lambda (#{x 4653}#)
+          (let ((#{tmp 4655}# #{x 4653}#))
+            (let ((#{tmp 4656}#
+                    ($sc-dispatch #{tmp 4655}# '(_ any))))
+              (if #{tmp 4656}#
                 (@apply
-                  (lambda (#{e 4648}#)
-                    (#{emit 4392}# (#{quasi 4380}# #{e 4648}# 0)))
-                  #{tmp 4646}#)
+                  (lambda (#{e 4658}#)
+                    (#{emit 4402}# (#{quasi 4390}# #{e 4658}# 0)))
+                  #{tmp 4656}#)
                 (syntax-violation
                   #f
                   "source expression failed to match any pattern"
-                  #{tmp 4645}#)))))))))
+                  #{tmp 4655}#)))))))))
 
 (define include
   (make-syntax-transformer
     'include
     'macro
-    (lambda (#{x 4649}#)
+    (lambda (#{x 4659}#)
       (letrec*
-        ((#{read-file 4652}#
-           (lambda (#{fn 4653}# #{k 4654}#)
+        ((#{read-file 4662}#
+           (lambda (#{fn 4663}# #{k 4664}#)
              (begin
-               (let ((#{p 4658}# (open-input-file #{fn 4653}#)))
+               (let ((#{p 4668}# (open-input-file #{fn 4663}#)))
                  (letrec*
-                   ((#{f 4662}#
-                      (lambda (#{x 4663}# #{result 4664}#)
-                        (if (eof-object? #{x 4663}#)
+                   ((#{f 4672}#
+                      (lambda (#{x 4673}# #{result 4674}#)
+                        (if (eof-object? #{x 4673}#)
                           (begin
-                            (close-input-port #{p 4658}#)
-                            (reverse #{result 4664}#))
-                          (#{f 4662}#
-                            (read #{p 4658}#)
-                            (cons (datum->syntax #{k 4654}# #{x 4663}#)
-                                  #{result 4664}#))))))
-                   (begin (#{f 4662}# (read #{p 4658}#) '()))))))))
+                            (close-input-port #{p 4668}#)
+                            (reverse #{result 4674}#))
+                          (#{f 4672}#
+                            (read #{p 4668}#)
+                            (cons (datum->syntax #{k 4664}# #{x 4673}#)
+                                  #{result 4674}#))))))
+                   (begin (#{f 4672}# (read #{p 4668}#) '()))))))))
         (begin
-          (let ((#{tmp 4665}# #{x 4649}#))
-            (let ((#{tmp 4666}#
-                    ($sc-dispatch #{tmp 4665}# '(any any))))
-              (if #{tmp 4666}#
+          (let ((#{tmp 4675}# #{x 4659}#))
+            (let ((#{tmp 4676}#
+                    ($sc-dispatch #{tmp 4675}# '(any any))))
+              (if #{tmp 4676}#
                 (@apply
-                  (lambda (#{k 4669}# #{filename 4670}#)
+                  (lambda (#{k 4679}# #{filename 4680}#)
                     (begin
-                      (let ((#{fn 4672}# (syntax->datum #{filename 4670}#)))
-                        (let ((#{tmp 4674}#
-                                (#{read-file 4652}#
-                                  #{fn 4672}#
-                                  #{filename 4670}#)))
-                          (let ((#{tmp 4675}#
-                                  ($sc-dispatch #{tmp 4674}# 'each-any)))
-                            (if #{tmp 4675}#
+                      (let ((#{fn 4682}# (syntax->datum #{filename 4680}#)))
+                        (let ((#{tmp 4684}#
+                                (#{read-file 4662}#
+                                  #{fn 4682}#
+                                  #{filename 4680}#)))
+                          (let ((#{tmp 4685}#
+                                  ($sc-dispatch #{tmp 4684}# 'each-any)))
+                            (if #{tmp 4685}#
                               (@apply
-                                (lambda (#{exp 4677}#)
+                                (lambda (#{exp 4687}#)
                                   (cons '#(syntax-object
                                            begin
                                            ((top)
                                             #(ribcage
                                               #(exp)
                                               #((top))
-                                              #("i4676"))
+                                              #("i4686"))
                                             #(ribcage () () ())
                                             #(ribcage () () ())
                                             #(ribcage
                                               #(fn)
                                               #((top))
-                                              #("i4671"))
+                                              #("i4681"))
                                             #(ribcage
                                               #(k filename)
                                               #((top) (top))
-                                              #("i4667" "i4668"))
+                                              #("i4677" "i4678"))
                                             #(ribcage
                                               (read-file)
                                               ((top))
-                                              ("i4651"))
+                                              ("i4661"))
                                             #(ribcage
                                               #(x)
                                               #((top))
-                                              #("i4650")))
+                                              #("i4660")))
                                            (hygiene guile))
-                                        #{exp 4677}#))
-                                #{tmp 4675}#)
+                                        #{exp 4687}#))
+                                #{tmp 4685}#)
                               (syntax-violation
                                 #f
                                 "source expression failed to match any pattern"
-                                #{tmp 4674}#)))))))
-                  #{tmp 4666}#)
+                                #{tmp 4684}#)))))))
+                  #{tmp 4676}#)
                 (syntax-violation
                   #f
                   "source expression failed to match any pattern"
-                  #{tmp 4665}#)))))))))
+                  #{tmp 4675}#)))))))))
 
 (define include-from-path
   (make-syntax-transformer
     'include-from-path
     'macro
-    (lambda (#{x 4679}#)
-      (let ((#{tmp 4681}# #{x 4679}#))
-        (let ((#{tmp 4682}#
-                ($sc-dispatch #{tmp 4681}# '(any any))))
-          (if #{tmp 4682}#
+    (lambda (#{x 4689}#)
+      (let ((#{tmp 4691}# #{x 4689}#))
+        (let ((#{tmp 4692}#
+                ($sc-dispatch #{tmp 4691}# '(any any))))
+          (if #{tmp 4692}#
             (@apply
-              (lambda (#{k 4685}# #{filename 4686}#)
+              (lambda (#{k 4695}# #{filename 4696}#)
                 (begin
-                  (let ((#{fn 4688}# (syntax->datum #{filename 4686}#)))
-                    (let ((#{tmp 4690}#
+                  (let ((#{fn 4698}# (syntax->datum #{filename 4696}#)))
+                    (let ((#{tmp 4700}#
                             (datum->syntax
-                              #{filename 4686}#
+                              #{filename 4696}#
                               (begin
-                                (let ((#{t 4695}#
-                                        (%search-load-path #{fn 4688}#)))
-                                  (if #{t 4695}#
-                                    #{t 4695}#
+                                (let ((#{t 4705}#
+                                        (%search-load-path #{fn 4698}#)))
+                                  (if #{t 4705}#
+                                    #{t 4705}#
                                     (syntax-violation
                                       'include-from-path
                                       "file not found in path"
-                                      #{x 4679}#
-                                      #{filename 4686}#)))))))
-                      (let ((#{fn 4692}# #{tmp 4690}#))
+                                      #{x 4689}#
+                                      #{filename 4696}#)))))))
+                      (let ((#{fn 4702}# #{tmp 4700}#))
                         (list '#(syntax-object
                                  include
                                  ((top)
                                   #(ribcage () () ())
-                                  #(ribcage #(fn) #((top)) #("i4691"))
+                                  #(ribcage #(fn) #((top)) #("i4701"))
                                   #(ribcage () () ())
                                   #(ribcage () () ())
-                                  #(ribcage #(fn) #((top)) #("i4687"))
+                                  #(ribcage #(fn) #((top)) #("i4697"))
                                   #(ribcage
                                     #(k filename)
                                     #((top) (top))
-                                    #("i4683" "i4684"))
+                                    #("i4693" "i4694"))
                                   #(ribcage () () ())
-                                  #(ribcage #(x) #((top)) #("i4680")))
+                                  #(ribcage #(x) #((top)) #("i4690")))
                                  (hygiene guile))
-                              #{fn 4692}#))))))
-              #{tmp 4682}#)
+                              #{fn 4702}#))))))
+              #{tmp 4692}#)
             (syntax-violation
               #f
               "source expression failed to match any pattern"
-              #{tmp 4681}#)))))))
+              #{tmp 4691}#)))))))
 
 (define unquote
   (make-syntax-transformer
     'unquote
     'macro
-    (lambda (#{x 4697}#)
+    (lambda (#{x 4707}#)
       (syntax-violation
         'unquote
         "expression not valid outside of quasiquote"
-        #{x 4697}#))))
+        #{x 4707}#))))
 
 (define unquote-splicing
   (make-syntax-transformer
     'unquote-splicing
     'macro
-    (lambda (#{x 4699}#)
+    (lambda (#{x 4709}#)
       (syntax-violation
         'unquote-splicing
         "expression not valid outside of quasiquote"
-        #{x 4699}#))))
+        #{x 4709}#))))
 
 (define case
   (make-syntax-transformer
     'case
     'macro
-    (lambda (#{x 4701}#)
-      (let ((#{tmp 4703}# #{x 4701}#))
-        (let ((#{tmp 4704}#
+    (lambda (#{x 4711}#)
+      (let ((#{tmp 4713}# #{x 4711}#))
+        (let ((#{tmp 4714}#
                 ($sc-dispatch
-                  #{tmp 4703}#
+                  #{tmp 4713}#
                   '(_ any any . each-any))))
-          (if #{tmp 4704}#
+          (if #{tmp 4714}#
             (@apply
-              (lambda (#{e 4708}# #{m1 4709}# #{m2 4710}#)
-                (let ((#{tmp 4712}#
+              (lambda (#{e 4718}# #{m1 4719}# #{m2 4720}#)
+                (let ((#{tmp 4722}#
                         (letrec*
-                          ((#{f 4718}#
-                             (lambda (#{clause 4719}# #{clauses 4720}#)
-                               (if (null? #{clauses 4720}#)
-                                 (let ((#{tmp 4722}# #{clause 4719}#))
-                                   (let ((#{tmp 4723}#
+                          ((#{f 4728}#
+                             (lambda (#{clause 4729}# #{clauses 4730}#)
+                               (if (null? #{clauses 4730}#)
+                                 (let ((#{tmp 4732}# #{clause 4729}#))
+                                   (let ((#{tmp 4733}#
                                            ($sc-dispatch
-                                             #{tmp 4722}#
+                                             #{tmp 4732}#
                                              '(#(free-id
                                                  #(syntax-object
                                                    else
                                                     #(ribcage
                                                       #(f clause clauses)
                                                       #((top) (top) (top))
-                                                      #("i4715"
-                                                        "i4716"
-                                                        "i4717"))
+                                                      #("i4725"
+                                                        "i4726"
+                                                        "i4727"))
                                                     #(ribcage
                                                       #(e m1 m2)
                                                       #((top) (top) (top))
-                                                      #("i4705"
-                                                        "i4706"
-                                                        "i4707"))
+                                                      #("i4715"
+                                                        "i4716"
+                                                        "i4717"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(x)
                                                       #((top))
-                                                      #("i4702")))
+                                                      #("i4712")))
                                                    (hygiene guile)))
                                                any
                                                .
                                                each-any))))
-                                     (if #{tmp 4723}#
+                                     (if #{tmp 4733}#
                                        (@apply
-                                         (lambda (#{e1 4726}# #{e2 4727}#)
+                                         (lambda (#{e1 4736}# #{e2 4737}#)
                                            (cons '#(syntax-object
                                                     begin
                                                     ((top)
                                                      #(ribcage
                                                        #(e1 e2)
                                                        #((top) (top))
-                                                       #("i4724" "i4725"))
+                                                       #("i4734" "i4735"))
                                                      #(ribcage () () ())
                                                      #(ribcage
                                                        #(f clause clauses)
                                                        #((top) (top) (top))
-                                                       #("i4715"
-                                                         "i4716"
-                                                         "i4717"))
+                                                       #("i4725"
+                                                         "i4726"
+                                                         "i4727"))
                                                      #(ribcage
                                                        #(e m1 m2)
                                                        #((top) (top) (top))
-                                                       #("i4705"
-                                                         "i4706"
-                                                         "i4707"))
+                                                       #("i4715"
+                                                         "i4716"
+                                                         "i4717"))
                                                      #(ribcage () () ())
                                                      #(ribcage
                                                        #(x)
                                                        #((top))
-                                                       #("i4702")))
+                                                       #("i4712")))
                                                     (hygiene guile))
-                                                 (cons #{e1 4726}#
-                                                       #{e2 4727}#)))
-                                         #{tmp 4723}#)
-                                       (let ((#{tmp 4729}#
+                                                 (cons #{e1 4736}#
+                                                       #{e2 4737}#)))
+                                         #{tmp 4733}#)
+                                       (let ((#{tmp 4739}#
                                                ($sc-dispatch
-                                                 #{tmp 4722}#
+                                                 #{tmp 4732}#
                                                  '(each-any any . each-any))))
-                                         (if #{tmp 4729}#
+                                         (if #{tmp 4739}#
                                            (@apply
-                                             (lambda (#{k 4733}#
-                                                      #{e1 4734}#
-                                                      #{e2 4735}#)
+                                             (lambda (#{k 4743}#
+                                                      #{e1 4744}#
+                                                      #{e2 4745}#)
                                                (list '#(syntax-object
                                                         if
                                                         ((top)
                                                          #(ribcage
                                                            #(k e1 e2)
                                                            #((top) (top) (top))
-                                                           #("i4730"
-                                                             "i4731"
-                                                             "i4732"))
+                                                           #("i4740"
+                                                             "i4741"
+                                                             "i4742"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(f clause clauses)
                                                            #((top) (top) (top))
-                                                           #("i4715"
-                                                             "i4716"
-                                                             "i4717"))
+                                                           #("i4725"
+                                                             "i4726"
+                                                             "i4727"))
                                                          #(ribcage
                                                            #(e m1 m2)
                                                            #((top) (top) (top))
-                                                           #("i4705"
-                                                             "i4706"
-                                                             "i4707"))
+                                                           #("i4715"
+                                                             "i4716"
+                                                             "i4717"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(x)
                                                            #((top))
-                                                           #("i4702")))
+                                                           #("i4712")))
                                                         (hygiene guile))
                                                      (list '#(syntax-object
                                                               memv
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4730"
-                                                                   "i4731"
-                                                                   "i4732"))
+                                                                 #("i4740"
+                                                                   "i4741"
+                                                                   "i4742"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4715"
-                                                                   "i4716"
-                                                                   "i4717"))
+                                                                 #("i4725"
+                                                                   "i4726"
+                                                                   "i4727"))
                                                                #(ribcage
                                                                  #(e m1 m2)
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4705"
-                                                                   "i4706"
-                                                                   "i4707"))
+                                                                 #("i4715"
+                                                                   "i4716"
+                                                                   "i4717"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
                                                                #(ribcage
                                                                  #(x)
                                                                  #((top))
-                                                                 #("i4702")))
+                                                                 #("i4712")))
                                                               (hygiene guile))
                                                            '#(syntax-object
                                                               t
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4730"
-                                                                   "i4731"
-                                                                   "i4732"))
+                                                                 #("i4740"
+                                                                   "i4741"
+                                                                   "i4742"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4715"
-                                                                   "i4716"
-                                                                   "i4717"))
+                                                                 #("i4725"
+                                                                   "i4726"
+                                                                   "i4727"))
                                                                #(ribcage
                                                                  #(e m1 m2)
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4705"
-                                                                   "i4706"
-                                                                   "i4707"))
+                                                                 #("i4715"
+                                                                   "i4716"
+                                                                   "i4717"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
                                                                #(ribcage
                                                                  #(x)
                                                                  #((top))
-                                                                 #("i4702")))
+                                                                 #("i4712")))
                                                               (hygiene guile))
                                                            (list '#(syntax-object
                                                                     quote
                                                                        #((top)
                                                                          (top)
                                                                          (top))
-                                                                       #("i4730"
-                                                                         "i4731"
-                                                                         "i4732"))
+                                                                       #("i4740"
+                                                                         "i4741"
+                                                                         "i4742"))
                                                                      #(ribcage
                                                                        ()
                                                                        ()
                                                                        #((top)
                                                                          (top)
                                                                          (top))
-                                                                       #("i4715"
-                                                                         "i4716"
-                                                                         "i4717"))
+                                                                       #("i4725"
+                                                                         "i4726"
+                                                                         "i4727"))
                                                                      #(ribcage
                                                                        #(e
                                                                          m1
                                                                        #((top)
                                                                          (top)
                                                                          (top))
-                                                                       #("i4705"
-                                                                         "i4706"
-                                                                         "i4707"))
+                                                                       #("i4715"
+                                                                         "i4716"
+                                                                         "i4717"))
                                                                      #(ribcage
                                                                        ()
                                                                        ()
                                                                      #(ribcage
                                                                        #(x)
                                                                        #((top))
-                                                                       #("i4702")))
+                                                                       #("i4712")))
                                                                     (hygiene
                                                                       guile))
-                                                                 #{k 4733}#))
+                                                                 #{k 4743}#))
                                                      (cons '#(syntax-object
                                                               begin
                                                               ((top)
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4730"
-                                                                   "i4731"
-                                                                   "i4732"))
+                                                                 #("i4740"
+                                                                   "i4741"
+                                                                   "i4742"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4715"
-                                                                   "i4716"
-                                                                   "i4717"))
+                                                                 #("i4725"
+                                                                   "i4726"
+                                                                   "i4727"))
                                                                #(ribcage
                                                                  #(e m1 m2)
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4705"
-                                                                   "i4706"
-                                                                   "i4707"))
+                                                                 #("i4715"
+                                                                   "i4716"
+                                                                   "i4717"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
                                                                #(ribcage
                                                                  #(x)
                                                                  #((top))
-                                                                 #("i4702")))
+                                                                 #("i4712")))
                                                               (hygiene guile))
-                                                           (cons #{e1 4734}#
-                                                                 #{e2 4735}#))))
-                                             #{tmp 4729}#)
-                                           (let ((#{_ 4739}# #{tmp 4722}#))
+                                                           (cons #{e1 4744}#
+                                                                 #{e2 4745}#))))
+                                             #{tmp 4739}#)
+                                           (let ((#{_ 4749}# #{tmp 4732}#))
                                              (syntax-violation
                                                'case
                                                "bad clause"
-                                               #{x 4701}#
-                                               #{clause 4719}#)))))))
-                                 (let ((#{tmp 4741}#
-                                         (#{f 4718}#
-                                           (car #{clauses 4720}#)
-                                           (cdr #{clauses 4720}#))))
-                                   (let ((#{rest 4743}# #{tmp 4741}#))
-                                     (let ((#{tmp 4744}# #{clause 4719}#))
-                                       (let ((#{tmp 4745}#
+                                               #{x 4711}#
+                                               #{clause 4729}#)))))))
+                                 (let ((#{tmp 4751}#
+                                         (#{f 4728}#
+                                           (car #{clauses 4730}#)
+                                           (cdr #{clauses 4730}#))))
+                                   (let ((#{rest 4753}# #{tmp 4751}#))
+                                     (let ((#{tmp 4754}# #{clause 4729}#))
+                                       (let ((#{tmp 4755}#
                                                ($sc-dispatch
-                                                 #{tmp 4744}#
+                                                 #{tmp 4754}#
                                                  '(each-any any . each-any))))
-                                         (if #{tmp 4745}#
+                                         (if #{tmp 4755}#
                                            (@apply
-                                             (lambda (#{k 4749}#
-                                                      #{e1 4750}#
-                                                      #{e2 4751}#)
+                                             (lambda (#{k 4759}#
+                                                      #{e1 4760}#
+                                                      #{e2 4761}#)
                                                (list '#(syntax-object
                                                         if
                                                         ((top)
                                                          #(ribcage
                                                            #(k e1 e2)
                                                            #((top) (top) (top))
-                                                           #("i4746"
-                                                             "i4747"
-                                                             "i4748"))
+                                                           #("i4756"
+                                                             "i4757"
+                                                             "i4758"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(rest)
                                                            #((top))
-                                                           #("i4742"))
+                                                           #("i4752"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(f clause clauses)
                                                            #((top) (top) (top))
-                                                           #("i4715"
-                                                             "i4716"
-                                                             "i4717"))
+                                                           #("i4725"
+                                                             "i4726"
+                                                             "i4727"))
                                                          #(ribcage
                                                            #(e m1 m2)
                                                            #((top) (top) (top))
-                                                           #("i4705"
-                                                             "i4706"
-                                                             "i4707"))
+                                                           #("i4715"
+                                                             "i4716"
+                                                             "i4717"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(x)
                                                            #((top))
-                                                           #("i4702")))
+                                                           #("i4712")))
                                                         (hygiene guile))
                                                      (list '#(syntax-object
                                                               memv
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4746"
-                                                                   "i4747"
-                                                                   "i4748"))
+                                                                 #("i4756"
+                                                                   "i4757"
+                                                                   "i4758"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
                                                                #(ribcage
                                                                  #(rest)
                                                                  #((top))
-                                                                 #("i4742"))
+                                                                 #("i4752"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4715"
-                                                                   "i4716"
-                                                                   "i4717"))
+                                                                 #("i4725"
+                                                                   "i4726"
+                                                                   "i4727"))
                                                                #(ribcage
                                                                  #(e m1 m2)
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4705"
-                                                                   "i4706"
-                                                                   "i4707"))
+                                                                 #("i4715"
+                                                                   "i4716"
+                                                                   "i4717"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
                                                                #(ribcage
                                                                  #(x)
                                                                  #((top))
-                                                                 #("i4702")))
+                                                                 #("i4712")))
                                                               (hygiene guile))
                                                            '#(syntax-object
                                                               t
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4746"
-                                                                   "i4747"
-                                                                   "i4748"))
+                                                                 #("i4756"
+                                                                   "i4757"
+                                                                   "i4758"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
                                                                #(ribcage
                                                                  #(rest)
                                                                  #((top))
-                                                                 #("i4742"))
+                                                                 #("i4752"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4715"
-                                                                   "i4716"
-                                                                   "i4717"))
+                                                                 #("i4725"
+                                                                   "i4726"
+                                                                   "i4727"))
                                                                #(ribcage
                                                                  #(e m1 m2)
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4705"
-                                                                   "i4706"
-                                                                   "i4707"))
+                                                                 #("i4715"
+                                                                   "i4716"
+                                                                   "i4717"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
                                                                #(ribcage
                                                                  #(x)
                                                                  #((top))
-                                                                 #("i4702")))
+                                                                 #("i4712")))
                                                               (hygiene guile))
                                                            (list '#(syntax-object
                                                                     quote
                                                                        #((top)
                                                                          (top)
                                                                          (top))
-                                                                       #("i4746"
-                                                                         "i4747"
-                                                                         "i4748"))
+                                                                       #("i4756"
+                                                                         "i4757"
+                                                                         "i4758"))
                                                                      #(ribcage
                                                                        ()
                                                                        ()
                                                                      #(ribcage
                                                                        #(rest)
                                                                        #((top))
-                                                                       #("i4742"))
+                                                                       #("i4752"))
                                                                      #(ribcage
                                                                        ()
                                                                        ()
                                                                        #((top)
                                                                          (top)
                                                                          (top))
-                                                                       #("i4715"
-                                                                         "i4716"
-                                                                         "i4717"))
+                                                                       #("i4725"
+                                                                         "i4726"
+                                                                         "i4727"))
                                                                      #(ribcage
                                                                        #(e
                                                                          m1
                                                                        #((top)
                                                                          (top)
                                                                          (top))
-                                                                       #("i4705"
-                                                                         "i4706"
-                                                                         "i4707"))
+                                                                       #("i4715"
+                                                                         "i4716"
+                                                                         "i4717"))
                                                                      #(ribcage
                                                                        ()
                                                                        ()
                                                                      #(ribcage
                                                                        #(x)
                                                                        #((top))
-                                                                       #("i4702")))
+                                                                       #("i4712")))
                                                                     (hygiene
                                                                       guile))
-                                                                 #{k 4749}#))
+                                                                 #{k 4759}#))
                                                      (cons '#(syntax-object
                                                               begin
                                                               ((top)
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4746"
-                                                                   "i4747"
-                                                                   "i4748"))
+                                                                 #("i4756"
+                                                                   "i4757"
+                                                                   "i4758"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
                                                                #(ribcage
                                                                  #(rest)
                                                                  #((top))
-                                                                 #("i4742"))
+                                                                 #("i4752"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4715"
-                                                                   "i4716"
-                                                                   "i4717"))
+                                                                 #("i4725"
+                                                                   "i4726"
+                                                                   "i4727"))
                                                                #(ribcage
                                                                  #(e m1 m2)
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4705"
-                                                                   "i4706"
-                                                                   "i4707"))
+                                                                 #("i4715"
+                                                                   "i4716"
+                                                                   "i4717"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
                                                                #(ribcage
                                                                  #(x)
                                                                  #((top))
-                                                                 #("i4702")))
+                                                                 #("i4712")))
                                                               (hygiene guile))
-                                                           (cons #{e1 4750}#
-                                                                 #{e2 4751}#))
-                                                     #{rest 4743}#))
-                                             #{tmp 4745}#)
-                                           (let ((#{_ 4755}# #{tmp 4744}#))
+                                                           (cons #{e1 4760}#
+                                                                 #{e2 4761}#))
+                                                     #{rest 4753}#))
+                                             #{tmp 4755}#)
+                                           (let ((#{_ 4765}# #{tmp 4754}#))
                                              (syntax-violation
                                                'case
                                                "bad clause"
-                                               #{x 4701}#
-                                               #{clause 4719}#)))))))))))
-                          (begin (#{f 4718}# #{m1 4709}# #{m2 4710}#)))))
-                  (let ((#{body 4714}# #{tmp 4712}#))
+                                               #{x 4711}#
+                                               #{clause 4729}#)))))))))))
+                          (begin (#{f 4728}# #{m1 4719}# #{m2 4720}#)))))
+                  (let ((#{body 4724}# #{tmp 4722}#))
                     (list '#(syntax-object
                              let
                              ((top)
                               #(ribcage () () ())
-                              #(ribcage #(body) #((top)) #("i4713"))
+                              #(ribcage #(body) #((top)) #("i4723"))
                               #(ribcage
                                 #(e m1 m2)
                                 #((top) (top) (top))
-                                #("i4705" "i4706" "i4707"))
+                                #("i4715" "i4716" "i4717"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i4702")))
+                              #(ribcage #(x) #((top)) #("i4712")))
                              (hygiene guile))
                           (list (list '#(syntax-object
                                          t
                                           #(ribcage
                                             #(body)
                                             #((top))
-                                            #("i4713"))
+                                            #("i4723"))
                                           #(ribcage
                                             #(e m1 m2)
                                             #((top) (top) (top))
-                                            #("i4705" "i4706" "i4707"))
+                                            #("i4715" "i4716" "i4717"))
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i4702")))
+                                          #(ribcage #(x) #((top)) #("i4712")))
                                          (hygiene guile))
-                                      #{e 4708}#))
-                          #{body 4714}#))))
-              #{tmp 4704}#)
+                                      #{e 4718}#))
+                          #{body 4724}#))))
+              #{tmp 4714}#)
             (syntax-violation
               #f
               "source expression failed to match any pattern"
-              #{tmp 4703}#)))))))
+              #{tmp 4713}#)))))))
 
 (define make-variable-transformer
-  (lambda (#{proc 4756}#)
-    (if (procedure? #{proc 4756}#)
+  (lambda (#{proc 4766}#)
+    (if (procedure? #{proc 4766}#)
       (begin
         (letrec*
-          ((#{trans 4759}#
-             (lambda (#{x 4760}#) (#{proc 4756}# #{x 4760}#))))
+          ((#{trans 4769}#
+             (lambda (#{x 4770}#) (#{proc 4766}# #{x 4770}#))))
           (begin
             (set-procedure-property!
-              #{trans 4759}#
+              #{trans 4769}#
               'variable-transformer
               #t)
-            #{trans 4759}#)))
+            #{trans 4769}#)))
       (error "variable transformer not a procedure"
-             #{proc 4756}#))))
+             #{proc 4766}#))))
 
 (define identifier-syntax
   (make-syntax-transformer
     'identifier-syntax
     'macro
-    (lambda (#{x 4762}#)
-      (let ((#{tmp 4764}# #{x 4762}#))
-        (let ((#{tmp 4765}#
-                ($sc-dispatch #{tmp 4764}# '(_ any))))
-          (if #{tmp 4765}#
+    (lambda (#{x 4772}#)
+      (let ((#{tmp 4774}# #{x 4772}#))
+        (let ((#{tmp 4775}#
+                ($sc-dispatch #{tmp 4774}# '(_ any))))
+          (if #{tmp 4775}#
             (@apply
-              (lambda (#{e 4767}#)
+              (lambda (#{e 4777}#)
                 (list '#(syntax-object
                          lambda
                          ((top)
-                          #(ribcage #(e) #((top)) #("i4766"))
+                          #(ribcage #(e) #((top)) #("i4776"))
                           #(ribcage () () ())
-                          #(ribcage #(x) #((top)) #("i4763")))
+                          #(ribcage #(x) #((top)) #("i4773")))
                          (hygiene guile))
                       '(#(syntax-object
                           x
                           ((top)
-                           #(ribcage #(e) #((top)) #("i4766"))
+                           #(ribcage #(e) #((top)) #("i4776"))
                            #(ribcage () () ())
-                           #(ribcage #(x) #((top)) #("i4763")))
+                           #(ribcage #(x) #((top)) #("i4773")))
                           (hygiene guile)))
                       '#((#(syntax-object
                             macro-type
                             ((top)
-                             #(ribcage #(e) #((top)) #("i4766"))
+                             #(ribcage #(e) #((top)) #("i4776"))
                              #(ribcage () () ())
-                             #(ribcage #(x) #((top)) #("i4763")))
+                             #(ribcage #(x) #((top)) #("i4773")))
                             (hygiene guile))
                           .
                           #(syntax-object
                             identifier-syntax
                             ((top)
-                             #(ribcage #(e) #((top)) #("i4766"))
+                             #(ribcage #(e) #((top)) #("i4776"))
                              #(ribcage () () ())
-                             #(ribcage #(x) #((top)) #("i4763")))
+                             #(ribcage #(x) #((top)) #("i4773")))
                             (hygiene guile))))
                       (list '#(syntax-object
                                syntax-case
                                ((top)
-                                #(ribcage #(e) #((top)) #("i4766"))
+                                #(ribcage #(e) #((top)) #("i4776"))
                                 #(ribcage () () ())
-                                #(ribcage #(x) #((top)) #("i4763")))
+                                #(ribcage #(x) #((top)) #("i4773")))
                                (hygiene guile))
                             '#(syntax-object
                                x
                                ((top)
-                                #(ribcage #(e) #((top)) #("i4766"))
+                                #(ribcage #(e) #((top)) #("i4776"))
                                 #(ribcage () () ())
-                                #(ribcage #(x) #((top)) #("i4763")))
+                                #(ribcage #(x) #((top)) #("i4773")))
                                (hygiene guile))
                             '()
                             (list '#(syntax-object
                                      id
                                      ((top)
-                                      #(ribcage #(e) #((top)) #("i4766"))
+                                      #(ribcage #(e) #((top)) #("i4776"))
                                       #(ribcage () () ())
-                                      #(ribcage #(x) #((top)) #("i4763")))
+                                      #(ribcage #(x) #((top)) #("i4773")))
                                      (hygiene guile))
                                   '(#(syntax-object
                                       identifier?
                                       ((top)
-                                       #(ribcage #(e) #((top)) #("i4766"))
+                                       #(ribcage #(e) #((top)) #("i4776"))
                                        #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i4763")))
+                                       #(ribcage #(x) #((top)) #("i4773")))
                                       (hygiene guile))
                                     (#(syntax-object
                                        syntax
                                        ((top)
-                                        #(ribcage #(e) #((top)) #("i4766"))
+                                        #(ribcage #(e) #((top)) #("i4776"))
                                         #(ribcage () () ())
-                                        #(ribcage #(x) #((top)) #("i4763")))
+                                        #(ribcage #(x) #((top)) #("i4773")))
                                        (hygiene guile))
                                      #(syntax-object
                                        id
                                        ((top)
-                                        #(ribcage #(e) #((top)) #("i4766"))
+                                        #(ribcage #(e) #((top)) #("i4776"))
                                         #(ribcage () () ())
-                                        #(ribcage #(x) #((top)) #("i4763")))
+                                        #(ribcage #(x) #((top)) #("i4773")))
                                        (hygiene guile))))
                                   (list '#(syntax-object
                                            syntax
                                            ((top)
-                                            #(ribcage #(e) #((top)) #("i4766"))
+                                            #(ribcage #(e) #((top)) #("i4776"))
                                             #(ribcage () () ())
                                             #(ribcage
                                               #(x)
                                               #((top))
-                                              #("i4763")))
+                                              #("i4773")))
                                            (hygiene guile))
-                                        #{e 4767}#))
+                                        #{e 4777}#))
                             (list '(#(syntax-object
                                       _
                                       ((top)
-                                       #(ribcage #(e) #((top)) #("i4766"))
+                                       #(ribcage #(e) #((top)) #("i4776"))
                                        #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i4763")))
+                                       #(ribcage #(x) #((top)) #("i4773")))
                                       (hygiene guile))
                                     #(syntax-object
                                       x
                                       ((top)
-                                       #(ribcage #(e) #((top)) #("i4766"))
+                                       #(ribcage #(e) #((top)) #("i4776"))
                                        #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i4763")))
+                                       #(ribcage #(x) #((top)) #("i4773")))
                                       (hygiene guile))
                                     #(syntax-object
                                       ...
                                       ((top)
-                                       #(ribcage #(e) #((top)) #("i4766"))
+                                       #(ribcage #(e) #((top)) #("i4776"))
                                        #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i4763")))
+                                       #(ribcage #(x) #((top)) #("i4773")))
                                       (hygiene guile)))
                                   (list '#(syntax-object
                                            syntax
                                            ((top)
-                                            #(ribcage #(e) #((top)) #("i4766"))
+                                            #(ribcage #(e) #((top)) #("i4776"))
                                             #(ribcage () () ())
                                             #(ribcage
                                               #(x)
                                               #((top))
-                                              #("i4763")))
+                                              #("i4773")))
                                            (hygiene guile))
-                                        (cons #{e 4767}#
+                                        (cons #{e 4777}#
                                               '(#(syntax-object
                                                   x
                                                   ((top)
                                                    #(ribcage
                                                      #(e)
                                                      #((top))
-                                                     #("i4766"))
+                                                     #("i4776"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x)
                                                      #((top))
-                                                     #("i4763")))
+                                                     #("i4773")))
                                                   (hygiene guile))
                                                 #(syntax-object
                                                   ...
                                                    #(ribcage
                                                      #(e)
                                                      #((top))
-                                                     #("i4766"))
+                                                     #("i4776"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x)
                                                      #((top))
-                                                     #("i4763")))
+                                                     #("i4773")))
                                                   (hygiene guile)))))))))
-              #{tmp 4765}#)
-            (let ((#{tmp 4768}#
+              #{tmp 4775}#)
+            (let ((#{tmp 4778}#
                     ($sc-dispatch
-                      #{tmp 4764}#
+                      #{tmp 4774}#
                       '(_ (any any)
                           ((#(free-id
                               #(syntax-object
                                 set!
                                 ((top)
                                  #(ribcage () () ())
-                                 #(ribcage #(x) #((top)) #("i4763")))
+                                 #(ribcage #(x) #((top)) #("i4773")))
                                 (hygiene guile)))
                             any
                             any)
                            any)))))
-              (if (if #{tmp 4768}#
+              (if (if #{tmp 4778}#
                     (@apply
-                      (lambda (#{id 4774}#
-                               #{exp1 4775}#
-                               #{var 4776}#
-                               #{val 4777}#
-                               #{exp2 4778}#)
-                        (if (identifier? #{id 4774}#)
-                          (identifier? #{var 4776}#)
+                      (lambda (#{id 4784}#
+                               #{exp1 4785}#
+                               #{var 4786}#
+                               #{val 4787}#
+                               #{exp2 4788}#)
+                        (if (identifier? #{id 4784}#)
+                          (identifier? #{var 4786}#)
                           #f))
-                      #{tmp 4768}#)
+                      #{tmp 4778}#)
                     #f)
                 (@apply
-                  (lambda (#{id 4786}#
-                           #{exp1 4787}#
-                           #{var 4788}#
-                           #{val 4789}#
-                           #{exp2 4790}#)
+                  (lambda (#{id 4796}#
+                           #{exp1 4797}#
+                           #{var 4798}#
+                           #{val 4799}#
+                           #{exp2 4800}#)
                     (list '#(syntax-object
                              make-variable-transformer
                              ((top)
                               #(ribcage
                                 #(id exp1 var val exp2)
                                 #((top) (top) (top) (top) (top))
-                                #("i4781" "i4782" "i4783" "i4784" "i4785"))
+                                #("i4791" "i4792" "i4793" "i4794" "i4795"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i4763")))
+                              #(ribcage #(x) #((top)) #("i4773")))
                              (hygiene guile))
                           (list '#(syntax-object
                                    lambda
                                     #(ribcage
                                       #(id exp1 var val exp2)
                                       #((top) (top) (top) (top) (top))
-                                      #("i4781"
-                                        "i4782"
-                                        "i4783"
-                                        "i4784"
-                                        "i4785"))
+                                      #("i4791"
+                                        "i4792"
+                                        "i4793"
+                                        "i4794"
+                                        "i4795"))
                                     #(ribcage () () ())
-                                    #(ribcage #(x) #((top)) #("i4763")))
+                                    #(ribcage #(x) #((top)) #("i4773")))
                                    (hygiene guile))
                                 '(#(syntax-object
                                     x
                                      #(ribcage
                                        #(id exp1 var val exp2)
                                        #((top) (top) (top) (top) (top))
-                                       #("i4781"
-                                         "i4782"
-                                         "i4783"
-                                         "i4784"
-                                         "i4785"))
+                                       #("i4791"
+                                         "i4792"
+                                         "i4793"
+                                         "i4794"
+                                         "i4795"))
                                      #(ribcage () () ())
-                                     #(ribcage #(x) #((top)) #("i4763")))
+                                     #(ribcage #(x) #((top)) #("i4773")))
                                     (hygiene guile)))
                                 '#((#(syntax-object
                                       macro-type
                                        #(ribcage
                                          #(id exp1 var val exp2)
                                          #((top) (top) (top) (top) (top))
-                                         #("i4781"
-                                           "i4782"
-                                           "i4783"
-                                           "i4784"
-                                           "i4785"))
+                                         #("i4791"
+                                           "i4792"
+                                           "i4793"
+                                           "i4794"
+                                           "i4795"))
                                        #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i4763")))
+                                       #(ribcage #(x) #((top)) #("i4773")))
                                       (hygiene guile))
                                     .
                                     #(syntax-object
                                        #(ribcage
                                          #(id exp1 var val exp2)
                                          #((top) (top) (top) (top) (top))
-                                         #("i4781"
-                                           "i4782"
-                                           "i4783"
-                                           "i4784"
-                                           "i4785"))
+                                         #("i4791"
+                                           "i4792"
+                                           "i4793"
+                                           "i4794"
+                                           "i4795"))
                                        #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i4763")))
+                                       #(ribcage #(x) #((top)) #("i4773")))
                                       (hygiene guile))))
                                 (list '#(syntax-object
                                          syntax-case
                                           #(ribcage
                                             #(id exp1 var val exp2)
                                             #((top) (top) (top) (top) (top))
-                                            #("i4781"
-                                              "i4782"
-                                              "i4783"
-                                              "i4784"
-                                              "i4785"))
+                                            #("i4791"
+                                              "i4792"
+                                              "i4793"
+                                              "i4794"
+                                              "i4795"))
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i4763")))
+                                          #(ribcage #(x) #((top)) #("i4773")))
                                          (hygiene guile))
                                       '#(syntax-object
                                          x
                                           #(ribcage
                                             #(id exp1 var val exp2)
                                             #((top) (top) (top) (top) (top))
-                                            #("i4781"
-                                              "i4782"
-                                              "i4783"
-                                              "i4784"
-                                              "i4785"))
+                                            #("i4791"
+                                              "i4792"
+                                              "i4793"
+                                              "i4794"
+                                              "i4795"))
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i4763")))
+                                          #(ribcage #(x) #((top)) #("i4773")))
                                          (hygiene guile))
                                       '(#(syntax-object
                                           set!
                                            #(ribcage
                                              #(id exp1 var val exp2)
                                              #((top) (top) (top) (top) (top))
-                                             #("i4781"
-                                               "i4782"
-                                               "i4783"
-                                               "i4784"
-                                               "i4785"))
+                                             #("i4791"
+                                               "i4792"
+                                               "i4793"
+                                               "i4794"
+                                               "i4795"))
                                            #(ribcage () () ())
-                                           #(ribcage #(x) #((top)) #("i4763")))
+                                           #(ribcage #(x) #((top)) #("i4773")))
                                           (hygiene guile)))
                                       (list (list '#(syntax-object
                                                      set!
                                                           (top)
                                                           (top)
                                                           (top))
-                                                        #("i4781"
-                                                          "i4782"
-                                                          "i4783"
-                                                          "i4784"
-                                                          "i4785"))
+                                                        #("i4791"
+                                                          "i4792"
+                                                          "i4793"
+                                                          "i4794"
+                                                          "i4795"))
                                                       #(ribcage () () ())
                                                       #(ribcage
                                                         #(x)
                                                         #((top))
-                                                        #("i4763")))
+                                                        #("i4773")))
                                                      (hygiene guile))
-                                                  #{var 4788}#
-                                                  #{val 4789}#)
+                                                  #{var 4798}#
+                                                  #{val 4799}#)
                                             (list '#(syntax-object
                                                      syntax
                                                      ((top)
                                                           (top)
                                                           (top)
                                                           (top))
-                                                        #("i4781"
-                                                          "i4782"
-                                                          "i4783"
-                                                          "i4784"
-                                                          "i4785"))
+                                                        #("i4791"
+                                                          "i4792"
+                                                          "i4793"
+                                                          "i4794"
+                                                          "i4795"))
                                                       #(ribcage () () ())
                                                       #(ribcage
                                                         #(x)
                                                         #((top))
-                                                        #("i4763")))
+                                                        #("i4773")))
                                                      (hygiene guile))
-                                                  #{exp2 4790}#))
-                                      (list (cons #{id 4786}#
+                                                  #{exp2 4800}#))
+                                      (list (cons #{id 4796}#
                                                   '(#(syntax-object
                                                       x
                                                       ((top)
                                                            (top)
                                                            (top)
                                                            (top))
-                                                         #("i4781"
-                                                           "i4782"
-                                                           "i4783"
-                                                           "i4784"
-                                                           "i4785"))
+                                                         #("i4791"
+                                                           "i4792"
+                                                           "i4793"
+                                                           "i4794"
+                                                           "i4795"))
                                                        #(ribcage () () ())
                                                        #(ribcage
                                                          #(x)
                                                          #((top))
-                                                         #("i4763")))
+                                                         #("i4773")))
                                                       (hygiene guile))
                                                     #(syntax-object
                                                       ...
                                                            (top)
                                                            (top)
                                                            (top))
-                                                         #("i4781"
-                                                           "i4782"
-                                                           "i4783"
-                                                           "i4784"
-                                                           "i4785"))
+                                                         #("i4791"
+                                                           "i4792"
+                                                           "i4793"
+                                                           "i4794"
+                                                           "i4795"))
                                                        #(ribcage () () ())
                                                        #(ribcage
                                                          #(x)
                                                          #((top))
-                                                         #("i4763")))
+                                                         #("i4773")))
                                                       (hygiene guile))))
                                             (list '#(syntax-object
                                                      syntax
                                                           (top)
                                                           (top)
                                                           (top))
-                                                        #("i4781"
-                                                          "i4782"
-                                                          "i4783"
-                                                          "i4784"
-                                                          "i4785"))
+                                                        #("i4791"
+                                                          "i4792"
+                                                          "i4793"
+                                                          "i4794"
+                                                          "i4795"))
                                                       #(ribcage () () ())
                                                       #(ribcage
                                                         #(x)
                                                         #((top))
-                                                        #("i4763")))
+                                                        #("i4773")))
                                                      (hygiene guile))
-                                                  (cons #{exp1 4787}#
+                                                  (cons #{exp1 4797}#
                                                         '(#(syntax-object
                                                             x
                                                             ((top)
                                                                  (top)
                                                                  (top)
                                                                  (top))
-                                                               #("i4781"
-                                                                 "i4782"
-                                                                 "i4783"
-                                                                 "i4784"
-                                                                 "i4785"))
+                                                               #("i4791"
+                                                                 "i4792"
+                                                                 "i4793"
+                                                                 "i4794"
+                                                                 "i4795"))
                                                              #(ribcage
                                                                ()
                                                                ()
                                                              #(ribcage
                                                                #(x)
                                                                #((top))
-                                                               #("i4763")))
+                                                               #("i4773")))
                                                             (hygiene guile))
                                                           #(syntax-object
                                                             ...
                                                                  (top)
                                                                  (top)
                                                                  (top))
-                                                               #("i4781"
-                                                                 "i4782"
-                                                                 "i4783"
-                                                                 "i4784"
-                                                                 "i4785"))
+                                                               #("i4791"
+                                                                 "i4792"
+                                                                 "i4793"
+                                                                 "i4794"
+                                                                 "i4795"))
                                                              #(ribcage
                                                                ()
                                                                ()
                                                              #(ribcage
                                                                #(x)
                                                                #((top))
-                                                               #("i4763")))
+                                                               #("i4773")))
                                                             (hygiene
                                                               guile))))))
-                                      (list #{id 4786}#
+                                      (list #{id 4796}#
                                             (list '#(syntax-object
                                                      identifier?
                                                      ((top)
                                                           (top)
                                                           (top)
                                                           (top))
-                                                        #("i4781"
-                                                          "i4782"
-                                                          "i4783"
-                                                          "i4784"
-                                                          "i4785"))
+                                                        #("i4791"
+                                                          "i4792"
+                                                          "i4793"
+                                                          "i4794"
+                                                          "i4795"))
                                                       #(ribcage () () ())
                                                       #(ribcage
                                                         #(x)
                                                         #((top))
-                                                        #("i4763")))
+                                                        #("i4773")))
                                                      (hygiene guile))
                                                   (list '#(syntax-object
                                                            syntax
                                                                 (top)
                                                                 (top)
                                                                 (top))
-                                                              #("i4781"
-                                                                "i4782"
-                                                                "i4783"
-                                                                "i4784"
-                                                                "i4785"))
+                                                              #("i4791"
+                                                                "i4792"
+                                                                "i4793"
+                                                                "i4794"
+                                                                "i4795"))
                                                             #(ribcage () () ())
                                                             #(ribcage
                                                               #(x)
                                                               #((top))
-                                                              #("i4763")))
+                                                              #("i4773")))
                                                            (hygiene guile))
-                                                        #{id 4786}#))
+                                                        #{id 4796}#))
                                             (list '#(syntax-object
                                                      syntax
                                                      ((top)
                                                           (top)
                                                           (top)
                                                           (top))
-                                                        #("i4781"
-                                                          "i4782"
-                                                          "i4783"
-                                                          "i4784"
-                                                          "i4785"))
+                                                        #("i4791"
+                                                          "i4792"
+                                                          "i4793"
+                                                          "i4794"
+                                                          "i4795"))
                                                       #(ribcage () () ())
                                                       #(ribcage
                                                         #(x)
                                                         #((top))
-                                                        #("i4763")))
+                                                        #("i4773")))
                                                      (hygiene guile))
-                                                  #{exp1 4787}#))))))
-                  #{tmp 4768}#)
+                                                  #{exp1 4797}#))))))
+                  #{tmp 4778}#)
                 (syntax-violation
                   #f
                   "source expression failed to match any pattern"
-                  #{tmp 4764}#)))))))))
+                  #{tmp 4774}#)))))))))
 
 (define define*
   (make-syntax-transformer
     'define*
     'macro
-    (lambda (#{x 4791}#)
-      (let ((#{tmp 4793}# #{x 4791}#))
-        (let ((#{tmp 4794}#
+    (lambda (#{x 4801}#)
+      (let ((#{tmp 4803}# #{x 4801}#))
+        (let ((#{tmp 4804}#
                 ($sc-dispatch
-                  #{tmp 4793}#
+                  #{tmp 4803}#
                   '(_ (any . any) any . each-any))))
-          (if #{tmp 4794}#
+          (if #{tmp 4804}#
             (@apply
-              (lambda (#{id 4799}#
-                       #{args 4800}#
-                       #{b0 4801}#
-                       #{b1 4802}#)
+              (lambda (#{id 4809}#
+                       #{args 4810}#
+                       #{b0 4811}#
+                       #{b1 4812}#)
                 (list '#(syntax-object
                          define
                          ((top)
                           #(ribcage
                             #(id args b0 b1)
                             #((top) (top) (top) (top))
-                            #("i4795" "i4796" "i4797" "i4798"))
+                            #("i4805" "i4806" "i4807" "i4808"))
                           #(ribcage () () ())
-                          #(ribcage #(x) #((top)) #("i4792")))
+                          #(ribcage #(x) #((top)) #("i4802")))
                          (hygiene guile))
-                      #{id 4799}#
+                      #{id 4809}#
                       (cons '#(syntax-object
                                lambda*
                                ((top)
                                 #(ribcage
                                   #(id args b0 b1)
                                   #((top) (top) (top) (top))
-                                  #("i4795" "i4796" "i4797" "i4798"))
+                                  #("i4805" "i4806" "i4807" "i4808"))
                                 #(ribcage () () ())
-                                #(ribcage #(x) #((top)) #("i4792")))
+                                #(ribcage #(x) #((top)) #("i4802")))
                                (hygiene guile))
-                            (cons #{args 4800}#
-                                  (cons #{b0 4801}# #{b1 4802}#)))))
-              #{tmp 4794}#)
-            (let ((#{tmp 4804}#
-                    ($sc-dispatch #{tmp 4793}# '(_ any any))))
-              (if (if #{tmp 4804}#
+                            (cons #{args 4810}#
+                                  (cons #{b0 4811}# #{b1 4812}#)))))
+              #{tmp 4804}#)
+            (let ((#{tmp 4814}#
+                    ($sc-dispatch #{tmp 4803}# '(_ any any))))
+              (if (if #{tmp 4814}#
                     (@apply
-                      (lambda (#{id 4807}# #{val 4808}#)
+                      (lambda (#{id 4817}# #{val 4818}#)
                         (identifier?
                           '#(syntax-object
                              x
                               #(ribcage
                                 #(id val)
                                 #((top) (top))
-                                #("i4805" "i4806"))
+                                #("i4815" "i4816"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i4792")))
+                              #(ribcage #(x) #((top)) #("i4802")))
                              (hygiene guile))))
-                      #{tmp 4804}#)
+                      #{tmp 4814}#)
                     #f)
                 (@apply
-                  (lambda (#{id 4811}# #{val 4812}#)
+                  (lambda (#{id 4821}# #{val 4822}#)
                     (list '#(syntax-object
                              define
                              ((top)
                               #(ribcage
                                 #(id val)
                                 #((top) (top))
-                                #("i4809" "i4810"))
+                                #("i4819" "i4820"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i4792")))
+                              #(ribcage #(x) #((top)) #("i4802")))
                              (hygiene guile))
-                          #{id 4811}#
-                          #{val 4812}#))
-                  #{tmp 4804}#)
+                          #{id 4821}#
+                          #{val 4822}#))
+                  #{tmp 4814}#)
                 (syntax-violation
                   #f
                   "source expression failed to match any pattern"
-                  #{tmp 4793}#)))))))))
+                  #{tmp 4803}#)))))))))
 
index e63f648..85fda9a 100644 (file)
       (lambda (src req opt rest kw inits vars body else-case)
         (make-lambda-case src req opt rest kw inits vars body else-case)))
 
+    (define build-primcall
+      (lambda (src name args)
+        (make-primcall src name args)))
+    
     (define build-primref
       (lambda (src name)
-        (if (equal? (module-name (current-module)) '(guile))
-            (make-toplevel-ref src name)
-            (make-module-ref src '(guile) name #f))))
-
+        (make-primitive-ref src name)))
+    
     (define (build-data src exp)
       (make-const src exp))
 
         (build-global-definition
          no-source
          name
-         (build-call
+         (build-primcall
           no-source
-          (build-primref no-source 'make-syntax-transformer)
+          'make-syntax-transformer
           (list (build-data no-source name)
                 (build-data no-source 'macro)
                 e)))))
                             (if (list? (cadr x))
                                 (build-simple-lambda no-source (cadr x) #f (cadr x) '() (regen (caddr x)))
                                 (error "how did we get here" x)))
-                           (else (build-call no-source
-                                             (build-primref no-source (car x))
-                                             (map regen (cdr x)))))))
+                           (else (build-primcall no-source (car x) (map regen (cdr x)))))))
 
                      (lambda (e r w s mod)
                        (let ((e (source-wrap e w s mod)))
                        (lambda (pvars exp y r mod)
                          (let ((ids (map car pvars)) (levels (map cdr pvars)))
                            (let ((labels (gen-labels ids)) (new-vars (map gen-var ids)))
-                             (build-call no-source
-                                         (build-primref no-source 'apply)
-                                         (list (build-simple-lambda no-source (map syntax->datum ids) #f new-vars '()
-                                                                    (chi exp
-                                                                         (extend-env
-                                                                          labels
-                                                                          (map (lambda (var level)
-                                                                                 (make-binding 'syntax `(,var . ,level)))
-                                                                               new-vars
-                                                                               (map cdr pvars))
-                                                                          r)
-                                                                         (make-binding-wrap ids labels empty-wrap)
-                                                                         mod))
-                                               y))))))
+                             (build-primcall
+                              no-source
+                              'apply
+                              (list (build-simple-lambda no-source (map syntax->datum ids) #f new-vars '()
+                                                         (chi exp
+                                                              (extend-env
+                                                               labels
+                                                               (map (lambda (var level)
+                                                                      (make-binding 'syntax `(,var . ,level)))
+                                                                    new-vars
+                                                                    (map cdr pvars))
+                                                               r)
+                                                              (make-binding-wrap ids labels empty-wrap)
+                                                              mod))
+                                    y))))))
 
                      (define gen-clause
                        (lambda (x keys clauses r pat fender exp mod)
                                                                                        (build-dispatch-call pvars exp y r mod)
                                                                                        (gen-syntax-case x keys clauses r mod))))
                                              (list (if (eq? p 'any)
-                                                       (build-call no-source
-                                                                   (build-primref no-source 'list)
-                                                                   (list x))
-                                                       (build-call no-source
-                                                                   (build-primref no-source '$sc-dispatch)
-                                                                   (list x (build-data no-source p)))))))))))))
+                                                       (build-primcall no-source 'list (list x))
+                                                       (build-primcall no-source '$sc-dispatch
+                                                                       (list x (build-data no-source p)))))))))))))
 
                      (define gen-syntax-case
                        (lambda (x keys clauses r mod)
                          (if (null? clauses)
-                             (build-call no-source
-                                         (build-primref no-source 'syntax-violation)
-                                         (list (build-data no-source #f)
-                                               (build-data no-source
-                                                           "source expression failed to match any pattern")
-                                               x))
+                             (build-primcall no-source 'syntax-violation
+                                             (list (build-data no-source #f)
+                                                   (build-data no-source
+                                                               "source expression failed to match any pattern")
+                                                   x))
                              (syntax-case (car clauses) ()
                                ((pat exp)
                                 (if (and (id? #'pat)
index 315e882..9a5d74f 100644 (file)
 ;;; Build a call to a primitive procedure nicely.
 
 (define (call-primitive loc sym . args)
-  (make-call loc (make-primitive-ref loc sym) args))
+  (make-primcall loc sym args))
 
 ;;; Error reporting routine for syntax/compilation problems or build
 ;;; code for a runtime-error output.
   (apply error args))
 
 (define (runtime-error loc msg . args)
-  (make-call loc
-             (make-primitive-ref loc 'error)
-             (cons (make-const loc msg) args)))
+  (make-primcall loc 'error
+                 (cons (make-const loc msg) args)))
 
 ;;; Generate code to ensure a global symbol is there for further use of
 ;;; a given symbol.  In general during the compilation, those needed are
   (call-primitive
    loc
    'with-fluids*
-   (make-call loc
-              (make-primitive-ref loc 'list)
-              (map (lambda (sym)
-                     (make-module-ref loc module sym #t))
-                   syms))
-   (make-call loc (make-primitive-ref loc 'list) vals)
+   (make-primcall loc 'list
+                  (map (lambda (sym)
+                         (make-module-ref loc module sym #t))
+                       syms))
+   (make-primcall loc 'list vals)
    (make-lambda loc
                 '()
                 (make-lambda-case #f '() #f #f #f '() '() body #f))))
                     loc
                     name
                     function-slot
-                    (make-call
-                     loc
-                     (make-module-ref loc '(guile) 'cons #t)
-                     (list (make-const loc 'macro)
-                           (compile-lambda loc args body))))
+                    (make-primcall loc 'cons
+                                   (list (make-const loc 'macro)
+                                         (compile-lambda loc args body))))
                    (make-const loc name)))))
            (compile (ensuring-globals loc bindings-data tree-il)
                     #:from 'tree-il
index c2f0905..a8169aa 100644 (file)
@@ -35,6 +35,7 @@
             <toplevel-define> toplevel-define? make-toplevel-define toplevel-define-src toplevel-define-name toplevel-define-exp
             <conditional> conditional? make-conditional conditional-src conditional-test conditional-consequent conditional-alternate
             <call> call? make-call call-src call-proc call-args
+            <primcall> primcall? make-primcall primcall-src primcall-name primcall-args
             <sequence> sequence? make-sequence sequence-src sequence-exps
             <lambda> lambda? make-lambda lambda-src lambda-meta lambda-body
             <lambda-case> lambda-case? make-lambda-case lambda-case-src
   ;; (<toplevel-define> name exp)
   ;; (<conditional> test consequent alternate)
   ;; (<call> proc args)
+  ;; (<primcall> name args)
   ;; (<sequence> exps)
   ;; (<lambda> meta body)
   ;; (<lambda-case> req opt rest kw inits gensyms body alternate)
      ((call ,proc . ,args)
       (make-call loc (retrans proc) (map retrans args)))
 
+     ((primcall ,name . ,args)
+      (make-primcall loc name (map retrans args)))
+
      ((if ,test ,consequent ,alternate)
       (make-conditional loc (retrans test) (retrans consequent) (retrans alternate)))
 
     ((<call> proc args)
      `(call ,(unparse-tree-il proc) ,@(map unparse-tree-il args)))
 
+    ((<primcall> name args)
+     `(primcall ,name ,@(map unparse-tree-il args)))
+
     ((<conditional> test consequent alternate)
      `(if ,(unparse-tree-il test) ,(unparse-tree-il consequent) ,(unparse-tree-il alternate)))
 
     ((<call> proc args)
      `(,(tree-il->scheme proc) ,@(map tree-il->scheme args)))
 
+    ((<primcall> name args)
+     `(,name ,@(map tree-il->scheme args)))
+
     ((<conditional> test consequent alternate)
      (if (void? alternate)
          `(if ,(tree-il->scheme test) ,(tree-il->scheme consequent))
@@ -510,6 +521,8 @@ This is an implementation of `foldts' as described by Andy Wingo in
                                 (loop test (down tree result))))))
           ((<call> proc args)
            (up tree (loop (cons proc args) (down tree result))))
+          ((<primcall> name args)
+           (up tree (loop args (down tree result))))
           ((<sequence> exps)
            (up tree (loop exps (down tree result))))
           ((<lambda> body)
@@ -584,6 +597,8 @@ This is an implementation of `foldts' as described by Andy Wingo in
                  ((<call> proc args)
                   (let-values (((seed ...) (foldts proc seed ...)))
                     (fold-values foldts args seed ...)))
+                 ((<primcall> name args)
+                  (fold-values foldts args seed ...))
                  ((<sequence> exps)
                   (fold-values foldts exps seed ...))
                  ((<lambda> body)
@@ -638,6 +653,9 @@ This is an implementation of `foldts' as described by Andy Wingo in
        (set! (call-proc x) (lp proc))
        (set! (call-args x) (map lp args)))
 
+      ((<primcall> name args)
+       (set! (primcall-args x) (map lp args)))
+
       ((<conditional> test consequent alternate)
        (set! (conditional-test x) (lp test))
        (set! (conditional-consequent x) (lp consequent))
@@ -722,6 +740,9 @@ This is an implementation of `foldts' as described by Andy Wingo in
          (set! (call-proc x) (lp proc))
          (set! (call-args x) (map lp args)))
 
+        ((<primcall> name args)
+         (set! (primcall-args x) (map lp args)))
+
         ((<conditional> test consequent alternate)
          (set! (conditional-test x) (lp test))
          (set! (conditional-consequent x) (lp consequent))
index b165a29..3f2c10e 100644 (file)
        (apply lset-union eq? (step-tail-call proc args)
               (map step args)))
 
+      ((<primcall> args)
+       (apply lset-union eq? (map step args)))
+
       ((<conditional> test consequent alternate)
        (lset-union eq? (step test) (step-tail consequent) (step-tail alternate)))
 
       ((<call> proc args)
        (apply max (recur proc) (map recur args)))
 
+      ((<primcall> args)
+       (apply max n (map recur args)))
+
       ((<conditional> test consequent alternate)
        (max (recur test) (recur consequent) (recur alternate)))
 
index c85063c..ac164be 100644 (file)
                (lp (cdr exps))))))
 
       ((<call> src proc args)
-       ;; FIXME: need a better pattern-matcher here
        (cond
-        ((and (primitive-ref? proc)
-              (eq? (primitive-ref-name proc) '@apply)
-              (>= (length args) 1))
-         (let ((proc (car args))
-               (args (cdr args)))
-           (cond
-            ((and (primitive-ref? proc) (eq? (primitive-ref-name proc) 'values)
-                  (not (eq? context 'push)) (not (eq? context 'vals)))
-             ;; tail: (lambda () (apply values '(1 2)))
-             ;; drop: (lambda () (apply values '(1 2)) 3)
-             ;; push: (lambda () (list (apply values '(10 12)) 1))
-             (case context
-               ((drop) (for-each comp-drop args) (maybe-emit-return))
-               ((tail)
-                (for-each comp-push args)
-                (emit-code src (make-glil-call 'return/values* (length args))))))
-
-            (else
-             (case context
-               ((tail)
-                (comp-push proc)
-                (for-each comp-push args)
-                (emit-code src (make-glil-call 'tail-apply (1+ (length args)))))
-               ((push)
-                (emit-code src (make-glil-call 'new-frame 0))
-                (comp-push proc)
-                (for-each comp-push args)
-                (emit-code src (make-glil-call 'apply (1+ (length args))))
-                (maybe-emit-return))
-               ((vals)
-                (comp-vals
-                 (make-call src (make-primitive-ref #f 'apply)
-                            (cons proc args))
-                 MVRA)
-                (maybe-emit-return))
-               ((drop)
-                ;; Well, shit. The proc might return any number of
-                ;; values (including 0), since it's in a drop context,
-                ;; yet apply does not create a MV continuation. So we
-                ;; mv-call out to our trampoline instead.
-                (comp-drop
-                 (make-call src (make-primitive-ref #f 'apply)
-                            (cons proc args)))
-                (maybe-emit-return)))))))
-        
-        ((and (primitive-ref? proc) (eq? (primitive-ref-name proc) 'values)
-              (not (eq? context 'push)))
-         ;; tail: (lambda () (values '(1 2)))
-         ;; drop: (lambda () (values '(1 2)) 3)
-         ;; push: (lambda () (list (values '(10 12)) 1))
-         ;; vals: (let-values (((a b ...) (values 1 2 ...))) ...)
-         (case context
-           ((drop) (for-each comp-drop args) (maybe-emit-return))
-           ((vals)
-            (for-each comp-push args)
-            (emit-code #f (make-glil-const (length args)))
-            (emit-branch src 'br MVRA))
-           ((tail)
-            (for-each comp-push args)
-            (emit-code src (make-glil-call 'return/values (length args))))))
-        
-        ((and (primitive-ref? proc)
-              (eq? (primitive-ref-name proc) '@call-with-values)
-              (= (length args) 2))
-        ;; CONSUMER
-         ;; PRODUCER
-         ;; (mv-call MV)
-         ;; ([tail]-call 1)
-         ;; goto POST
-         ;; MV: [tail-]call/nargs
-         ;; POST: (maybe-drop)
-         (case context
-           ((vals)
-            ;; Fall back.
-            (comp-vals
-             (make-call src (make-primitive-ref #f 'call-with-values)
-                        args)
-             MVRA)
-            (maybe-emit-return))
-           (else
-            (let ((MV (make-label)) (POST (make-label))
-                  (producer (car args)) (consumer (cadr args)))
-              (if (not (eq? context 'tail))
-                  (emit-code src (make-glil-call 'new-frame 0)))
-              (comp-push consumer)
-              (emit-code src (make-glil-call 'new-frame 0))
-              (comp-push producer)
-              (emit-code src (make-glil-mv-call 0 MV))
-              (case context
-                ((tail) (emit-code src (make-glil-call 'tail-call 1)))
-                (else   (emit-code src (make-glil-call 'call 1))
-                        (emit-branch #f 'br POST)))
-              (emit-label MV)
-              (case context
-                ((tail) (emit-code src (make-glil-call 'tail-call/nargs 0)))
-                (else   (emit-code src (make-glil-call 'call/nargs 0))
-                        (emit-label POST)
-                        (if (eq? context 'drop)
-                            (emit-code #f (make-glil-call 'drop 1)))
-                        (maybe-emit-return)))))))
-
-        ((and (primitive-ref? proc)
-              (eq? (primitive-ref-name proc) '@call-with-current-continuation)
-              (= (length args) 1))
-         (case context
-           ((tail)
-            (comp-push (car args))
-            (emit-code src (make-glil-call 'tail-call/cc 1)))
-           ((vals)
-            (comp-vals
-             (make-call
-              src (make-primitive-ref #f 'call-with-current-continuation)
-              args)
-             MVRA)
-            (maybe-emit-return))
-           ((push)
-            (comp-push (car args))
-            (emit-code src (make-glil-call 'call/cc 1))
-            (maybe-emit-return))
-           ((drop)
-            ;; Crap. Just like `apply' in drop context.
-            (comp-drop
-             (make-call
-              src (make-primitive-ref #f 'call-with-current-continuation)
-              args))
-            (maybe-emit-return))))
-
-        ;; A hack for variable-set, the opcode for which takes its args
-        ;; reversed, relative to the variable-set! function
-        ((and (primitive-ref? proc)
-              (eq? (primitive-ref-name proc) 'variable-set!)
-              (= (length args) 2))
-         (comp-push (cadr args))
-         (comp-push (car args))
-         (emit-code src (make-glil-call 'variable-set 2))
-         (case context
-           ((tail push vals) (emit-code #f (make-glil-void))))
-         (maybe-emit-return))
-        
-        ((and (primitive-ref? proc)
-              (or (hash-ref *primcall-ops*
-                            (cons (primitive-ref-name proc) (length args)))
-                  (hash-ref *primcall-ops* (primitive-ref-name proc))))
-         => (lambda (op)
-              (for-each comp-push args)
-              (emit-code src (make-glil-call op (length args)))
-              (case (instruction-pushes op)
-                ((0)
-                 (case context
-                   ((tail push vals) (emit-code #f (make-glil-void))))
-                 (maybe-emit-return))
-                ((1)
-                 (case context
-                   ((drop) (emit-code #f (make-glil-call 'drop 1))))
-                 (maybe-emit-return))
-                ((-1)
-                 ;; A control instruction, like return/values.  Here we
-                 ;; just have to hope that the author of the tree-il
-                 ;; knew what they were doing.
-                 *unspecified*)
-                (else
-                 (error "bad primitive op: too many pushes"
-                        op (instruction-pushes op))))))
-        
         ;; self-call in tail position
         ((and (lexical-ref? proc)
               self-label (eq? (lexical-ref-gensym proc) self-label)
                            (emit-branch #f 'br RA)
                            (emit-label POST)))))))))
 
+      ((<primcall> src name args)
+       (pmatch (cons name args)
+         ((@apply ,proc . ,args)
+          (cond
+           ((and (primitive-ref? proc) (eq? (primitive-ref-name proc) 'values)
+                 (not (eq? context 'push)) (not (eq? context 'vals)))
+            ;; tail: (lambda () (apply values '(1 2)))
+            ;; drop: (lambda () (apply values '(1 2)) 3)
+            ;; push: (lambda () (list (apply values '(10 12)) 1))
+            (case context
+              ((drop) (for-each comp-drop args) (maybe-emit-return))
+              ((tail)
+               (for-each comp-push args)
+               (emit-code src (make-glil-call 'return/values* (length args))))))
+
+           (else
+            (case context
+              ((tail)
+               (comp-push proc)
+               (for-each comp-push args)
+               (emit-code src (make-glil-call 'tail-apply (1+ (length args)))))
+              ((push)
+               (emit-code src (make-glil-call 'new-frame 0))
+               (comp-push proc)
+               (for-each comp-push args)
+               (emit-code src (make-glil-call 'apply (1+ (length args))))
+               (maybe-emit-return))
+              (else
+               (comp-tail (make-primcall src 'apply (cons proc args))))))))
+
+         ((values . _) (guard (not (eq? context 'push)))
+          ;; tail: (lambda () (values '(1 2)))
+          ;; drop: (lambda () (values '(1 2)) 3)
+          ;; push: (lambda () (list (values '(10 12)) 1))
+          ;; vals: (let-values (((a b ...) (values 1 2 ...))) ...)
+          (case context
+            ((drop) (for-each comp-drop args) (maybe-emit-return))
+            ((vals)
+             (for-each comp-push args)
+             (emit-code #f (make-glil-const (length args)))
+             (emit-branch src 'br MVRA))
+            ((tail)
+             (for-each comp-push args)
+             (emit-code src (make-glil-call 'return/values (length args))))))
+        
+         ((@call-with-values ,producer ,consumer)
+          ;; CONSUMER
+          ;; PRODUCER
+          ;; (mv-call MV)
+          ;; ([tail]-call 1)
+          ;; goto POST
+          ;; MV: [tail-]call/nargs
+          ;; POST: (maybe-drop)
+          (case context
+            ((vals)
+             ;; Fall back.
+             (comp-tail (make-primcall src 'call-with-values args)))
+            (else
+             (let ((MV (make-label)) (POST (make-label)))
+               (if (not (eq? context 'tail))
+                   (emit-code src (make-glil-call 'new-frame 0)))
+               (comp-push consumer)
+               (emit-code src (make-glil-call 'new-frame 0))
+               (comp-push producer)
+               (emit-code src (make-glil-mv-call 0 MV))
+               (case context
+                 ((tail) (emit-code src (make-glil-call 'tail-call 1)))
+                 (else   (emit-code src (make-glil-call 'call 1))
+                         (emit-branch #f 'br POST)))
+               (emit-label MV)
+               (case context
+                 ((tail) (emit-code src (make-glil-call 'tail-call/nargs 0)))
+                 (else   (emit-code src (make-glil-call 'call/nargs 0))
+                         (emit-label POST)
+                         (if (eq? context 'drop)
+                             (emit-code #f (make-glil-call 'drop 1)))
+                         (maybe-emit-return)))))))
+
+         ((@call-with-current-continuation ,proc)
+          (case context
+            ((tail)
+             (comp-push proc)
+             (emit-code src (make-glil-call 'tail-call/cc 1)))
+            ((vals)
+             (comp-vals
+              (make-primcall src 'call-with-current-continuation args)
+              MVRA)
+             (maybe-emit-return))
+            ((push)
+             (comp-push proc)
+             (emit-code src (make-glil-call 'call/cc 1))
+             (maybe-emit-return))
+            ((drop)
+             ;; Fall back.
+             (comp-tail
+              (make-primcall src 'call-with-current-continuation args)))))
+         
+        ;; A hack for variable-set, the opcode for which takes its args
+        ;; reversed, relative to the variable-set! function
+        ((variable-set! ,var ,val)
+         (comp-push val)
+         (comp-push var)
+         (emit-code src (make-glil-call 'variable-set 2))
+         (case context
+           ((tail push vals) (emit-code #f (make-glil-void))))
+         (maybe-emit-return))
+        
+        (else
+         (cond
+          ((or (hash-ref *primcall-ops* (cons name (length args)))
+               (hash-ref *primcall-ops* name))
+           => (lambda (op)
+                (for-each comp-push args)
+                (emit-code src (make-glil-call op (length args)))
+                (case (instruction-pushes op)
+                  ((0)
+                   (case context
+                     ((tail push vals) (emit-code #f (make-glil-void))))
+                   (maybe-emit-return))
+                  ((1)
+                   (case context
+                     ((drop) (emit-code #f (make-glil-call 'drop 1))))
+                   (maybe-emit-return))
+                  ((-1)
+                   ;; A control instruction, like return/values.  Here we
+                   ;; just have to hope that the author of the tree-il
+                   ;; knew what they were doing.
+                   *unspecified*)
+                  (else
+                   (error "bad primitive op: too many pushes"
+                          op (instruction-pushes op))))))
+          (else
+           ;; Fall back to the normal compilation strategy.
+           (comp-tail (make-call src (make-primitive-ref #f name) args)))))))
+
       ((<conditional> src test consequent alternate)
        ;;     TEST
        ;;     (br-if-not L1)
        ;; L1: alternate
        ;; L2:
        (let ((L1 (make-label)) (L2 (make-label)))
-         ;; need a pattern matcher
          (record-case test
-           ((<call> proc args)
-            (record-case proc
-              ((<primitive-ref> name)
-               (let ((len (length args)))
-                 (cond
-
-                  ((and (eq? name 'eq?) (= len 2))
-                   (comp-push (car args))
-                   (comp-push (cadr args))
-                   (emit-branch src 'br-if-not-eq L1))
-
-                  ((and (eq? name 'null?) (= len 1))
-                   (comp-push (car args))
-                   (emit-branch src 'br-if-not-null L1))
-
-                  ((and (eq? name 'not) (= len 1))
-                   (let ((app (car args)))
-                     (record-case app
-                       ((<call> proc args)
-                        (let ((len (length args)))
-                          (record-case proc
-                            ((<primitive-ref> name)
-                             (cond
-
-                              ((and (eq? name 'eq?) (= len 2))
-                               (comp-push (car args))
-                               (comp-push (cadr args))
-                               (emit-branch src 'br-if-eq L1))
-                            
-                              ((and (eq? name 'null?) (= len 1))
-                               (comp-push (car args))
-                               (emit-branch src 'br-if-null L1))
-
-                              (else
-                               (comp-push app)
-                               (emit-branch src 'br-if L1))))
-                            (else
-                             (comp-push app)
-                             (emit-branch src 'br-if L1)))))
-                       (else
-                        (comp-push app)
-                        (emit-branch src 'br-if L1)))))
-                  
-                  (else
-                   (comp-push test)
-                   (emit-branch src 'br-if-not L1)))))
+           ((<primcall> name args)
+            (pmatch (cons name args)
+              ((eq? ,a ,b)
+               (comp-push a)
+               (comp-push b)
+               (emit-branch src 'br-if-not-eq L1))
+              ((null? ,x)
+               (comp-push x)
+               (emit-branch src 'br-if-not-null L1))
+              ((not ,x)
+               (record-case x
+                 ((<primcall> name args)
+                  (pmatch (cons name args)
+                    ((eq? ,a ,b)
+                     (comp-push a)
+                     (comp-push b)
+                     (emit-branch src 'br-if-eq L1))
+                    ((null? ,x)
+                     (comp-push x)
+                     (emit-branch src 'br-if-null L1))
+                    (else
+                     (comp-push x)
+                     (emit-branch src 'br-if L1))))
+                 (else
+                  (comp-push x)
+                  (emit-branch src 'br-if L1))))
               (else
                (comp-push test)
                (emit-branch src 'br-if-not L1))))
index 1632a94..cafc5d7 100644 (file)
@@ -44,9 +44,8 @@
     ((<sequence> exps)
      (and-map (lambda (x) (simple-expression? x bound-vars simple-primitive?))
               exps))
-    ((<call> proc args)
-     (and (primitive-ref? proc)
-          (simple-primitive? (primitive-ref-name proc))
+    ((<primcall> name args)
+     (and (simple-primitive? name)
           ;; FIXME: check arity?
           (and-map (lambda (x)
                      (simple-expression? x bound-vars simple-primitive?))
index f23fd6f..16af52a 100644 (file)
             (else x)))
          (else x)))
       
-      ((<call> src proc args)
-       (record-case proc
-         ;; ((lambda (y ...) x) z ...) => (let ((y z) ...) x)
-         ((<primitive-ref> name)
-          (case name
-            ((memq memv)
-             (pmatch args
-               ((,k ,l) (guard (const? l) (list? (const-exp l)))
-                (cond
-                 ((null? (const-exp l))
-                  (make-const #f #f))
-                 ((const? k)
-                  (make-const #f (->bool ((case name
-                                            ((memq) memq)
-                                            ((memv) memv)
-                                            (else (error "unexpected member func" name)))
-                                          (const-exp k) (const-exp l)))))
-                 (else
-                  (let lp ((elts (const-exp l)))
-                    (let ((test (make-call
-                                 #f
-                                 (make-primitive-ref #f (case name
-                                                          ((memq) 'eq?)
-                                                          ((memv) 'eqv?)
-                                                          (else (error "what"))))
-                                 (list k (make-const #f (car elts))))))
-                      (if (null? (cdr elts))
-                          test
-                          (make-conditional
-                           src
-                           test
-                           (make-const #f #t)
-                           (lp (cdr elts)))))))))
-
-               (else x)))
-
-            (else x)))
-
+      ((<primcall> src name args)
+       (pmatch (cons name args)
+         ((,member ,k ,l) (guard (and (memq member '(memq memv))
+                                      (const? k)
+                                      (list? (const-exp l))))
+          (cond
+           ((null? (const-exp l))
+            (make-const #f #f))
+           ((const? k)
+            (make-const #f (->bool ((case member
+                                      ((memq) memq)
+                                      ((memv) memv)
+                                      (else (error "what" member)))
+                                    (const-exp k) (const-exp l)))))
+           (else
+            (let lp ((elts (const-exp l)))
+              (let ((test (make-primcall
+                           #f
+                           (case member
+                             ((memq) 'eq?)
+                             ((memv) 'eqv?)
+                             (else (error "what" member)))
+                           (list k (make-const #f (car elts))))))
+                (if (null? (cdr elts))
+                    test
+                    (make-conditional
+                     src
+                     test
+                     (make-const #f #t)
+                     (lp (cdr elts)))))))))
          (else x)))
        
       ((<lambda> meta body)
                           (or (inline1 x) x))
                         (lp alternate)))))))
 
-         ((<primitive-ref> name)
-          (case name
-            ((@call-with-values)
-             (pmatch args
-               ;; (call-with-values (lambda () foo) (lambda (a b . c) bar))
-               ;; => (let-values (((a b . c) foo)) bar)
-               ;;
-               ;; Note that this is a singly-binding form of let-values.
-               ;; Also note that Scheme's let-values expands into
-               ;; call-with-values, then here we reduce it to tree-il's
-               ;; let-values.
-               ((,producer ,consumer)
-                (guard (lambda? consumer)
-                       (lambda-case? (lambda-body consumer))
-                       (not (lambda-case-opt (lambda-body consumer)))
-                       (not (lambda-case-kw (lambda-body consumer)))
-                       (not (lambda-case-alternate (lambda-body consumer))))
-                (make-let-values
-                 src
-                 (let ((x (make-call src producer '())))
-                   (or (inline1 x) x))
-                 (lambda-body consumer)))
-               (else #f)))
-
-            (else #f)))
-
          (else #f)))
        
+      ((<primcall> src name args)
+       (pmatch (cons name args)
+         ;; (call-with-values (lambda () foo) (lambda (a b . c) bar))
+         ;; => (let-values (((a b . c) foo)) bar)
+         ;;
+         ;; Note that this is a singly-binding form of let-values.  Also
+         ;; note that Scheme's let-values expands into call-with-values,
+         ;; then here we reduce it to tree-il's let-values.
+         ((@call-with-values ,producer ,consumer)
+          (guard (lambda? consumer)
+                 (lambda-case? (lambda-body consumer))
+                 (not (lambda-case-opt (lambda-body consumer)))
+                 (not (lambda-case-kw (lambda-body consumer)))
+                 (not (lambda-case-alternate (lambda-body consumer))))
+          (make-let-values
+           src
+           (let ((x (make-call src producer '())))
+             (or (inline1 x) x))
+           (lambda-body consumer)))
+         (else #f)))
+
       ((<conditional> test consequent alternate)
        (let ((btest (boolean-value test)))
          (or (record-case btest
          
        (and (not opt) (not kw) rest (not alternate)
             (record-case body
-              ((<call> proc args)
+              ((<primcall> name args)
                ;; (lambda args (apply (lambda ...) args)) => (lambda ...)
-               (and (primitive-ref? proc)
-                    (eq? (primitive-ref-name proc) '@apply)
+               (and (eq? name '@apply)
                     (pair? args)
                     (lambda? (car args))
                     (args-compatible? (cdr args) gensyms)
index 63ef20c..40fc194 100644 (file)
                (and=> (hashq-ref *interesting-primitive-vars*
                                  (module-variable m name))
                       (lambda (name) (make-primitive-ref src name))))))
+       ((<call> src proc args)
+        (and (primitive-ref? proc)
+             (make-primcall src (primitive-ref-name proc) args)))
        (else #f)))
    x))
 
   (pre-order!
    (lambda (x)
      (record-case x
-       ((<call> src proc args)
-        (and (primitive-ref? proc)
-             (let ((expand (hashq-ref *primitive-expand-table*
-                                      (primitive-ref-name proc))))
-               (and expand (apply expand src args)))))
+       ((<primcall> src name args)
+        (let ((expand (hashq-ref *primitive-expand-table* name)))
+          (and expand (apply expand src args))))
        (else #f)))
    x))
 
              (lp (cdr in)
                  (cons (if (eq? (caar in) 'quote)
                            `(make-const src ,@(cdar in))
-                           `(make-call src (make-primitive-ref src ',(caar in))
-                                       ,(inline-args (cdar in))))
+                           `(make-primcall src ',(caar in)
+                                           ,(inline-args (cdar in))))
                        out)))
             ((symbol? (car in))
              ;; assume it's locally bound
               ,(consequent then)
               ,(consequent else)))
         (else
-         `(make-call src (make-primitive-ref src ',(car exp))
-                     ,(inline-args (cdr exp))))))
+         `(make-primcall src ',(car exp)
+                         ,(inline-args (cdr exp))))))
      ((symbol? exp)
       ;; assume locally bound
       exp)
                   ;; trickery here.
                   (make-lambda-case
                    (tree-il-src handler) '() #f 'args #f '() (list args-sym)
-                   (make-call #f (make-primitive-ref #f 'apply)
-                              (list handler
-                                    (make-lexical-ref #f 'args args-sym)))
+                   (make-primcall #f 'apply
+                                  (list handler
+                                        (make-lexical-ref #f 'args args-sym)))
                    #f))))
               (else #f)))
 
                     ;; trickery here.
                     (make-lambda-case
                      (tree-il-src handler) '() #f 'args #f '() (list args-sym)
-                     (make-call #f (make-primitive-ref #f 'apply)
-                                (list handler
-                                      (make-lexical-ref #f 'args args-sym)))
+                     (make-primcall #f 'apply
+                                    (list handler
+                                          (make-lexical-ref #f 'args args-sym)))
                      #f))))
                 (else #f)))
               (else #f)))
index d6e456b..a59835e 100644 (file)
@@ -63,7 +63,7 @@
    (begin (void) (const 1))
    (program () (std-prelude 0 0 #f) (label _) (const 1) (call return 1)))
   (assert-tree-il->glil
-   (call (primitive +) (void) (const 1))
+   (primcall + (void) (const 1))
    (program () (std-prelude 0 0 #f) (label _) (void) (call add1 1) (call return 1))))
 
 (with-test-prefix "application"
@@ -98,7 +98,7 @@
    (eq? l1 l3) (eq? l2 l4))
 
   (assert-tree-il->glil
-   (call (primitive null?) (if (toplevel foo) (const 1) (const 2)))
+   (primcall null? (if (toplevel foo) (const 1) (const 2)))
    (program () (std-prelude 0 0 #f) (label _) (toplevel ref foo) (branch br-if-not ,l1)
             (const 1) (branch br ,l2)
                     (label ,l3) (const 2) (label ,l4)
    (program () (std-prelude 0 0 #f) (label _) (const #f) (call return 1)))
 
   (assert-tree-il->glil
-   (call (primitive null?) (primitive +))
+   (primcall null? (primitive +))
    (program () (std-prelude 0 0 #f) (label _) (toplevel ref +) (call null? 1)
             (call return 1))))
 
             (unbind)))
 
   (assert-tree-il->glil
-   (let (x) (y) ((const 1)) (call (primitive null?) (lexical x y)))
+   (let (x) (y) ((const 1)) (primcall null? (lexical x y)))
    (program () (std-prelude 0 1 #f) (label _)
             (const 1) (bind (x #f 0)) (lexical #t #f set 0)
             (lexical #t #f ref 0) (call null? 1) (call return 1)
   (assert-tree-il->glil
    ;; unreferenced sets may be optimized away -- make sure they are ref'd
    (let (x) (y) ((const 1))
-        (set! (lexical x y) (call (primitive 1+) (lexical x y))))
+        (set! (lexical x y) (primcall 1+ (lexical x y))))
    (program () (std-prelude 0 1 #f) (label _)
             (const 1) (bind (x #t 0)) (lexical #t #t box 0)
             (lexical #t #t ref 0) (call add1 1) (lexical #t #t set 0)
 
   (assert-tree-il->glil
    (let (x) (y) ((const 1))
-        (begin (set! (lexical x y) (call (primitive 1+) (lexical x y)))
+        (begin (set! (lexical x y) (primcall 1+ (lexical x y)))
                (lexical x y)))
    (program () (std-prelude 0 1 #f) (label _)
             (const 1) (bind (x #t 0)) (lexical #t #t box 0)
 
   (assert-tree-il->glil
    (let (x) (y) ((const 1))
-     (call (primitive null?)
-            (set! (lexical x y) (call (primitive 1+) (lexical x y)))))
+     (primcall null?
+           (set! (lexical x y) (primcall 1+ (lexical x y)))))
    (program () (std-prelude 0 1 #f) (label _)
             (const 1) (bind (x #t 0)) (lexical #t #t box 0)
             (lexical #t #t ref 0) (call add1 1) (lexical #t #t set 0) (void)
             (const #f) (call return 1)))
 
   (assert-tree-il->glil
-   (call (primitive null?) (@ (foo) bar))
+   (primcall null? (@ (foo) bar))
    (program () (std-prelude 0 0 #f) (label _)
             (module public ref (foo) bar)
             (call null? 1) (call return 1)))
             (const #f) (call return 1)))
 
   (assert-tree-il->glil
-   (call (primitive null?) (@@ (foo) bar))
+   (primcall null? (@@ (foo) bar))
    (program () (std-prelude 0 0 #f) (label _)
             (module private ref (foo) bar)
             (call null? 1) (call return 1))))
             (const #f) (call return 1)))
 
   (assert-tree-il->glil
-   (call (primitive null?) (set! (@ (foo) bar) (const 2)))
+   (primcall null? (set! (@ (foo) bar) (const 2)))
    (program () (std-prelude 0 0 #f) (label _)
             (const 2) (module public set (foo) bar)
             (void) (call null? 1) (call return 1)))
             (const #f) (call return 1)))
 
   (assert-tree-il->glil
-   (call (primitive null?) (set! (@@ (foo) bar) (const 2)))
+   (primcall null? (set! (@@ (foo) bar) (const 2)))
    (program () (std-prelude 0 0 #f) (label _)
             (const 2) (module private set (foo) bar)
             (void) (call null? 1) (call return 1))))
             (const #f) (call return 1)))
 
   (assert-tree-il->glil
-   (call (primitive null?) (toplevel bar))
+   (primcall null? (toplevel bar))
    (program () (std-prelude 0 0 #f) (label _)
             (toplevel ref bar)
             (call null? 1) (call return 1))))
             (const #f) (call return 1)))
 
   (assert-tree-il->glil
-   (call (primitive null?) (set! (toplevel bar) (const 2)))
+   (primcall null? (set! (toplevel bar) (const 2)))
    (program () (std-prelude 0 0 #f) (label _)
             (const 2) (toplevel set bar)
             (void) (call null? 1) (call return 1))))
             (const #f) (call return 1)))
 
   (assert-tree-il->glil
-   (call (primitive null?) (define bar (const 2)))
+   (primcall null? (define bar (const 2)))
    (program () (std-prelude 0 0 #f) (label _)
             (const 2) (toplevel define bar)
             (void) (call null? 1) (call return 1))))
             (const #f) (call return 1)))
 
   (assert-tree-il->glil
-   (call (primitive null?) (const 2))
+   (primcall null? (const 2))
    (program () (std-prelude 0 0 #f) (label _)
             (const 2) (call null? 1) (call return 1))))
 
   ;; complex bindings -> box and set! within let
   (assert-tree-il->glil
    (letrec (x y) (x1 y1) ((call (toplevel foo)) (call (toplevel bar)))
-           (call (primitive +) (lexical x x1) (lexical y y1)))
+           (primcall + (lexical x x1) (lexical y y1)))
    (program () (std-prelude 0 4 #f) (label _)
             (void) (void) ;; what are these?
             (bind (x #t 0) (y #t 1))
   ;; complex bindings in letrec* -> box and set! in order
   (assert-tree-il->glil
    (letrec* (x y) (x1 y1) ((call (toplevel foo)) (call (toplevel bar)))
-            (call (primitive +) (lexical x x1) (lexical y y1)))
+            (primcall + (lexical x x1) (lexical y y1)))
    (program () (std-prelude 0 2 #f) (label _)
             (void) (void) ;; what are these?
             (bind (x #t 0) (y #t 1))
             (const #t) (call return 1)))
 
   (assert-tree-il->glil
-   (call (primitive null?) (begin (const #f) (const 2)))
+   (primcall null? (begin (const #f) (const 2)))
    (program () (std-prelude 0 0 #f) (label _)
             (const 2) (call null? 1) (call return 1))))
 
 
 (with-test-prefix "apply"
   (assert-tree-il->glil
-   (call (primitive @apply) (toplevel foo) (toplevel bar))
+   (primcall @apply (toplevel foo) (toplevel bar))
    (program () (std-prelude 0 0 #f) (label _) (toplevel ref foo) (toplevel ref bar) (call tail-apply 2)))
   (assert-tree-il->glil
-   (begin (call (primitive @apply) (toplevel foo) (toplevel bar)) (void))
+   (begin (primcall @apply (toplevel foo) (toplevel bar)) (void))
    (program () (std-prelude 0 0 #f) (label _)
             (call new-frame 0) (toplevel ref apply) (toplevel ref foo) (toplevel ref bar) (mv-call 2 ,l1)
             (call drop 1) (branch br ,l2) (label ,l3) (mv-bind 0 #f)
 
 (with-test-prefix "call/cc"
   (assert-tree-il->glil
-   (call (primitive @call-with-current-continuation) (toplevel foo))
+   (primcall @call-with-current-continuation (toplevel foo))
    (program () (std-prelude 0 0 #f) (label _) (toplevel ref foo) (call tail-call/cc 1)))
   (assert-tree-il->glil
-   (begin (call (primitive @call-with-current-continuation) (toplevel foo)) (void))
+   (begin (primcall @call-with-current-continuation (toplevel foo)) (void))
    (program () (std-prelude 0 0 #f) (label _)
             (call new-frame 0) (toplevel ref call-with-current-continuation) (toplevel ref foo) (mv-call 1 ,l1)
             (call drop 1) (branch br ,l2) (label ,l3) (mv-bind 0 #f)