psyntax, primitive expander, and memoizer support for letrec*
authorAndy Wingo <wingo@pobox.com>
Thu, 17 Jun 2010 09:12:58 +0000 (11:12 +0200)
committerAndy Wingo <wingo@pobox.com>
Thu, 17 Jun 2010 11:43:26 +0000 (13:43 +0200)
* libguile/expand.c (expand_letrec_helper): Factor out common code.
  (expand_letrec): Use expand_letrec_helper.
  (expand_letrec_star): New primitive syntax: letrec*.

* libguile/memoize.c (memoize): Add memoizer support for in-order letrec
  (letrec*).

* module/ice-9/psyntax.scm (build-letrec): Another arg, `in-order?'.
  (chi-body): Adapt to build-letrec change. We don't yet use letrec* for
  internal definitions.
  (letrec): Adapt to build-letrec change.
  (letrec*): New expander.

* module/ice-9/psyntax-pp.scm: Regenerated.

libguile/expand.c
libguile/memoize.c
module/ice-9/psyntax-pp.scm
module/ice-9/psyntax.scm

index 62e3acf..bdecd80 100644 (file)
@@ -163,6 +163,7 @@ SCM_SYNTAX ("set!", expand_set_x);
 SCM_SYNTAX ("and", expand_and);
 SCM_SYNTAX ("cond", expand_cond);
 SCM_SYNTAX ("letrec", expand_letrec);
+SCM_SYNTAX ("letrec*", expand_letrec_star);
 SCM_SYNTAX ("let*", expand_letstar);
 SCM_SYNTAX ("or", expand_or);
 SCM_SYNTAX ("lambda*", expand_lambda_star);
@@ -1030,7 +1031,7 @@ expand_let (SCM expr, SCM env)
 }
 
 static SCM
-expand_letrec (SCM expr, SCM env)
+expand_letrec_helper (SCM expr, SCM env, SCM in_order_p)
 {
   SCM bindings;
 
@@ -1048,12 +1049,24 @@ expand_letrec (SCM expr, SCM env)
       SCM var_names, var_syms, inits;
       transform_bindings (bindings, expr, &var_names, &var_syms, &inits);
       env = expand_env_extend (env, var_names, var_syms);
-      return LETREC (SCM_BOOL_F, SCM_BOOL_F,
+      return LETREC (SCM_BOOL_F, in_order_p,
                      var_names, var_syms, expand_exprs (inits, env),
                      expand_sequence (CDDR (expr), env));
     }
 }
 
+static SCM
+expand_letrec (SCM expr, SCM env)
+{
+  return expand_letrec_helper (expr, env, SCM_BOOL_F);
+}
+
+static SCM
+expand_letrec_star (SCM expr, SCM env)
+{
+  return expand_letrec_helper (expr, env, SCM_BOOL_T);
+}
+
 static SCM
 expand_letstar_clause (SCM bindings, SCM body, SCM env SCM_UNUSED)
 {
index 977b869..44c0101 100644 (file)
@@ -374,33 +374,50 @@ memoize (SCM exp, SCM env)
 
     case SCM_EXPANDED_LETREC:
       {
-        SCM vars, exps, body, undefs, inits, sets, new_env;
-        int i, nvars;
+        SCM vars, exps, body, undefs, new_env;
+        int i, nvars, in_order_p;
         
         vars = REF (exp, LETREC, GENSYMS);
         exps = REF (exp, LETREC, VALS);
         body = REF (exp, LETREC, BODY);
+        in_order_p = scm_is_true (REF (exp, LETREC, IN_ORDER_P));
         nvars = i = scm_ilength (vars);
-        inits = undefs = sets = SCM_EOL;
+        undefs = SCM_EOL;
         new_env = env;
 
-        for (; scm_is_pair (vars); vars = CDR (vars), i--)
+        for (; scm_is_pair (vars); vars = CDR (vars))
           {
             new_env = scm_cons (CAR (vars), new_env);
             undefs = scm_cons (MAKMEMO_QUOTE (SCM_UNDEFINED), undefs);
-            sets = scm_cons (MAKMEMO_LEX_SET ((i-1) + nvars,
-                                              MAKMEMO_LEX_REF (i-1)),
-                             sets);
           }
 
-        for (; scm_is_pair (exps); exps = CDR (exps))
-          inits = scm_cons (memoize (CAR (exps), new_env), inits);
-        inits = scm_reverse_x (inits, SCM_UNDEFINED);
-
-        return MAKMEMO_LET
-          (undefs,
-           MAKMEMO_BEGIN (scm_list_2 (MAKMEMO_LET (inits, MAKMEMO_BEGIN (sets)),
-                                      memoize (body, new_env))));
+        if (in_order_p)
+          {
+            SCM body_exps = SCM_EOL;
+            for (; scm_is_pair (exps); exps = CDR (exps), i--)
+              body_exps = scm_cons (MAKMEMO_LEX_SET (i-1,
+                                                     memoize (CAR (exps), new_env)),
+                                    body_exps);
+            body_exps = scm_cons (memoize (body, new_env), body_exps);
+            body_exps = scm_reverse_x (body_exps, SCM_UNDEFINED);
+            return MAKMEMO_LET (undefs, MAKMEMO_BEGIN (body_exps));
+          }
+        else
+          {
+            SCM sets = SCM_EOL, inits = SCM_EOL;
+            for (; scm_is_pair (exps); exps = CDR (exps), i--)
+              {
+                sets = scm_cons (MAKMEMO_LEX_SET ((i-1) + nvars,
+                                                  MAKMEMO_LEX_REF (i-1)),
+                                 sets);
+                inits = scm_cons (memoize (CAR (exps), new_env), inits);
+              }
+            inits = scm_reverse_x (inits, SCM_UNDEFINED);
+            return MAKMEMO_LET
+              (undefs,
+               MAKMEMO_BEGIN (scm_list_2 (MAKMEMO_LET (inits, MAKMEMO_BEGIN (sets)),
+                                          memoize (body, new_env))));
+          }
       }
 
     case SCM_EXPANDED_DYNLET:
index 26ff667..092d48b 100644 (file)
                                                           #{bindings\ 1399}#
                                                           (cdr #{r\ 1378}#)))
                                                       (#{build-letrec\ 340}#
+                                                        #f
                                                         #f
                                                         (map syntax->datum
                                                              #{var-ids\ 1396}#)
                  #{module\ 2385}#)))
            (#{build-letrec\ 340}#
              (lambda (#{src\ 2389}#
-                      #{ids\ 2390}#
-                      #{vars\ 2391}#
-                      #{val-exps\ 2392}#
-                      #{body-exp\ 2393}#)
-               (if (null? #{vars\ 2391}#)
-                 #{body-exp\ 2393}#
+                      #{in-order?\ 2390}#
+                      #{ids\ 2391}#
+                      #{vars\ 2392}#
+                      #{val-exps\ 2393}#
+                      #{body-exp\ 2394}#)
+               (if (null? #{vars\ 2392}#)
+                 #{body-exp\ 2394}#
                  (begin
                    (for-each
                      #{maybe-name-value!\ 320}#
-                     #{ids\ 2390}#
-                     #{val-exps\ 2392}#)
+                     #{ids\ 2391}#
+                     #{val-exps\ 2393}#)
                    (#{make-letrec\ 272}#
                      #{src\ 2389}#
-                     #f
-                     #{ids\ 2390}#
-                     #{vars\ 2391}#
-                     #{val-exps\ 2392}#
-                     #{body-exp\ 2393}#)))))
+                     #{in-order?\ 2390}#
+                     #{ids\ 2391}#
+                     #{vars\ 2392}#
+                     #{val-exps\ 2393}#
+                     #{body-exp\ 2394}#)))))
            (#{build-named-let\ 338}#
-             (lambda (#{src\ 2399}#
-                      #{ids\ 2400}#
-                      #{vars\ 2401}#
-                      #{val-exps\ 2402}#
-                      #{body-exp\ 2403}#)
-               (let ((#{f\ 2413}# (car #{vars\ 2401}#))
-                     (#{f-name\ 2414}# (car #{ids\ 2400}#))
-                     (#{vars\ 2415}# (cdr #{vars\ 2401}#))
-                     (#{ids\ 2416}# (cdr #{ids\ 2400}#)))
-                 (let ((#{proc\ 2418}#
+             (lambda (#{src\ 2401}#
+                      #{ids\ 2402}#
+                      #{vars\ 2403}#
+                      #{val-exps\ 2404}#
+                      #{body-exp\ 2405}#)
+               (let ((#{f\ 2415}# (car #{vars\ 2403}#))
+                     (#{f-name\ 2416}# (car #{ids\ 2402}#))
+                     (#{vars\ 2417}# (cdr #{vars\ 2403}#))
+                     (#{ids\ 2418}# (cdr #{ids\ 2402}#)))
+                 (let ((#{proc\ 2420}#
                          (#{build-simple-lambda\ 324}#
-                           #{src\ 2399}#
-                           #{ids\ 2416}#
+                           #{src\ 2401}#
+                           #{ids\ 2418}#
                            #f
-                           #{vars\ 2415}#
+                           #{vars\ 2417}#
                            '()
-                           #{body-exp\ 2403}#)))
+                           #{body-exp\ 2405}#)))
                    (begin
                      (#{maybe-name-value!\ 320}#
-                       #{f-name\ 2414}#
-                       #{proc\ 2418}#)
+                       #{f-name\ 2416}#
+                       #{proc\ 2420}#)
                      (for-each
                        #{maybe-name-value!\ 320}#
-                       #{ids\ 2416}#
-                       #{val-exps\ 2402}#)
+                       #{ids\ 2418}#
+                       #{val-exps\ 2404}#)
                      (#{make-letrec\ 272}#
-                       #{src\ 2399}#
+                       #{src\ 2401}#
                        #f
-                       (list #{f-name\ 2414}#)
-                       (list #{f\ 2413}#)
-                       (list #{proc\ 2418}#)
+                       (list #{f-name\ 2416}#)
+                       (list #{f\ 2415}#)
+                       (list #{proc\ 2420}#)
                        (#{build-application\ 304}#
-                         #{src\ 2399}#
+                         #{src\ 2401}#
                          (#{build-lexical-reference\ 310}#
                            'fun
-                           #{src\ 2399}#
-                           #{f-name\ 2414}#
-                           #{f\ 2413}#)
-                         #{val-exps\ 2402}#)))))))
+                           #{src\ 2401}#
+                           #{f-name\ 2416}#
+                           #{f\ 2415}#)
+                         #{val-exps\ 2404}#)))))))
            (#{build-let\ 336}#
-             (lambda (#{src\ 2419}#
-                      #{ids\ 2420}#
-                      #{vars\ 2421}#
-                      #{val-exps\ 2422}#
-                      #{body-exp\ 2423}#)
+             (lambda (#{src\ 2421}#
+                      #{ids\ 2422}#
+                      #{vars\ 2423}#
+                      #{val-exps\ 2424}#
+                      #{body-exp\ 2425}#)
                (begin
                  (for-each
                    #{maybe-name-value!\ 320}#
-                   #{ids\ 2420}#
-                   #{val-exps\ 2422}#)
-                 (if (null? #{vars\ 2421}#)
-                   #{body-exp\ 2423}#
+                   #{ids\ 2422}#
+                   #{val-exps\ 2424}#)
+                 (if (null? #{vars\ 2423}#)
+                   #{body-exp\ 2425}#
                    (#{make-let\ 270}#
-                     #{src\ 2419}#
-                     #{ids\ 2420}#
-                     #{vars\ 2421}#
-                     #{val-exps\ 2422}#
-                     #{body-exp\ 2423}#)))))
+                     #{src\ 2421}#
+                     #{ids\ 2422}#
+                     #{vars\ 2423}#
+                     #{val-exps\ 2424}#
+                     #{body-exp\ 2425}#)))))
            (#{build-sequence\ 334}#
-             (lambda (#{src\ 2429}# #{exps\ 2430}#)
-               (if (null? (cdr #{exps\ 2430}#))
-                 (car #{exps\ 2430}#)
+             (lambda (#{src\ 2431}# #{exps\ 2432}#)
+               (if (null? (cdr #{exps\ 2432}#))
+                 (car #{exps\ 2432}#)
                  (#{make-sequence\ 264}#
-                   #{src\ 2429}#
-                   #{exps\ 2430}#))))
+                   #{src\ 2431}#
+                   #{exps\ 2432}#))))
            (#{build-data\ 332}#
-             (lambda (#{src\ 2433}# #{exp\ 2434}#)
-               (#{make-const\ 242}# #{src\ 2433}# #{exp\ 2434}#)))
+             (lambda (#{src\ 2435}# #{exp\ 2436}#)
+               (#{make-const\ 242}# #{src\ 2435}# #{exp\ 2436}#)))
            (#{build-primref\ 330}#
-             (lambda (#{src\ 2437}# #{name\ 2438}#)
+             (lambda (#{src\ 2439}# #{name\ 2440}#)
                (if (equal?
                      (module-name (current-module))
                      '(guile))
                  (#{make-toplevel-ref\ 254}#
-                   #{src\ 2437}#
-                   #{name\ 2438}#)
+                   #{src\ 2439}#
+                   #{name\ 2440}#)
                  (#{make-module-ref\ 250}#
-                   #{src\ 2437}#
+                   #{src\ 2439}#
                    '(guile)
-                   #{name\ 2438}#
+                   #{name\ 2440}#
                    #f))))
            (#{build-lambda-case\ 328}#
-             (lambda (#{src\ 2441}#
-                      #{req\ 2442}#
-                      #{opt\ 2443}#
-                      #{rest\ 2444}#
-                      #{kw\ 2445}#
-                      #{inits\ 2446}#
-                      #{vars\ 2447}#
-                      #{body\ 2448}#
-                      #{else-case\ 2449}#)
+             (lambda (#{src\ 2443}#
+                      #{req\ 2444}#
+                      #{opt\ 2445}#
+                      #{rest\ 2446}#
+                      #{kw\ 2447}#
+                      #{inits\ 2448}#
+                      #{vars\ 2449}#
+                      #{body\ 2450}#
+                      #{else-case\ 2451}#)
                (#{make-lambda-case\ 268}#
-                 #{src\ 2441}#
-                 #{req\ 2442}#
-                 #{opt\ 2443}#
-                 #{rest\ 2444}#
-                 #{kw\ 2445}#
-                 #{inits\ 2446}#
-                 #{vars\ 2447}#
-                 #{body\ 2448}#
-                 #{else-case\ 2449}#)))
+                 #{src\ 2443}#
+                 #{req\ 2444}#
+                 #{opt\ 2445}#
+                 #{rest\ 2446}#
+                 #{kw\ 2447}#
+                 #{inits\ 2448}#
+                 #{vars\ 2449}#
+                 #{body\ 2450}#
+                 #{else-case\ 2451}#)))
            (#{build-case-lambda\ 326}#
-             (lambda (#{src\ 2459}# #{meta\ 2460}# #{body\ 2461}#)
+             (lambda (#{src\ 2461}# #{meta\ 2462}# #{body\ 2463}#)
                (#{make-lambda\ 266}#
-                 #{src\ 2459}#
-                 #{meta\ 2460}#
-                 #{body\ 2461}#)))
+                 #{src\ 2461}#
+                 #{meta\ 2462}#
+                 #{body\ 2463}#)))
            (#{build-simple-lambda\ 324}#
-             (lambda (#{src\ 2465}#
-                      #{req\ 2466}#
-                      #{rest\ 2467}#
-                      #{vars\ 2468}#
-                      #{meta\ 2469}#
-                      #{exp\ 2470}#)
+             (lambda (#{src\ 2467}#
+                      #{req\ 2468}#
+                      #{rest\ 2469}#
+                      #{vars\ 2470}#
+                      #{meta\ 2471}#
+                      #{exp\ 2472}#)
                (#{make-lambda\ 266}#
-                 #{src\ 2465}#
-                 #{meta\ 2469}#
+                 #{src\ 2467}#
+                 #{meta\ 2471}#
                  (#{make-lambda-case\ 268}#
-                   #{src\ 2465}#
-                   #{req\ 2466}#
+                   #{src\ 2467}#
+                   #{req\ 2468}#
                    #f
-                   #{rest\ 2467}#
+                   #{rest\ 2469}#
                    #f
                    '()
-                   #{vars\ 2468}#
-                   #{exp\ 2470}#
+                   #{vars\ 2470}#
+                   #{exp\ 2472}#
                    #f))))
            (#{build-global-definition\ 322}#
-             (lambda (#{source\ 2477}# #{var\ 2478}# #{exp\ 2479}#)
+             (lambda (#{source\ 2479}# #{var\ 2480}# #{exp\ 2481}#)
                (begin
                  (#{maybe-name-value!\ 320}#
-                   #{var\ 2478}#
-                   #{exp\ 2479}#)
+                   #{var\ 2480}#
+                   #{exp\ 2481}#)
                  (#{make-toplevel-define\ 258}#
-                   #{source\ 2477}#
-                   #{var\ 2478}#
-                   #{exp\ 2479}#))))
+                   #{source\ 2479}#
+                   #{var\ 2480}#
+                   #{exp\ 2481}#))))
            (#{maybe-name-value!\ 320}#
-             (lambda (#{name\ 2483}# #{val\ 2484}#)
-               (if (#{lambda?\ 277}# #{val\ 2484}#)
-                 (let ((#{meta\ 2488}#
-                         (#{lambda-meta\ 279}# #{val\ 2484}#)))
-                   (if (not (assq (quote name) #{meta\ 2488}#))
+             (lambda (#{name\ 2485}# #{val\ 2486}#)
+               (if (#{lambda?\ 277}# #{val\ 2486}#)
+                 (let ((#{meta\ 2490}#
+                         (#{lambda-meta\ 279}# #{val\ 2486}#)))
+                   (if (not (assq (quote name) #{meta\ 2490}#))
                      (#{set-lambda-meta!\ 281}#
-                       #{val\ 2484}#
+                       #{val\ 2486}#
                        (acons 'name
-                              #{name\ 2483}#
-                              #{meta\ 2488}#)))))))
+                              #{name\ 2485}#
+                              #{meta\ 2490}#)))))))
            (#{build-global-assignment\ 318}#
-             (lambda (#{source\ 2489}#
-                      #{var\ 2490}#
-                      #{exp\ 2491}#
-                      #{mod\ 2492}#)
+             (lambda (#{source\ 2491}#
+                      #{var\ 2492}#
+                      #{exp\ 2493}#
+                      #{mod\ 2494}#)
                (#{analyze-variable\ 314}#
-                 #{mod\ 2492}#
-                 #{var\ 2490}#
-                 (lambda (#{mod\ 2497}# #{var\ 2498}# #{public?\ 2499}#)
+                 #{mod\ 2494}#
+                 #{var\ 2492}#
+                 (lambda (#{mod\ 2499}# #{var\ 2500}# #{public?\ 2501}#)
                    (#{make-module-set\ 252}#
-                     #{source\ 2489}#
-                     #{mod\ 2497}#
-                     #{var\ 2498}#
-                     #{public?\ 2499}#
-                     #{exp\ 2491}#))
-                 (lambda (#{var\ 2503}#)
+                     #{source\ 2491}#
+                     #{mod\ 2499}#
+                     #{var\ 2500}#
+                     #{public?\ 2501}#
+                     #{exp\ 2493}#))
+                 (lambda (#{var\ 2505}#)
                    (#{make-toplevel-set\ 256}#
-                     #{source\ 2489}#
-                     #{var\ 2503}#
-                     #{exp\ 2491}#)))))
+                     #{source\ 2491}#
+                     #{var\ 2505}#
+                     #{exp\ 2493}#)))))
            (#{build-global-reference\ 316}#
-             (lambda (#{source\ 2505}# #{var\ 2506}# #{mod\ 2507}#)
+             (lambda (#{source\ 2507}# #{var\ 2508}# #{mod\ 2509}#)
                (#{analyze-variable\ 314}#
-                 #{mod\ 2507}#
-                 #{var\ 2506}#
-                 (lambda (#{mod\ 2511}# #{var\ 2512}# #{public?\ 2513}#)
+                 #{mod\ 2509}#
+                 #{var\ 2508}#
+                 (lambda (#{mod\ 2513}# #{var\ 2514}# #{public?\ 2515}#)
                    (#{make-module-ref\ 250}#
-                     #{source\ 2505}#
-                     #{mod\ 2511}#
-                     #{var\ 2512}#
-                     #{public?\ 2513}#))
-                 (lambda (#{var\ 2517}#)
+                     #{source\ 2507}#
+                     #{mod\ 2513}#
+                     #{var\ 2514}#
+                     #{public?\ 2515}#))
+                 (lambda (#{var\ 2519}#)
                    (#{make-toplevel-ref\ 254}#
-                     #{source\ 2505}#
-                     #{var\ 2517}#)))))
+                     #{source\ 2507}#
+                     #{var\ 2519}#)))))
            (#{analyze-variable\ 314}#
-             (lambda (#{mod\ 2519}#
-                      #{var\ 2520}#
-                      #{modref-cont\ 2521}#
-                      #{bare-cont\ 2522}#)
-               (if (not #{mod\ 2519}#)
-                 (#{bare-cont\ 2522}# #{var\ 2520}#)
-                 (let ((#{kind\ 2529}# (car #{mod\ 2519}#))
-                       (#{mod\ 2530}# (cdr #{mod\ 2519}#)))
-                   (if (memv #{kind\ 2529}# (quote (public)))
-                     (#{modref-cont\ 2521}#
-                       #{mod\ 2530}#
-                       #{var\ 2520}#
+             (lambda (#{mod\ 2521}#
+                      #{var\ 2522}#
+                      #{modref-cont\ 2523}#
+                      #{bare-cont\ 2524}#)
+               (if (not #{mod\ 2521}#)
+                 (#{bare-cont\ 2524}# #{var\ 2522}#)
+                 (let ((#{kind\ 2531}# (car #{mod\ 2521}#))
+                       (#{mod\ 2532}# (cdr #{mod\ 2521}#)))
+                   (if (memv #{kind\ 2531}# (quote (public)))
+                     (#{modref-cont\ 2523}#
+                       #{mod\ 2532}#
+                       #{var\ 2522}#
                        #t)
-                     (if (memv #{kind\ 2529}# (quote (private)))
+                     (if (memv #{kind\ 2531}# (quote (private)))
                        (if (not (equal?
-                                  #{mod\ 2530}#
+                                  #{mod\ 2532}#
                                   (module-name (current-module))))
-                         (#{modref-cont\ 2521}#
-                           #{mod\ 2530}#
-                           #{var\ 2520}#
+                         (#{modref-cont\ 2523}#
+                           #{mod\ 2532}#
+                           #{var\ 2522}#
                            #f)
-                         (#{bare-cont\ 2522}# #{var\ 2520}#))
-                       (if (memv #{kind\ 2529}# (quote (bare)))
-                         (#{bare-cont\ 2522}# #{var\ 2520}#)
-                         (if (memv #{kind\ 2529}# (quote (hygiene)))
+                         (#{bare-cont\ 2524}# #{var\ 2522}#))
+                       (if (memv #{kind\ 2531}# (quote (bare)))
+                         (#{bare-cont\ 2524}# #{var\ 2522}#)
+                         (if (memv #{kind\ 2531}# (quote (hygiene)))
                            (if (if (not (equal?
-                                          #{mod\ 2530}#
+                                          #{mod\ 2532}#
                                           (module-name (current-module))))
                                  (module-variable
-                                   (resolve-module #{mod\ 2530}#)
-                                   #{var\ 2520}#)
+                                   (resolve-module #{mod\ 2532}#)
+                                   #{var\ 2522}#)
                                  #f)
-                             (#{modref-cont\ 2521}#
-                               #{mod\ 2530}#
-                               #{var\ 2520}#
+                             (#{modref-cont\ 2523}#
+                               #{mod\ 2532}#
+                               #{var\ 2522}#
                                #f)
-                             (#{bare-cont\ 2522}# #{var\ 2520}#))
+                             (#{bare-cont\ 2524}# #{var\ 2522}#))
                            (syntax-violation
                              #f
                              "bad module kind"
-                             #{var\ 2520}#
-                             #{mod\ 2530}#)))))))))
+                             #{var\ 2522}#
+                             #{mod\ 2532}#)))))))))
            (#{build-lexical-assignment\ 312}#
-             (lambda (#{source\ 2538}#
-                      #{name\ 2539}#
-                      #{var\ 2540}#
-                      #{exp\ 2541}#)
+             (lambda (#{source\ 2540}#
+                      #{name\ 2541}#
+                      #{var\ 2542}#
+                      #{exp\ 2543}#)
                (#{make-lexical-set\ 248}#
-                 #{source\ 2538}#
-                 #{name\ 2539}#
-                 #{var\ 2540}#
-                 #{exp\ 2541}#)))
+                 #{source\ 2540}#
+                 #{name\ 2541}#
+                 #{var\ 2542}#
+                 #{exp\ 2543}#)))
            (#{build-lexical-reference\ 310}#
-             (lambda (#{type\ 2546}#
-                      #{source\ 2547}#
-                      #{name\ 2548}#
-                      #{var\ 2549}#)
+             (lambda (#{type\ 2548}#
+                      #{source\ 2549}#
+                      #{name\ 2550}#
+                      #{var\ 2551}#)
                (#{make-lexical-ref\ 246}#
-                 #{source\ 2547}#
-                 #{name\ 2548}#
-                 #{var\ 2549}#)))
+                 #{source\ 2549}#
+                 #{name\ 2550}#
+                 #{var\ 2551}#)))
            (#{build-dynlet\ 308}#
-             (lambda (#{source\ 2554}#
-                      #{fluids\ 2555}#
-                      #{vals\ 2556}#
-                      #{body\ 2557}#)
+             (lambda (#{source\ 2556}#
+                      #{fluids\ 2557}#
+                      #{vals\ 2558}#
+                      #{body\ 2559}#)
                (#{make-dynlet\ 274}#
-                 #{source\ 2554}#
-                 #{fluids\ 2555}#
-                 #{vals\ 2556}#
-                 #{body\ 2557}#)))
+                 #{source\ 2556}#
+                 #{fluids\ 2557}#
+                 #{vals\ 2558}#
+                 #{body\ 2559}#)))
            (#{build-conditional\ 306}#
-             (lambda (#{source\ 2562}#
-                      #{test-exp\ 2563}#
-                      #{then-exp\ 2564}#
-                      #{else-exp\ 2565}#)
+             (lambda (#{source\ 2564}#
+                      #{test-exp\ 2565}#
+                      #{then-exp\ 2566}#
+                      #{else-exp\ 2567}#)
                (#{make-conditional\ 260}#
-                 #{source\ 2562}#
-                 #{test-exp\ 2563}#
-                 #{then-exp\ 2564}#
-                 #{else-exp\ 2565}#)))
+                 #{source\ 2564}#
+                 #{test-exp\ 2565}#
+                 #{then-exp\ 2566}#
+                 #{else-exp\ 2567}#)))
            (#{build-application\ 304}#
-             (lambda (#{source\ 2570}#
-                      #{fun-exp\ 2571}#
-                      #{arg-exps\ 2572}#)
+             (lambda (#{source\ 2572}#
+                      #{fun-exp\ 2573}#
+                      #{arg-exps\ 2574}#)
                (#{make-application\ 262}#
-                 #{source\ 2570}#
-                 #{fun-exp\ 2571}#
-                 #{arg-exps\ 2572}#)))
+                 #{source\ 2572}#
+                 #{fun-exp\ 2573}#
+                 #{arg-exps\ 2574}#)))
            (#{build-void\ 302}#
-             (lambda (#{source\ 2576}#)
-               (#{make-void\ 240}# #{source\ 2576}#)))
+             (lambda (#{source\ 2578}#)
+               (#{make-void\ 240}# #{source\ 2578}#)))
            (#{decorate-source\ 300}#
-             (lambda (#{e\ 2578}# #{s\ 2579}#)
+             (lambda (#{e\ 2580}# #{s\ 2581}#)
                (begin
-                 (if (if (pair? #{e\ 2578}#) #{s\ 2579}# #f)
-                   (set-source-properties! #{e\ 2578}# #{s\ 2579}#))
-                 #{e\ 2578}#)))
+                 (if (if (pair? #{e\ 2580}#) #{s\ 2581}# #f)
+                   (set-source-properties! #{e\ 2580}# #{s\ 2581}#))
+                 #{e\ 2580}#)))
            (#{get-global-definition-hook\ 298}#
-             (lambda (#{symbol\ 2584}# #{module\ 2585}#)
+             (lambda (#{symbol\ 2586}# #{module\ 2587}#)
                (begin
-                 (if (if (not #{module\ 2585}#) (current-module) #f)
+                 (if (if (not #{module\ 2587}#) (current-module) #f)
                    (warn "module system is booted, we should have a module"
-                         #{symbol\ 2584}#))
-                 (let ((#{v\ 2591}#
+                         #{symbol\ 2586}#))
+                 (let ((#{v\ 2593}#
                          (module-variable
-                           (if #{module\ 2585}#
-                             (resolve-module (cdr #{module\ 2585}#))
+                           (if #{module\ 2587}#
+                             (resolve-module (cdr #{module\ 2587}#))
                              (current-module))
-                           #{symbol\ 2584}#)))
-                   (if #{v\ 2591}#
-                     (if (variable-bound? #{v\ 2591}#)
-                       (let ((#{val\ 2596}# (variable-ref #{v\ 2591}#)))
-                         (if (macro? #{val\ 2596}#)
-                           (if (macro-type #{val\ 2596}#)
-                             (cons (macro-type #{val\ 2596}#)
-                                   (macro-binding #{val\ 2596}#))
+                           #{symbol\ 2586}#)))
+                   (if #{v\ 2593}#
+                     (if (variable-bound? #{v\ 2593}#)
+                       (let ((#{val\ 2598}# (variable-ref #{v\ 2593}#)))
+                         (if (macro? #{val\ 2598}#)
+                           (if (macro-type #{val\ 2598}#)
+                             (cons (macro-type #{val\ 2598}#)
+                                   (macro-binding #{val\ 2598}#))
                              #f)
                            #f))
                        #f)
                      #f)))))
            (#{put-global-definition-hook\ 296}#
-             (lambda (#{symbol\ 2600}# #{type\ 2601}# #{val\ 2602}#)
+             (lambda (#{symbol\ 2602}# #{type\ 2603}# #{val\ 2604}#)
                (module-define!
                  (current-module)
-                 #{symbol\ 2600}#
+                 #{symbol\ 2602}#
                  (make-syntax-transformer
-                   #{symbol\ 2600}#
-                   #{type\ 2601}#
-                   #{val\ 2602}#))))
+                   #{symbol\ 2602}#
+                   #{type\ 2603}#
+                   #{val\ 2604}#))))
            (#{local-eval-hook\ 293}#
-             (lambda (#{x\ 2606}# #{mod\ 2607}#)
-               (primitive-eval #{x\ 2606}#)))
+             (lambda (#{x\ 2608}# #{mod\ 2609}#)
+               (primitive-eval #{x\ 2608}#)))
            (#{top-level-eval-hook\ 291}#
-             (lambda (#{x\ 2610}# #{mod\ 2611}#)
-               (primitive-eval #{x\ 2610}#)))
+             (lambda (#{x\ 2612}# #{mod\ 2613}#)
+               (primitive-eval #{x\ 2612}#)))
            (#{fx<\ 289}# <)
            (#{fx=\ 287}# =)
            (#{fx-\ 285}# -)
            (#{fx+\ 283}# +)
            (#{set-lambda-meta!\ 281}#
-             (lambda (#{x\ 2614}# #{v\ 2615}#)
-               (struct-set! #{x\ 2614}# 1 #{v\ 2615}#)))
+             (lambda (#{x\ 2616}# #{v\ 2617}#)
+               (struct-set! #{x\ 2616}# 1 #{v\ 2617}#)))
            (#{lambda-meta\ 279}#
-             (lambda (#{x\ 2618}#) (struct-ref #{x\ 2618}# 1)))
+             (lambda (#{x\ 2620}#) (struct-ref #{x\ 2620}# 1)))
            (#{lambda?\ 277}#
-             (lambda (#{x\ 2620}#)
-               (if (struct? #{x\ 2620}#)
-                 (eq? (struct-vtable #{x\ 2620}#)
+             (lambda (#{x\ 2622}#)
+               (if (struct? #{x\ 2622}#)
+                 (eq? (struct-vtable #{x\ 2622}#)
                       (vector-ref %expanded-vtables 13))
                  #f)))
            (#{make-dynlet\ 274}#
-             (lambda (#{src\ 2624}#
-                      #{fluids\ 2625}#
-                      #{vals\ 2626}#
-                      #{body\ 2627}#)
+             (lambda (#{src\ 2626}#
+                      #{fluids\ 2627}#
+                      #{vals\ 2628}#
+                      #{body\ 2629}#)
                (make-struct
                  (vector-ref %expanded-vtables 17)
                  0
-                 #{src\ 2624}#
-                 #{fluids\ 2625}#
-                 #{vals\ 2626}#
-                 #{body\ 2627}#)))
+                 #{src\ 2626}#
+                 #{fluids\ 2627}#
+                 #{vals\ 2628}#
+                 #{body\ 2629}#)))
            (#{make-letrec\ 272}#
-             (lambda (#{src\ 2632}#
-                      #{in-order?\ 2633}#
-                      #{names\ 2634}#
-                      #{gensyms\ 2635}#
-                      #{vals\ 2636}#
-                      #{body\ 2637}#)
+             (lambda (#{src\ 2634}#
+                      #{in-order?\ 2635}#
+                      #{names\ 2636}#
+                      #{gensyms\ 2637}#
+                      #{vals\ 2638}#
+                      #{body\ 2639}#)
                (make-struct
                  (vector-ref %expanded-vtables 16)
                  0
-                 #{src\ 2632}#
-                 #{in-order?\ 2633}#
-                 #{names\ 2634}#
-                 #{gensyms\ 2635}#
-                 #{vals\ 2636}#
-                 #{body\ 2637}#)))
+                 #{src\ 2634}#
+                 #{in-order?\ 2635}#
+                 #{names\ 2636}#
+                 #{gensyms\ 2637}#
+                 #{vals\ 2638}#
+                 #{body\ 2639}#)))
            (#{make-let\ 270}#
-             (lambda (#{src\ 2644}#
-                      #{names\ 2645}#
-                      #{gensyms\ 2646}#
-                      #{vals\ 2647}#
-                      #{body\ 2648}#)
+             (lambda (#{src\ 2646}#
+                      #{names\ 2647}#
+                      #{gensyms\ 2648}#
+                      #{vals\ 2649}#
+                      #{body\ 2650}#)
                (make-struct
                  (vector-ref %expanded-vtables 15)
                  0
-                 #{src\ 2644}#
-                 #{names\ 2645}#
-                 #{gensyms\ 2646}#
-                 #{vals\ 2647}#
-                 #{body\ 2648}#)))
+                 #{src\ 2646}#
+                 #{names\ 2647}#
+                 #{gensyms\ 2648}#
+                 #{vals\ 2649}#
+                 #{body\ 2650}#)))
            (#{make-lambda-case\ 268}#
-             (lambda (#{src\ 2654}#
-                      #{req\ 2655}#
-                      #{opt\ 2656}#
-                      #{rest\ 2657}#
-                      #{kw\ 2658}#
-                      #{inits\ 2659}#
-                      #{gensyms\ 2660}#
-                      #{body\ 2661}#
-                      #{alternate\ 2662}#)
+             (lambda (#{src\ 2656}#
+                      #{req\ 2657}#
+                      #{opt\ 2658}#
+                      #{rest\ 2659}#
+                      #{kw\ 2660}#
+                      #{inits\ 2661}#
+                      #{gensyms\ 2662}#
+                      #{body\ 2663}#
+                      #{alternate\ 2664}#)
                (make-struct
                  (vector-ref %expanded-vtables 14)
                  0
-                 #{src\ 2654}#
-                 #{req\ 2655}#
-                 #{opt\ 2656}#
-                 #{rest\ 2657}#
-                 #{kw\ 2658}#
-                 #{inits\ 2659}#
-                 #{gensyms\ 2660}#
-                 #{body\ 2661}#
-                 #{alternate\ 2662}#)))
+                 #{src\ 2656}#
+                 #{req\ 2657}#
+                 #{opt\ 2658}#
+                 #{rest\ 2659}#
+                 #{kw\ 2660}#
+                 #{inits\ 2661}#
+                 #{gensyms\ 2662}#
+                 #{body\ 2663}#
+                 #{alternate\ 2664}#)))
            (#{make-lambda\ 266}#
-             (lambda (#{src\ 2672}# #{meta\ 2673}# #{body\ 2674}#)
+             (lambda (#{src\ 2674}# #{meta\ 2675}# #{body\ 2676}#)
                (make-struct
                  (vector-ref %expanded-vtables 13)
                  0
-                 #{src\ 2672}#
-                 #{meta\ 2673}#
-                 #{body\ 2674}#)))
+                 #{src\ 2674}#
+                 #{meta\ 2675}#
+                 #{body\ 2676}#)))
            (#{make-sequence\ 264}#
-             (lambda (#{src\ 2678}# #{exps\ 2679}#)
+             (lambda (#{src\ 2680}# #{exps\ 2681}#)
                (make-struct
                  (vector-ref %expanded-vtables 12)
                  0
-                 #{src\ 2678}#
-                 #{exps\ 2679}#)))
+                 #{src\ 2680}#
+                 #{exps\ 2681}#)))
            (#{make-application\ 262}#
-             (lambda (#{src\ 2682}# #{proc\ 2683}# #{args\ 2684}#)
+             (lambda (#{src\ 2684}# #{proc\ 2685}# #{args\ 2686}#)
                (make-struct
                  (vector-ref %expanded-vtables 11)
                  0
-                 #{src\ 2682}#
-                 #{proc\ 2683}#
-                 #{args\ 2684}#)))
+                 #{src\ 2684}#
+                 #{proc\ 2685}#
+                 #{args\ 2686}#)))
            (#{make-conditional\ 260}#
-             (lambda (#{src\ 2688}#
-                      #{test\ 2689}#
-                      #{consequent\ 2690}#
-                      #{alternate\ 2691}#)
+             (lambda (#{src\ 2690}#
+                      #{test\ 2691}#
+                      #{consequent\ 2692}#
+                      #{alternate\ 2693}#)
                (make-struct
                  (vector-ref %expanded-vtables 10)
                  0
-                 #{src\ 2688}#
-                 #{test\ 2689}#
-                 #{consequent\ 2690}#
-                 #{alternate\ 2691}#)))
+                 #{src\ 2690}#
+                 #{test\ 2691}#
+                 #{consequent\ 2692}#
+                 #{alternate\ 2693}#)))
            (#{make-toplevel-define\ 258}#
-             (lambda (#{src\ 2696}# #{name\ 2697}# #{exp\ 2698}#)
+             (lambda (#{src\ 2698}# #{name\ 2699}# #{exp\ 2700}#)
                (make-struct
                  (vector-ref %expanded-vtables 9)
                  0
-                 #{src\ 2696}#
-                 #{name\ 2697}#
-                 #{exp\ 2698}#)))
+                 #{src\ 2698}#
+                 #{name\ 2699}#
+                 #{exp\ 2700}#)))
            (#{make-toplevel-set\ 256}#
-             (lambda (#{src\ 2702}# #{name\ 2703}# #{exp\ 2704}#)
+             (lambda (#{src\ 2704}# #{name\ 2705}# #{exp\ 2706}#)
                (make-struct
                  (vector-ref %expanded-vtables 8)
                  0
-                 #{src\ 2702}#
-                 #{name\ 2703}#
-                 #{exp\ 2704}#)))
+                 #{src\ 2704}#
+                 #{name\ 2705}#
+                 #{exp\ 2706}#)))
            (#{make-toplevel-ref\ 254}#
-             (lambda (#{src\ 2708}# #{name\ 2709}#)
+             (lambda (#{src\ 2710}# #{name\ 2711}#)
                (make-struct
                  (vector-ref %expanded-vtables 7)
                  0
-                 #{src\ 2708}#
-                 #{name\ 2709}#)))
+                 #{src\ 2710}#
+                 #{name\ 2711}#)))
            (#{make-module-set\ 252}#
-             (lambda (#{src\ 2712}#
-                      #{mod\ 2713}#
-                      #{name\ 2714}#
-                      #{public?\ 2715}#
-                      #{exp\ 2716}#)
+             (lambda (#{src\ 2714}#
+                      #{mod\ 2715}#
+                      #{name\ 2716}#
+                      #{public?\ 2717}#
+                      #{exp\ 2718}#)
                (make-struct
                  (vector-ref %expanded-vtables 6)
                  0
-                 #{src\ 2712}#
-                 #{mod\ 2713}#
-                 #{name\ 2714}#
-                 #{public?\ 2715}#
-                 #{exp\ 2716}#)))
+                 #{src\ 2714}#
+                 #{mod\ 2715}#
+                 #{name\ 2716}#
+                 #{public?\ 2717}#
+                 #{exp\ 2718}#)))
            (#{make-module-ref\ 250}#
-             (lambda (#{src\ 2722}#
-                      #{mod\ 2723}#
-                      #{name\ 2724}#
-                      #{public?\ 2725}#)
+             (lambda (#{src\ 2724}#
+                      #{mod\ 2725}#
+                      #{name\ 2726}#
+                      #{public?\ 2727}#)
                (make-struct
                  (vector-ref %expanded-vtables 5)
                  0
-                 #{src\ 2722}#
-                 #{mod\ 2723}#
-                 #{name\ 2724}#
-                 #{public?\ 2725}#)))
+                 #{src\ 2724}#
+                 #{mod\ 2725}#
+                 #{name\ 2726}#
+                 #{public?\ 2727}#)))
            (#{make-lexical-set\ 248}#
-             (lambda (#{src\ 2730}#
-                      #{name\ 2731}#
-                      #{gensym\ 2732}#
-                      #{exp\ 2733}#)
+             (lambda (#{src\ 2732}#
+                      #{name\ 2733}#
+                      #{gensym\ 2734}#
+                      #{exp\ 2735}#)
                (make-struct
                  (vector-ref %expanded-vtables 4)
                  0
-                 #{src\ 2730}#
-                 #{name\ 2731}#
-                 #{gensym\ 2732}#
-                 #{exp\ 2733}#)))
+                 #{src\ 2732}#
+                 #{name\ 2733}#
+                 #{gensym\ 2734}#
+                 #{exp\ 2735}#)))
            (#{make-lexical-ref\ 246}#
-             (lambda (#{src\ 2738}# #{name\ 2739}# #{gensym\ 2740}#)
+             (lambda (#{src\ 2740}# #{name\ 2741}# #{gensym\ 2742}#)
                (make-struct
                  (vector-ref %expanded-vtables 3)
                  0
-                 #{src\ 2738}#
-                 #{name\ 2739}#
-                 #{gensym\ 2740}#)))
+                 #{src\ 2740}#
+                 #{name\ 2741}#
+                 #{gensym\ 2742}#)))
            (#{make-primitive-ref\ 244}#
-             (lambda (#{src\ 2744}# #{name\ 2745}#)
+             (lambda (#{src\ 2746}# #{name\ 2747}#)
                (make-struct
                  (vector-ref %expanded-vtables 2)
                  0
-                 #{src\ 2744}#
-                 #{name\ 2745}#)))
+                 #{src\ 2746}#
+                 #{name\ 2747}#)))
            (#{make-const\ 242}#
-             (lambda (#{src\ 2748}# #{exp\ 2749}#)
+             (lambda (#{src\ 2750}# #{exp\ 2751}#)
                (make-struct
                  (vector-ref %expanded-vtables 1)
                  0
-                 #{src\ 2748}#
-                 #{exp\ 2749}#)))
+                 #{src\ 2750}#
+                 #{exp\ 2751}#)))
            (#{make-void\ 240}#
-             (lambda (#{src\ 2752}#)
+             (lambda (#{src\ 2754}#)
                (make-struct
                  (vector-ref %expanded-vtables 0)
                  0
-                 #{src\ 2752}#))))
+                 #{src\ 2754}#))))
     (begin
       (#{global-extend\ 378}#
         'local-syntax
       (#{global-extend\ 378}#
         'core
         'fluid-let-syntax
-        (lambda (#{e\ 2754}#
-                 #{r\ 2755}#
-                 #{w\ 2756}#
-                 #{s\ 2757}#
-                 #{mod\ 2758}#)
-          ((lambda (#{tmp\ 2764}#)
-             ((lambda (#{tmp\ 2765}#)
-                (if (if #{tmp\ 2765}#
-                      (apply (lambda (#{_\ 2771}#
-                                      #{var\ 2772}#
-                                      #{val\ 2773}#
-                                      #{e1\ 2774}#
-                                      #{e2\ 2775}#)
-                               (#{valid-bound-ids?\ 445}# #{var\ 2772}#))
-                             #{tmp\ 2765}#)
+        (lambda (#{e\ 2756}#
+                 #{r\ 2757}#
+                 #{w\ 2758}#
+                 #{s\ 2759}#
+                 #{mod\ 2760}#)
+          ((lambda (#{tmp\ 2766}#)
+             ((lambda (#{tmp\ 2767}#)
+                (if (if #{tmp\ 2767}#
+                      (apply (lambda (#{_\ 2773}#
+                                      #{var\ 2774}#
+                                      #{val\ 2775}#
+                                      #{e1\ 2776}#
+                                      #{e2\ 2777}#)
+                               (#{valid-bound-ids?\ 445}# #{var\ 2774}#))
+                             #{tmp\ 2767}#)
                       #f)
-                  (apply (lambda (#{_\ 2782}#
-                                  #{var\ 2783}#
-                                  #{val\ 2784}#
-                                  #{e1\ 2785}#
-                                  #{e2\ 2786}#)
-                           (let ((#{names\ 2788}#
-                                   (map (lambda (#{x\ 2789}#)
+                  (apply (lambda (#{_\ 2784}#
+                                  #{var\ 2785}#
+                                  #{val\ 2786}#
+                                  #{e1\ 2787}#
+                                  #{e2\ 2788}#)
+                           (let ((#{names\ 2790}#
+                                   (map (lambda (#{x\ 2791}#)
                                           (#{id-var-name\ 439}#
-                                            #{x\ 2789}#
-                                            #{w\ 2756}#))
-                                        #{var\ 2783}#)))
+                                            #{x\ 2791}#
+                                            #{w\ 2758}#))
+                                        #{var\ 2785}#)))
                              (begin
                                (for-each
-                                 (lambda (#{id\ 2792}# #{n\ 2793}#)
-                                   (let ((#{atom-key\ 2798}#
+                                 (lambda (#{id\ 2794}# #{n\ 2795}#)
+                                   (let ((#{atom-key\ 2800}#
                                            (#{binding-type\ 365}#
                                              (#{lookup\ 376}#
-                                               #{n\ 2793}#
-                                               #{r\ 2755}#
-                                               #{mod\ 2758}#))))
-                                     (if (memv #{atom-key\ 2798}#
+                                               #{n\ 2795}#
+                                               #{r\ 2757}#
+                                               #{mod\ 2760}#))))
+                                     (if (memv #{atom-key\ 2800}#
                                                '(displaced-lexical))
                                        (syntax-violation
                                          'fluid-let-syntax
                                          "identifier out of context"
-                                         #{e\ 2754}#
+                                         #{e\ 2756}#
                                          (#{source-wrap\ 453}#
-                                           #{id\ 2792}#
-                                           #{w\ 2756}#
-                                           #{s\ 2757}#
-                                           #{mod\ 2758}#)))))
-                                 #{var\ 2783}#
-                                 #{names\ 2788}#)
+                                           #{id\ 2794}#
+                                           #{w\ 2758}#
+                                           #{s\ 2759}#
+                                           #{mod\ 2760}#)))))
+                                 #{var\ 2785}#
+                                 #{names\ 2790}#)
                                (#{chi-body\ 475}#
-                                 (cons #{e1\ 2785}# #{e2\ 2786}#)
+                                 (cons #{e1\ 2787}# #{e2\ 2788}#)
                                  (#{source-wrap\ 453}#
-                                   #{e\ 2754}#
-                                   #{w\ 2756}#
-                                   #{s\ 2757}#
-                                   #{mod\ 2758}#)
+                                   #{e\ 2756}#
+                                   #{w\ 2758}#
+                                   #{s\ 2759}#
+                                   #{mod\ 2760}#)
                                  (#{extend-env\ 370}#
-                                   #{names\ 2788}#
-                                   (let ((#{trans-r\ 2803}#
+                                   #{names\ 2790}#
+                                   (let ((#{trans-r\ 2805}#
                                            (#{macros-only-env\ 374}#
-                                             #{r\ 2755}#)))
-                                     (map (lambda (#{x\ 2804}#)
+                                             #{r\ 2757}#)))
+                                     (map (lambda (#{x\ 2806}#)
                                             (cons 'macro
                                                   (#{eval-local-transformer\ 479}#
                                                     (#{chi\ 467}#
-                                                      #{x\ 2804}#
-                                                      #{trans-r\ 2803}#
-                                                      #{w\ 2756}#
-                                                      #{mod\ 2758}#)
-                                                    #{mod\ 2758}#)))
-                                          #{val\ 2784}#))
-                                   #{r\ 2755}#)
-                                 #{w\ 2756}#
-                                 #{mod\ 2758}#))))
-                         #{tmp\ 2765}#)
-                  ((lambda (#{_\ 2809}#)
+                                                      #{x\ 2806}#
+                                                      #{trans-r\ 2805}#
+                                                      #{w\ 2758}#
+                                                      #{mod\ 2760}#)
+                                                    #{mod\ 2760}#)))
+                                          #{val\ 2786}#))
+                                   #{r\ 2757}#)
+                                 #{w\ 2758}#
+                                 #{mod\ 2760}#))))
+                         #{tmp\ 2767}#)
+                  ((lambda (#{_\ 2811}#)
                      (syntax-violation
                        'fluid-let-syntax
                        "bad syntax"
                        (#{source-wrap\ 453}#
-                         #{e\ 2754}#
-                         #{w\ 2756}#
-                         #{s\ 2757}#
-                         #{mod\ 2758}#)))
-                   #{tmp\ 2764}#)))
+                         #{e\ 2756}#
+                         #{w\ 2758}#
+                         #{s\ 2759}#
+                         #{mod\ 2760}#)))
+                   #{tmp\ 2766}#)))
               ($sc-dispatch
-                #{tmp\ 2764}#
+                #{tmp\ 2766}#
                 '(any #(each (any any)) any . each-any))))
-           #{e\ 2754}#)))
+           #{e\ 2756}#)))
       (#{global-extend\ 378}#
         'core
         'quote
-        (lambda (#{e\ 2810}#
-                 #{r\ 2811}#
-                 #{w\ 2812}#
-                 #{s\ 2813}#
-                 #{mod\ 2814}#)
-          ((lambda (#{tmp\ 2820}#)
-             ((lambda (#{tmp\ 2821}#)
-                (if #{tmp\ 2821}#
-                  (apply (lambda (#{_\ 2824}# #{e\ 2825}#)
+        (lambda (#{e\ 2812}#
+                 #{r\ 2813}#
+                 #{w\ 2814}#
+                 #{s\ 2815}#
+                 #{mod\ 2816}#)
+          ((lambda (#{tmp\ 2822}#)
+             ((lambda (#{tmp\ 2823}#)
+                (if #{tmp\ 2823}#
+                  (apply (lambda (#{_\ 2826}# #{e\ 2827}#)
                            (#{build-data\ 332}#
-                             #{s\ 2813}#
-                             (#{strip\ 493}# #{e\ 2825}# #{w\ 2812}#)))
-                         #{tmp\ 2821}#)
-                  ((lambda (#{_\ 2827}#)
+                             #{s\ 2815}#
+                             (#{strip\ 493}# #{e\ 2827}# #{w\ 2814}#)))
+                         #{tmp\ 2823}#)
+                  ((lambda (#{_\ 2829}#)
                      (syntax-violation
                        'quote
                        "bad syntax"
                        (#{source-wrap\ 453}#
-                         #{e\ 2810}#
-                         #{w\ 2812}#
-                         #{s\ 2813}#
-                         #{mod\ 2814}#)))
-                   #{tmp\ 2820}#)))
-              ($sc-dispatch #{tmp\ 2820}# (quote (any any)))))
-           #{e\ 2810}#)))
+                         #{e\ 2812}#
+                         #{w\ 2814}#
+                         #{s\ 2815}#
+                         #{mod\ 2816}#)))
+                   #{tmp\ 2822}#)))
+              ($sc-dispatch #{tmp\ 2822}# (quote (any any)))))
+           #{e\ 2812}#)))
       (#{global-extend\ 378}#
         'core
         'syntax
-        (letrec ((#{regen\ 2843}#
-                   (lambda (#{x\ 2844}#)
-                     (let ((#{atom-key\ 2848}# (car #{x\ 2844}#)))
-                       (if (memv #{atom-key\ 2848}# (quote (ref)))
+        (letrec ((#{regen\ 2845}#
+                   (lambda (#{x\ 2846}#)
+                     (let ((#{atom-key\ 2850}# (car #{x\ 2846}#)))
+                       (if (memv #{atom-key\ 2850}# (quote (ref)))
                          (#{build-lexical-reference\ 310}#
                            'value
                            #f
-                           (cadr #{x\ 2844}#)
-                           (cadr #{x\ 2844}#))
-                         (if (memv #{atom-key\ 2848}# (quote (primitive)))
-                           (#{build-primref\ 330}# #f (cadr #{x\ 2844}#))
-                           (if (memv #{atom-key\ 2848}# (quote (quote)))
-                             (#{build-data\ 332}# #f (cadr #{x\ 2844}#))
-                             (if (memv #{atom-key\ 2848}# (quote (lambda)))
-                               (if (list? (cadr #{x\ 2844}#))
+                           (cadr #{x\ 2846}#)
+                           (cadr #{x\ 2846}#))
+                         (if (memv #{atom-key\ 2850}# (quote (primitive)))
+                           (#{build-primref\ 330}# #f (cadr #{x\ 2846}#))
+                           (if (memv #{atom-key\ 2850}# (quote (quote)))
+                             (#{build-data\ 332}# #f (cadr #{x\ 2846}#))
+                             (if (memv #{atom-key\ 2850}# (quote (lambda)))
+                               (if (list? (cadr #{x\ 2846}#))
                                  (#{build-simple-lambda\ 324}#
                                    #f
-                                   (cadr #{x\ 2844}#)
+                                   (cadr #{x\ 2846}#)
                                    #f
-                                   (cadr #{x\ 2844}#)
+                                   (cadr #{x\ 2846}#)
                                    '()
-                                   (#{regen\ 2843}# (caddr #{x\ 2844}#)))
-                                 (error "how did we get here" #{x\ 2844}#))
+                                   (#{regen\ 2845}# (caddr #{x\ 2846}#)))
+                                 (error "how did we get here" #{x\ 2846}#))
                                (#{build-application\ 304}#
                                  #f
-                                 (#{build-primref\ 330}# #f (car #{x\ 2844}#))
-                                 (map #{regen\ 2843}#
-                                      (cdr #{x\ 2844}#))))))))))
-                 (#{gen-vector\ 2841}#
-                   (lambda (#{x\ 2860}#)
-                     (if (eq? (car #{x\ 2860}#) (quote list))
-                       (cons (quote vector) (cdr #{x\ 2860}#))
-                       (if (eq? (car #{x\ 2860}#) (quote quote))
+                                 (#{build-primref\ 330}# #f (car #{x\ 2846}#))
+                                 (map #{regen\ 2845}#
+                                      (cdr #{x\ 2846}#))))))))))
+                 (#{gen-vector\ 2843}#
+                   (lambda (#{x\ 2862}#)
+                     (if (eq? (car #{x\ 2862}#) (quote list))
+                       (cons (quote vector) (cdr #{x\ 2862}#))
+                       (if (eq? (car #{x\ 2862}#) (quote quote))
                          (list 'quote
-                               (list->vector (cadr #{x\ 2860}#)))
-                         (list (quote list->vector) #{x\ 2860}#)))))
-                 (#{gen-append\ 2839}#
-                   (lambda (#{x\ 2870}# #{y\ 2871}#)
-                     (if (equal? #{y\ 2871}# (quote (quote ())))
-                       #{x\ 2870}#
-                       (list (quote append) #{x\ 2870}# #{y\ 2871}#))))
-                 (#{gen-cons\ 2837}#
-                   (lambda (#{x\ 2875}# #{y\ 2876}#)
-                     (let ((#{atom-key\ 2881}# (car #{y\ 2876}#)))
-                       (if (memv #{atom-key\ 2881}# (quote (quote)))
-                         (if (eq? (car #{x\ 2875}#) (quote quote))
+                               (list->vector (cadr #{x\ 2862}#)))
+                         (list (quote list->vector) #{x\ 2862}#)))))
+                 (#{gen-append\ 2841}#
+                   (lambda (#{x\ 2872}# #{y\ 2873}#)
+                     (if (equal? #{y\ 2873}# (quote (quote ())))
+                       #{x\ 2872}#
+                       (list (quote append) #{x\ 2872}# #{y\ 2873}#))))
+                 (#{gen-cons\ 2839}#
+                   (lambda (#{x\ 2877}# #{y\ 2878}#)
+                     (let ((#{atom-key\ 2883}# (car #{y\ 2878}#)))
+                       (if (memv #{atom-key\ 2883}# (quote (quote)))
+                         (if (eq? (car #{x\ 2877}#) (quote quote))
                            (list 'quote
-                                 (cons (cadr #{x\ 2875}#) (cadr #{y\ 2876}#)))
-                           (if (eq? (cadr #{y\ 2876}#) (quote ()))
-                             (list (quote list) #{x\ 2875}#)
-                             (list (quote cons) #{x\ 2875}# #{y\ 2876}#)))
-                         (if (memv #{atom-key\ 2881}# (quote (list)))
+                                 (cons (cadr #{x\ 2877}#) (cadr #{y\ 2878}#)))
+                           (if (eq? (cadr #{y\ 2878}#) (quote ()))
+                             (list (quote list) #{x\ 2877}#)
+                             (list (quote cons) #{x\ 2877}# #{y\ 2878}#)))
+                         (if (memv #{atom-key\ 2883}# (quote (list)))
                            (cons 'list
-                                 (cons #{x\ 2875}# (cdr #{y\ 2876}#)))
-                           (list (quote cons) #{x\ 2875}# #{y\ 2876}#))))))
-                 (#{gen-map\ 2835}#
-                   (lambda (#{e\ 2890}# #{map-env\ 2891}#)
-                     (let ((#{formals\ 2896}# (map cdr #{map-env\ 2891}#))
-                           (#{actuals\ 2897}#
-                             (map (lambda (#{x\ 2898}#)
-                                    (list (quote ref) (car #{x\ 2898}#)))
-                                  #{map-env\ 2891}#)))
-                       (if (eq? (car #{e\ 2890}#) (quote ref))
-                         (car #{actuals\ 2897}#)
+                                 (cons #{x\ 2877}# (cdr #{y\ 2878}#)))
+                           (list (quote cons) #{x\ 2877}# #{y\ 2878}#))))))
+                 (#{gen-map\ 2837}#
+                   (lambda (#{e\ 2892}# #{map-env\ 2893}#)
+                     (let ((#{formals\ 2898}# (map cdr #{map-env\ 2893}#))
+                           (#{actuals\ 2899}#
+                             (map (lambda (#{x\ 2900}#)
+                                    (list (quote ref) (car #{x\ 2900}#)))
+                                  #{map-env\ 2893}#)))
+                       (if (eq? (car #{e\ 2892}#) (quote ref))
+                         (car #{actuals\ 2899}#)
                          (if (and-map
-                               (lambda (#{x\ 2905}#)
-                                 (if (eq? (car #{x\ 2905}#) (quote ref))
-                                   (memq (cadr #{x\ 2905}#) #{formals\ 2896}#)
+                               (lambda (#{x\ 2907}#)
+                                 (if (eq? (car #{x\ 2907}#) (quote ref))
+                                   (memq (cadr #{x\ 2907}#) #{formals\ 2898}#)
                                    #f))
-                               (cdr #{e\ 2890}#))
+                               (cdr #{e\ 2892}#))
                            (cons 'map
                                  (cons (list 'primitive
-                                             (car #{e\ 2890}#))
-                                       (map (let ((#{r\ 2911}#
+                                             (car #{e\ 2892}#))
+                                       (map (let ((#{r\ 2913}#
                                                     (map cons
-                                                         #{formals\ 2896}#
-                                                         #{actuals\ 2897}#)))
-                                              (lambda (#{x\ 2912}#)
-                                                (cdr (assq (cadr #{x\ 2912}#)
-                                                           #{r\ 2911}#))))
-                                            (cdr #{e\ 2890}#))))
+                                                         #{formals\ 2898}#
+                                                         #{actuals\ 2899}#)))
+                                              (lambda (#{x\ 2914}#)
+                                                (cdr (assq (cadr #{x\ 2914}#)
+                                                           #{r\ 2913}#))))
+                                            (cdr #{e\ 2892}#))))
                            (cons 'map
                                  (cons (list 'lambda
-                                             #{formals\ 2896}#
-                                             #{e\ 2890}#)
-                                       #{actuals\ 2897}#)))))))
-                 (#{gen-mappend\ 2833}#
-                   (lambda (#{e\ 2916}# #{map-env\ 2917}#)
+                                             #{formals\ 2898}#
+                                             #{e\ 2892}#)
+                                       #{actuals\ 2899}#)))))))
+                 (#{gen-mappend\ 2835}#
+                   (lambda (#{e\ 2918}# #{map-env\ 2919}#)
                      (list 'apply
                            '(primitive append)
-                           (#{gen-map\ 2835}# #{e\ 2916}# #{map-env\ 2917}#))))
-                 (#{gen-ref\ 2831}#
-                   (lambda (#{src\ 2921}#
-                            #{var\ 2922}#
-                            #{level\ 2923}#
-                            #{maps\ 2924}#)
-                     (if (#{fx=\ 287}# #{level\ 2923}# 0)
-                       (values #{var\ 2922}# #{maps\ 2924}#)
-                       (if (null? #{maps\ 2924}#)
+                           (#{gen-map\ 2837}# #{e\ 2918}# #{map-env\ 2919}#))))
+                 (#{gen-ref\ 2833}#
+                   (lambda (#{src\ 2923}#
+                            #{var\ 2924}#
+                            #{level\ 2925}#
+                            #{maps\ 2926}#)
+                     (if (#{fx=\ 287}# #{level\ 2925}# 0)
+                       (values #{var\ 2924}# #{maps\ 2926}#)
+                       (if (null? #{maps\ 2926}#)
                          (syntax-violation
                            'syntax
                            "missing ellipsis"
-                           #{src\ 2921}#)
+                           #{src\ 2923}#)
                          (call-with-values
                            (lambda ()
-                             (#{gen-ref\ 2831}#
-                               #{src\ 2921}#
-                               #{var\ 2922}#
-                               (#{fx-\ 285}# #{level\ 2923}# 1)
-                               (cdr #{maps\ 2924}#)))
-                           (lambda (#{outer-var\ 2929}# #{outer-maps\ 2930}#)
-                             (let ((#{b\ 2934}#
-                                     (assq #{outer-var\ 2929}#
-                                           (car #{maps\ 2924}#))))
-                               (if #{b\ 2934}#
-                                 (values (cdr #{b\ 2934}#) #{maps\ 2924}#)
-                                 (let ((#{inner-var\ 2936}#
+                             (#{gen-ref\ 2833}#
+                               #{src\ 2923}#
+                               #{var\ 2924}#
+                               (#{fx-\ 285}# #{level\ 2925}# 1)
+                               (cdr #{maps\ 2926}#)))
+                           (lambda (#{outer-var\ 2931}# #{outer-maps\ 2932}#)
+                             (let ((#{b\ 2936}#
+                                     (assq #{outer-var\ 2931}#
+                                           (car #{maps\ 2926}#))))
+                               (if #{b\ 2936}#
+                                 (values (cdr #{b\ 2936}#) #{maps\ 2926}#)
+                                 (let ((#{inner-var\ 2938}#
                                          (#{gen-var\ 495}# (quote tmp))))
                                    (values
-                                     #{inner-var\ 2936}#
-                                     (cons (cons (cons #{outer-var\ 2929}#
-                                                       #{inner-var\ 2936}#)
-                                                 (car #{maps\ 2924}#))
-                                           #{outer-maps\ 2930}#)))))))))))
-                 (#{gen-syntax\ 2829}#
-                   (lambda (#{src\ 2937}#
-                            #{e\ 2938}#
-                            #{r\ 2939}#
-                            #{maps\ 2940}#
-                            #{ellipsis?\ 2941}#
-                            #{mod\ 2942}#)
-                     (if (#{id?\ 382}# #{e\ 2938}#)
-                       (let ((#{label\ 2950}#
+                                     #{inner-var\ 2938}#
+                                     (cons (cons (cons #{outer-var\ 2931}#
+                                                       #{inner-var\ 2938}#)
+                                                 (car #{maps\ 2926}#))
+                                           #{outer-maps\ 2932}#)))))))))))
+                 (#{gen-syntax\ 2831}#
+                   (lambda (#{src\ 2939}#
+                            #{e\ 2940}#
+                            #{r\ 2941}#
+                            #{maps\ 2942}#
+                            #{ellipsis?\ 2943}#
+                            #{mod\ 2944}#)
+                     (if (#{id?\ 382}# #{e\ 2940}#)
+                       (let ((#{label\ 2952}#
                                (#{id-var-name\ 439}#
-                                 #{e\ 2938}#
+                                 #{e\ 2940}#
                                  '(()))))
-                         (let ((#{b\ 2953}#
+                         (let ((#{b\ 2955}#
                                  (#{lookup\ 376}#
-                                   #{label\ 2950}#
-                                   #{r\ 2939}#
-                                   #{mod\ 2942}#)))
-                           (if (eq? (#{binding-type\ 365}# #{b\ 2953}#)
+                                   #{label\ 2952}#
+                                   #{r\ 2941}#
+                                   #{mod\ 2944}#)))
+                           (if (eq? (#{binding-type\ 365}# #{b\ 2955}#)
                                     'syntax)
                              (call-with-values
                                (lambda ()
-                                 (let ((#{var.lev\ 2955}#
-                                         (#{binding-value\ 367}# #{b\ 2953}#)))
-                                   (#{gen-ref\ 2831}#
-                                     #{src\ 2937}#
-                                     (car #{var.lev\ 2955}#)
-                                     (cdr #{var.lev\ 2955}#)
-                                     #{maps\ 2940}#)))
-                               (lambda (#{var\ 2956}# #{maps\ 2957}#)
+                                 (let ((#{var.lev\ 2957}#
+                                         (#{binding-value\ 367}# #{b\ 2955}#)))
+                                   (#{gen-ref\ 2833}#
+                                     #{src\ 2939}#
+                                     (car #{var.lev\ 2957}#)
+                                     (cdr #{var.lev\ 2957}#)
+                                     #{maps\ 2942}#)))
+                               (lambda (#{var\ 2958}# #{maps\ 2959}#)
                                  (values
-                                   (list (quote ref) #{var\ 2956}#)
-                                   #{maps\ 2957}#)))
-                             (if (#{ellipsis?\ 2941}# #{e\ 2938}#)
+                                   (list (quote ref) #{var\ 2958}#)
+                                   #{maps\ 2959}#)))
+                             (if (#{ellipsis?\ 2943}# #{e\ 2940}#)
                                (syntax-violation
                                  'syntax
                                  "misplaced ellipsis"
-                                 #{src\ 2937}#)
+                                 #{src\ 2939}#)
                                (values
-                                 (list (quote quote) #{e\ 2938}#)
-                                 #{maps\ 2940}#)))))
-                       ((lambda (#{tmp\ 2962}#)
-                          ((lambda (#{tmp\ 2963}#)
-                             (if (if #{tmp\ 2963}#
-                                   (apply (lambda (#{dots\ 2966}# #{e\ 2967}#)
-                                            (#{ellipsis?\ 2941}#
-                                              #{dots\ 2966}#))
-                                          #{tmp\ 2963}#)
+                                 (list (quote quote) #{e\ 2940}#)
+                                 #{maps\ 2942}#)))))
+                       ((lambda (#{tmp\ 2964}#)
+                          ((lambda (#{tmp\ 2965}#)
+                             (if (if #{tmp\ 2965}#
+                                   (apply (lambda (#{dots\ 2968}# #{e\ 2969}#)
+                                            (#{ellipsis?\ 2943}#
+                                              #{dots\ 2968}#))
+                                          #{tmp\ 2965}#)
                                    #f)
-                               (apply (lambda (#{dots\ 2970}# #{e\ 2971}#)
-                                        (#{gen-syntax\ 2829}#
-                                          #{src\ 2937}#
-                                          #{e\ 2971}#
-                                          #{r\ 2939}#
-                                          #{maps\ 2940}#
-                                          (lambda (#{x\ 2972}#) #f)
-                                          #{mod\ 2942}#))
-                                      #{tmp\ 2963}#)
-                               ((lambda (#{tmp\ 2974}#)
-                                  (if (if #{tmp\ 2974}#
-                                        (apply (lambda (#{x\ 2978}#
-                                                        #{dots\ 2979}#
-                                                        #{y\ 2980}#)
-                                                 (#{ellipsis?\ 2941}#
-                                                   #{dots\ 2979}#))
-                                               #{tmp\ 2974}#)
+                               (apply (lambda (#{dots\ 2972}# #{e\ 2973}#)
+                                        (#{gen-syntax\ 2831}#
+                                          #{src\ 2939}#
+                                          #{e\ 2973}#
+                                          #{r\ 2941}#
+                                          #{maps\ 2942}#
+                                          (lambda (#{x\ 2974}#) #f)
+                                          #{mod\ 2944}#))
+                                      #{tmp\ 2965}#)
+                               ((lambda (#{tmp\ 2976}#)
+                                  (if (if #{tmp\ 2976}#
+                                        (apply (lambda (#{x\ 2980}#
+                                                        #{dots\ 2981}#
+                                                        #{y\ 2982}#)
+                                                 (#{ellipsis?\ 2943}#
+                                                   #{dots\ 2981}#))
+                                               #{tmp\ 2976}#)
                                         #f)
-                                    (apply (lambda (#{x\ 2984}#
-                                                    #{dots\ 2985}#
-                                                    #{y\ 2986}#)
-                                             (letrec ((#{f\ 2990}#
-                                                        (lambda (#{y\ 2991}#
-                                                                 #{k\ 2992}#)
-                                                          ((lambda (#{tmp\ 2999}#)
-                                                             ((lambda (#{tmp\ 3000}#)
-                                                                (if (if #{tmp\ 3000}#
-                                                                      (apply (lambda (#{dots\ 3003}#
-                                                                                      #{y\ 3004}#)
-                                                                               (#{ellipsis?\ 2941}#
-                                                                                 #{dots\ 3003}#))
-                                                                             #{tmp\ 3000}#)
+                                    (apply (lambda (#{x\ 2986}#
+                                                    #{dots\ 2987}#
+                                                    #{y\ 2988}#)
+                                             (letrec ((#{f\ 2992}#
+                                                        (lambda (#{y\ 2993}#
+                                                                 #{k\ 2994}#)
+                                                          ((lambda (#{tmp\ 3001}#)
+                                                             ((lambda (#{tmp\ 3002}#)
+                                                                (if (if #{tmp\ 3002}#
+                                                                      (apply (lambda (#{dots\ 3005}#
+                                                                                      #{y\ 3006}#)
+                                                                               (#{ellipsis?\ 2943}#
+                                                                                 #{dots\ 3005}#))
+                                                                             #{tmp\ 3002}#)
                                                                       #f)
-                                                                  (apply (lambda (#{dots\ 3007}#
-                                                                                  #{y\ 3008}#)
-                                                                           (#{f\ 2990}#
-                                                                             #{y\ 3008}#
-                                                                             (lambda (#{maps\ 3009}#)
+                                                                  (apply (lambda (#{dots\ 3009}#
+                                                                                  #{y\ 3010}#)
+                                                                           (#{f\ 2992}#
+                                                                             #{y\ 3010}#
+                                                                             (lambda (#{maps\ 3011}#)
                                                                                (call-with-values
                                                                                  (lambda ()
-                                                                                   (#{k\ 2992}#
+                                                                                   (#{k\ 2994}#
                                                                                      (cons '()
-                                                                                           #{maps\ 3009}#)))
-                                                                                 (lambda (#{x\ 3011}#
-                                                                                          #{maps\ 3012}#)
-                                                                                   (if (null? (car #{maps\ 3012}#))
+                                                                                           #{maps\ 3011}#)))
+                                                                                 (lambda (#{x\ 3013}#
+                                                                                          #{maps\ 3014}#)
+                                                                                   (if (null? (car #{maps\ 3014}#))
                                                                                      (syntax-violation
                                                                                        'syntax
                                                                                        "extra ellipsis"
-                                                                                       #{src\ 2937}#)
+                                                                                       #{src\ 2939}#)
                                                                                      (values
-                                                                                       (#{gen-mappend\ 2833}#
-                                                                                         #{x\ 3011}#
-                                                                                         (car #{maps\ 3012}#))
-                                                                                       (cdr #{maps\ 3012}#))))))))
-                                                                         #{tmp\ 3000}#)
-                                                                  ((lambda (#{_\ 3016}#)
+                                                                                       (#{gen-mappend\ 2835}#
+                                                                                         #{x\ 3013}#
+                                                                                         (car #{maps\ 3014}#))
+                                                                                       (cdr #{maps\ 3014}#))))))))
+                                                                         #{tmp\ 3002}#)
+                                                                  ((lambda (#{_\ 3018}#)
                                                                      (call-with-values
                                                                        (lambda ()
-                                                                         (#{gen-syntax\ 2829}#
-                                                                           #{src\ 2937}#
-                                                                           #{y\ 2991}#
-                                                                           #{r\ 2939}#
-                                                                           #{maps\ 2940}#
-                                                                           #{ellipsis?\ 2941}#
-                                                                           #{mod\ 2942}#))
-                                                                       (lambda (#{y\ 3017}#
-                                                                                #{maps\ 3018}#)
+                                                                         (#{gen-syntax\ 2831}#
+                                                                           #{src\ 2939}#
+                                                                           #{y\ 2993}#
+                                                                           #{r\ 2941}#
+                                                                           #{maps\ 2942}#
+                                                                           #{ellipsis?\ 2943}#
+                                                                           #{mod\ 2944}#))
+                                                                       (lambda (#{y\ 3019}#
+                                                                                #{maps\ 3020}#)
                                                                          (call-with-values
                                                                            (lambda ()
-                                                                             (#{k\ 2992}#
-                                                                               #{maps\ 3018}#))
-                                                                           (lambda (#{x\ 3021}#
-                                                                                    #{maps\ 3022}#)
+                                                                             (#{k\ 2994}#
+                                                                               #{maps\ 3020}#))
+                                                                           (lambda (#{x\ 3023}#
+                                                                                    #{maps\ 3024}#)
                                                                              (values
-                                                                               (#{gen-append\ 2839}#
-                                                                                 #{x\ 3021}#
-                                                                                 #{y\ 3017}#)
-                                                                               #{maps\ 3022}#))))))
-                                                                   #{tmp\ 2999}#)))
+                                                                               (#{gen-append\ 2841}#
+                                                                                 #{x\ 3023}#
+                                                                                 #{y\ 3019}#)
+                                                                               #{maps\ 3024}#))))))
+                                                                   #{tmp\ 3001}#)))
                                                               ($sc-dispatch
-                                                                #{tmp\ 2999}#
+                                                                #{tmp\ 3001}#
                                                                 '(any . any))))
-                                                           #{y\ 2991}#))))
-                                               (#{f\ 2990}#
-                                                 #{y\ 2986}#
-                                                 (lambda (#{maps\ 2993}#)
+                                                           #{y\ 2993}#))))
+                                               (#{f\ 2992}#
+                                                 #{y\ 2988}#
+                                                 (lambda (#{maps\ 2995}#)
                                                    (call-with-values
                                                      (lambda ()
-                                                       (#{gen-syntax\ 2829}#
-                                                         #{src\ 2937}#
-                                                         #{x\ 2984}#
-                                                         #{r\ 2939}#
+                                                       (#{gen-syntax\ 2831}#
+                                                         #{src\ 2939}#
+                                                         #{x\ 2986}#
+                                                         #{r\ 2941}#
                                                          (cons '()
-                                                               #{maps\ 2993}#)
-                                                         #{ellipsis?\ 2941}#
-                                                         #{mod\ 2942}#))
-                                                     (lambda (#{x\ 2995}#
-                                                              #{maps\ 2996}#)
-                                                       (if (null? (car #{maps\ 2996}#))
+                                                               #{maps\ 2995}#)
+                                                         #{ellipsis?\ 2943}#
+                                                         #{mod\ 2944}#))
+                                                     (lambda (#{x\ 2997}#
+                                                              #{maps\ 2998}#)
+                                                       (if (null? (car #{maps\ 2998}#))
                                                          (syntax-violation
                                                            'syntax
                                                            "extra ellipsis"
-                                                           #{src\ 2937}#)
+                                                           #{src\ 2939}#)
                                                          (values
-                                                           (#{gen-map\ 2835}#
-                                                             #{x\ 2995}#
-                                                             (car #{maps\ 2996}#))
-                                                           (cdr #{maps\ 2996}#)))))))))
-                                           #{tmp\ 2974}#)
-                                    ((lambda (#{tmp\ 3025}#)
-                                       (if #{tmp\ 3025}#
-                                         (apply (lambda (#{x\ 3028}#
-                                                         #{y\ 3029}#)
+                                                           (#{gen-map\ 2837}#
+                                                             #{x\ 2997}#
+                                                             (car #{maps\ 2998}#))
+                                                           (cdr #{maps\ 2998}#)))))))))
+                                           #{tmp\ 2976}#)
+                                    ((lambda (#{tmp\ 3027}#)
+                                       (if #{tmp\ 3027}#
+                                         (apply (lambda (#{x\ 3030}#
+                                                         #{y\ 3031}#)
                                                   (call-with-values
                                                     (lambda ()
-                                                      (#{gen-syntax\ 2829}#
-                                                        #{src\ 2937}#
-                                                        #{x\ 3028}#
-                                                        #{r\ 2939}#
-                                                        #{maps\ 2940}#
-                                                        #{ellipsis?\ 2941}#
-                                                        #{mod\ 2942}#))
-                                                    (lambda (#{x\ 3030}#
-                                                             #{maps\ 3031}#)
+                                                      (#{gen-syntax\ 2831}#
+                                                        #{src\ 2939}#
+                                                        #{x\ 3030}#
+                                                        #{r\ 2941}#
+                                                        #{maps\ 2942}#
+                                                        #{ellipsis?\ 2943}#
+                                                        #{mod\ 2944}#))
+                                                    (lambda (#{x\ 3032}#
+                                                             #{maps\ 3033}#)
                                                       (call-with-values
                                                         (lambda ()
-                                                          (#{gen-syntax\ 2829}#
-                                                            #{src\ 2937}#
-                                                            #{y\ 3029}#
-                                                            #{r\ 2939}#
-                                                            #{maps\ 3031}#
-                                                            #{ellipsis?\ 2941}#
-                                                            #{mod\ 2942}#))
-                                                        (lambda (#{y\ 3034}#
-                                                                 #{maps\ 3035}#)
+                                                          (#{gen-syntax\ 2831}#
+                                                            #{src\ 2939}#
+                                                            #{y\ 3031}#
+                                                            #{r\ 2941}#
+                                                            #{maps\ 3033}#
+                                                            #{ellipsis?\ 2943}#
+                                                            #{mod\ 2944}#))
+                                                        (lambda (#{y\ 3036}#
+                                                                 #{maps\ 3037}#)
                                                           (values
-                                                            (#{gen-cons\ 2837}#
-                                                              #{x\ 3030}#
-                                                              #{y\ 3034}#)
-                                                            #{maps\ 3035}#))))))
-                                                #{tmp\ 3025}#)
-                                         ((lambda (#{tmp\ 3038}#)
-                                            (if #{tmp\ 3038}#
-                                              (apply (lambda (#{e1\ 3041}#
-                                                              #{e2\ 3042}#)
+                                                            (#{gen-cons\ 2839}#
+                                                              #{x\ 3032}#
+                                                              #{y\ 3036}#)
+                                                            #{maps\ 3037}#))))))
+                                                #{tmp\ 3027}#)
+                                         ((lambda (#{tmp\ 3040}#)
+                                            (if #{tmp\ 3040}#
+                                              (apply (lambda (#{e1\ 3043}#
+                                                              #{e2\ 3044}#)
                                                        (call-with-values
                                                          (lambda ()
-                                                           (#{gen-syntax\ 2829}#
-                                                             #{src\ 2937}#
-                                                             (cons #{e1\ 3041}#
-                                                                   #{e2\ 3042}#)
-                                                             #{r\ 2939}#
-                                                             #{maps\ 2940}#
-                                                             #{ellipsis?\ 2941}#
-                                                             #{mod\ 2942}#))
-                                                         (lambda (#{e\ 3044}#
-                                                                  #{maps\ 3045}#)
+                                                           (#{gen-syntax\ 2831}#
+                                                             #{src\ 2939}#
+                                                             (cons #{e1\ 3043}#
+                                                                   #{e2\ 3044}#)
+                                                             #{r\ 2941}#
+                                                             #{maps\ 2942}#
+                                                             #{ellipsis?\ 2943}#
+                                                             #{mod\ 2944}#))
+                                                         (lambda (#{e\ 3046}#
+                                                                  #{maps\ 3047}#)
                                                            (values
-                                                             (#{gen-vector\ 2841}#
-                                                               #{e\ 3044}#)
-                                                             #{maps\ 3045}#))))
-                                                     #{tmp\ 3038}#)
-                                              ((lambda (#{_\ 3049}#)
+                                                             (#{gen-vector\ 2843}#
+                                                               #{e\ 3046}#)
+                                                             #{maps\ 3047}#))))
+                                                     #{tmp\ 3040}#)
+                                              ((lambda (#{_\ 3051}#)
                                                  (values
                                                    (list 'quote
-                                                         #{e\ 2938}#)
-                                                   #{maps\ 2940}#))
-                                               #{tmp\ 2962}#)))
+                                                         #{e\ 2940}#)
+                                                   #{maps\ 2942}#))
+                                               #{tmp\ 2964}#)))
                                           ($sc-dispatch
-                                            #{tmp\ 2962}#
+                                            #{tmp\ 2964}#
                                             '#(vector (any . each-any))))))
                                      ($sc-dispatch
-                                       #{tmp\ 2962}#
+                                       #{tmp\ 2964}#
                                        '(any . any)))))
                                 ($sc-dispatch
-                                  #{tmp\ 2962}#
+                                  #{tmp\ 2964}#
                                   '(any any . any)))))
-                           ($sc-dispatch #{tmp\ 2962}# (quote (any any)))))
-                        #{e\ 2938}#)))))
-          (lambda (#{e\ 3051}#
-                   #{r\ 3052}#
-                   #{w\ 3053}#
-                   #{s\ 3054}#
-                   #{mod\ 3055}#)
-            (let ((#{e\ 3062}#
+                           ($sc-dispatch #{tmp\ 2964}# (quote (any any)))))
+                        #{e\ 2940}#)))))
+          (lambda (#{e\ 3053}#
+                   #{r\ 3054}#
+                   #{w\ 3055}#
+                   #{s\ 3056}#
+                   #{mod\ 3057}#)
+            (let ((#{e\ 3064}#
                     (#{source-wrap\ 453}#
-                      #{e\ 3051}#
-                      #{w\ 3053}#
-                      #{s\ 3054}#
-                      #{mod\ 3055}#)))
-              ((lambda (#{tmp\ 3063}#)
-                 ((lambda (#{tmp\ 3064}#)
-                    (if #{tmp\ 3064}#
-                      (apply (lambda (#{_\ 3067}# #{x\ 3068}#)
+                      #{e\ 3053}#
+                      #{w\ 3055}#
+                      #{s\ 3056}#
+                      #{mod\ 3057}#)))
+              ((lambda (#{tmp\ 3065}#)
+                 ((lambda (#{tmp\ 3066}#)
+                    (if #{tmp\ 3066}#
+                      (apply (lambda (#{_\ 3069}# #{x\ 3070}#)
                                (call-with-values
                                  (lambda ()
-                                   (#{gen-syntax\ 2829}#
-                                     #{e\ 3062}#
-                                     #{x\ 3068}#
-                                     #{r\ 3052}#
+                                   (#{gen-syntax\ 2831}#
+                                     #{e\ 3064}#
+                                     #{x\ 3070}#
+                                     #{r\ 3054}#
                                      '()
                                      #{ellipsis?\ 483}#
-                                     #{mod\ 3055}#))
-                                 (lambda (#{e\ 3069}# #{maps\ 3070}#)
-                                   (#{regen\ 2843}# #{e\ 3069}#))))
-                             #{tmp\ 3064}#)
-                      ((lambda (#{_\ 3074}#)
+                                     #{mod\ 3057}#))
+                                 (lambda (#{e\ 3071}# #{maps\ 3072}#)
+                                   (#{regen\ 2845}# #{e\ 3071}#))))
+                             #{tmp\ 3066}#)
+                      ((lambda (#{_\ 3076}#)
                          (syntax-violation
                            'syntax
                            "bad `syntax' form"
-                           #{e\ 3062}#))
-                       #{tmp\ 3063}#)))
-                  ($sc-dispatch #{tmp\ 3063}# (quote (any any)))))
-               #{e\ 3062}#)))))
+                           #{e\ 3064}#))
+                       #{tmp\ 3065}#)))
+                  ($sc-dispatch #{tmp\ 3065}# (quote (any any)))))
+               #{e\ 3064}#)))))
       (#{global-extend\ 378}#
         'core
         'lambda
-        (lambda (#{e\ 3075}#
-                 #{r\ 3076}#
-                 #{w\ 3077}#
-                 #{s\ 3078}#
-                 #{mod\ 3079}#)
-          ((lambda (#{tmp\ 3085}#)
-             ((lambda (#{tmp\ 3086}#)
-                (if #{tmp\ 3086}#
-                  (apply (lambda (#{_\ 3091}#
-                                  #{args\ 3092}#
-                                  #{e1\ 3093}#
-                                  #{e2\ 3094}#)
+        (lambda (#{e\ 3077}#
+                 #{r\ 3078}#
+                 #{w\ 3079}#
+                 #{s\ 3080}#
+                 #{mod\ 3081}#)
+          ((lambda (#{tmp\ 3087}#)
+             ((lambda (#{tmp\ 3088}#)
+                (if #{tmp\ 3088}#
+                  (apply (lambda (#{_\ 3093}#
+                                  #{args\ 3094}#
+                                  #{e1\ 3095}#
+                                  #{e2\ 3096}#)
                            (call-with-values
                              (lambda ()
-                               (#{lambda-formals\ 485}# #{args\ 3092}#))
-                             (lambda (#{req\ 3095}#
-                                      #{opt\ 3096}#
-                                      #{rest\ 3097}#
-                                      #{kw\ 3098}#)
-                               (letrec ((#{lp\ 3106}#
-                                          (lambda (#{body\ 3107}#
-                                                   #{meta\ 3108}#)
-                                            ((lambda (#{tmp\ 3110}#)
-                                               ((lambda (#{tmp\ 3111}#)
-                                                  (if (if #{tmp\ 3111}#
-                                                        (apply (lambda (#{docstring\ 3115}#
-                                                                        #{e1\ 3116}#
-                                                                        #{e2\ 3117}#)
+                               (#{lambda-formals\ 485}# #{args\ 3094}#))
+                             (lambda (#{req\ 3097}#
+                                      #{opt\ 3098}#
+                                      #{rest\ 3099}#
+                                      #{kw\ 3100}#)
+                               (letrec ((#{lp\ 3108}#
+                                          (lambda (#{body\ 3109}#
+                                                   #{meta\ 3110}#)
+                                            ((lambda (#{tmp\ 3112}#)
+                                               ((lambda (#{tmp\ 3113}#)
+                                                  (if (if #{tmp\ 3113}#
+                                                        (apply (lambda (#{docstring\ 3117}#
+                                                                        #{e1\ 3118}#
+                                                                        #{e2\ 3119}#)
                                                                  (string?
                                                                    (syntax->datum
-                                                                     #{docstring\ 3115}#)))
-                                                               #{tmp\ 3111}#)
+                                                                     #{docstring\ 3117}#)))
+                                                               #{tmp\ 3113}#)
                                                         #f)
-                                                    (apply (lambda (#{docstring\ 3121}#
-                                                                    #{e1\ 3122}#
-                                                                    #{e2\ 3123}#)
-                                                             (#{lp\ 3106}#
-                                                               (cons #{e1\ 3122}#
-                                                                     #{e2\ 3123}#)
+                                                    (apply (lambda (#{docstring\ 3123}#
+                                                                    #{e1\ 3124}#
+                                                                    #{e2\ 3125}#)
+                                                             (#{lp\ 3108}#
+                                                               (cons #{e1\ 3124}#
+                                                                     #{e2\ 3125}#)
                                                                (append
-                                                                 #{meta\ 3108}#
+                                                                 #{meta\ 3110}#
                                                                  (list (cons 'documentation
                                                                              (syntax->datum
-                                                                               #{docstring\ 3121}#))))))
-                                                           #{tmp\ 3111}#)
-                                                    ((lambda (#{tmp\ 3126}#)
-                                                       (if #{tmp\ 3126}#
-                                                         (apply (lambda (#{k\ 3131}#
-                                                                         #{v\ 3132}#
-                                                                         #{e1\ 3133}#
-                                                                         #{e2\ 3134}#)
-                                                                  (#{lp\ 3106}#
-                                                                    (cons #{e1\ 3133}#
-                                                                          #{e2\ 3134}#)
+                                                                               #{docstring\ 3123}#))))))
+                                                           #{tmp\ 3113}#)
+                                                    ((lambda (#{tmp\ 3128}#)
+                                                       (if #{tmp\ 3128}#
+                                                         (apply (lambda (#{k\ 3133}#
+                                                                         #{v\ 3134}#
+                                                                         #{e1\ 3135}#
+                                                                         #{e2\ 3136}#)
+                                                                  (#{lp\ 3108}#
+                                                                    (cons #{e1\ 3135}#
+                                                                          #{e2\ 3136}#)
                                                                     (append
-                                                                      #{meta\ 3108}#
+                                                                      #{meta\ 3110}#
                                                                       (syntax->datum
                                                                         (map cons
-                                                                             #{k\ 3131}#
-                                                                             #{v\ 3132}#)))))
-                                                                #{tmp\ 3126}#)
-                                                         ((lambda (#{_\ 3139}#)
+                                                                             #{k\ 3133}#
+                                                                             #{v\ 3134}#)))))
+                                                                #{tmp\ 3128}#)
+                                                         ((lambda (#{_\ 3141}#)
                                                             (#{chi-simple-lambda\ 487}#
-                                                              #{e\ 3075}#
-                                                              #{r\ 3076}#
-                                                              #{w\ 3077}#
-                                                              #{s\ 3078}#
-                                                              #{mod\ 3079}#
-                                                              #{req\ 3095}#
-                                                              #{rest\ 3097}#
-                                                              #{meta\ 3108}#
-                                                              #{body\ 3107}#))
-                                                          #{tmp\ 3110}#)))
+                                                              #{e\ 3077}#
+                                                              #{r\ 3078}#
+                                                              #{w\ 3079}#
+                                                              #{s\ 3080}#
+                                                              #{mod\ 3081}#
+                                                              #{req\ 3097}#
+                                                              #{rest\ 3099}#
+                                                              #{meta\ 3110}#
+                                                              #{body\ 3109}#))
+                                                          #{tmp\ 3112}#)))
                                                      ($sc-dispatch
-                                                       #{tmp\ 3110}#
+                                                       #{tmp\ 3112}#
                                                        '(#(vector
                                                            #(each (any . any)))
                                                          any
                                                          .
                                                          each-any)))))
                                                 ($sc-dispatch
-                                                  #{tmp\ 3110}#
+                                                  #{tmp\ 3112}#
                                                   '(any any . each-any))))
-                                             #{body\ 3107}#))))
-                                 (#{lp\ 3106}#
-                                   (cons #{e1\ 3093}# #{e2\ 3094}#)
+                                             #{body\ 3109}#))))
+                                 (#{lp\ 3108}#
+                                   (cons #{e1\ 3095}# #{e2\ 3096}#)
                                    '())))))
-                         #{tmp\ 3086}#)
-                  ((lambda (#{_\ 3141}#)
+                         #{tmp\ 3088}#)
+                  ((lambda (#{_\ 3143}#)
                      (syntax-violation
                        'lambda
                        "bad lambda"
-                       #{e\ 3075}#))
-                   #{tmp\ 3085}#)))
+                       #{e\ 3077}#))
+                   #{tmp\ 3087}#)))
               ($sc-dispatch
-                #{tmp\ 3085}#
+                #{tmp\ 3087}#
                 '(any any any . each-any))))
-           #{e\ 3075}#)))
+           #{e\ 3077}#)))
       (#{global-extend\ 378}#
         'core
         'lambda*
-        (lambda (#{e\ 3142}#
-                 #{r\ 3143}#
-                 #{w\ 3144}#
-                 #{s\ 3145}#
-                 #{mod\ 3146}#)
-          ((lambda (#{tmp\ 3152}#)
-             ((lambda (#{tmp\ 3153}#)
-                (if #{tmp\ 3153}#
-                  (apply (lambda (#{_\ 3158}#
-                                  #{args\ 3159}#
-                                  #{e1\ 3160}#
-                                  #{e2\ 3161}#)
+        (lambda (#{e\ 3144}#
+                 #{r\ 3145}#
+                 #{w\ 3146}#
+                 #{s\ 3147}#
+                 #{mod\ 3148}#)
+          ((lambda (#{tmp\ 3154}#)
+             ((lambda (#{tmp\ 3155}#)
+                (if #{tmp\ 3155}#
+                  (apply (lambda (#{_\ 3160}#
+                                  #{args\ 3161}#
+                                  #{e1\ 3162}#
+                                  #{e2\ 3163}#)
                            (call-with-values
                              (lambda ()
                                (#{chi-lambda-case\ 491}#
-                                 #{e\ 3142}#
-                                 #{r\ 3143}#
-                                 #{w\ 3144}#
-                                 #{s\ 3145}#
-                                 #{mod\ 3146}#
+                                 #{e\ 3144}#
+                                 #{r\ 3145}#
+                                 #{w\ 3146}#
+                                 #{s\ 3147}#
+                                 #{mod\ 3148}#
                                  #{lambda*-formals\ 489}#
-                                 (list (cons #{args\ 3159}#
-                                             (cons #{e1\ 3160}#
-                                                   #{e2\ 3161}#)))))
-                             (lambda (#{meta\ 3163}# #{lcase\ 3164}#)
+                                 (list (cons #{args\ 3161}#
+                                             (cons #{e1\ 3162}#
+                                                   #{e2\ 3163}#)))))
+                             (lambda (#{meta\ 3165}# #{lcase\ 3166}#)
                                (#{build-case-lambda\ 326}#
-                                 #{s\ 3145}#
-                                 #{meta\ 3163}#
-                                 #{lcase\ 3164}#))))
-                         #{tmp\ 3153}#)
-                  ((lambda (#{_\ 3168}#)
+                                 #{s\ 3147}#
+                                 #{meta\ 3165}#
+                                 #{lcase\ 3166}#))))
+                         #{tmp\ 3155}#)
+                  ((lambda (#{_\ 3170}#)
                      (syntax-violation
                        'lambda
                        "bad lambda*"
-                       #{e\ 3142}#))
-                   #{tmp\ 3152}#)))
+                       #{e\ 3144}#))
+                   #{tmp\ 3154}#)))
               ($sc-dispatch
-                #{tmp\ 3152}#
+                #{tmp\ 3154}#
                 '(any any any . each-any))))
-           #{e\ 3142}#)))
+           #{e\ 3144}#)))
       (#{global-extend\ 378}#
         'core
         'case-lambda
-        (lambda (#{e\ 3169}#
-                 #{r\ 3170}#
-                 #{w\ 3171}#
-                 #{s\ 3172}#
-                 #{mod\ 3173}#)
-          ((lambda (#{tmp\ 3179}#)
-             ((lambda (#{tmp\ 3180}#)
-                (if #{tmp\ 3180}#
-                  (apply (lambda (#{_\ 3188}#
-                                  #{args\ 3189}#
-                                  #{e1\ 3190}#
-                                  #{e2\ 3191}#
-                                  #{args*\ 3192}#
-                                  #{e1*\ 3193}#
-                                  #{e2*\ 3194}#)
+        (lambda (#{e\ 3171}#
+                 #{r\ 3172}#
+                 #{w\ 3173}#
+                 #{s\ 3174}#
+                 #{mod\ 3175}#)
+          ((lambda (#{tmp\ 3181}#)
+             ((lambda (#{tmp\ 3182}#)
+                (if #{tmp\ 3182}#
+                  (apply (lambda (#{_\ 3190}#
+                                  #{args\ 3191}#
+                                  #{e1\ 3192}#
+                                  #{e2\ 3193}#
+                                  #{args*\ 3194}#
+                                  #{e1*\ 3195}#
+                                  #{e2*\ 3196}#)
                            (call-with-values
                              (lambda ()
                                (#{chi-lambda-case\ 491}#
-                                 #{e\ 3169}#
-                                 #{r\ 3170}#
-                                 #{w\ 3171}#
-                                 #{s\ 3172}#
-                                 #{mod\ 3173}#
+                                 #{e\ 3171}#
+                                 #{r\ 3172}#
+                                 #{w\ 3173}#
+                                 #{s\ 3174}#
+                                 #{mod\ 3175}#
                                  #{lambda-formals\ 485}#
-                                 (cons (cons #{args\ 3189}#
-                                             (cons #{e1\ 3190}# #{e2\ 3191}#))
-                                       (map (lambda (#{tmp\ 3198}#
-                                                     #{tmp\ 3197}#
-                                                     #{tmp\ 3196}#)
-                                              (cons #{tmp\ 3196}#
-                                                    (cons #{tmp\ 3197}#
-                                                          #{tmp\ 3198}#)))
-                                            #{e2*\ 3194}#
-                                            #{e1*\ 3193}#
-                                            #{args*\ 3192}#))))
-                             (lambda (#{meta\ 3200}# #{lcase\ 3201}#)
+                                 (cons (cons #{args\ 3191}#
+                                             (cons #{e1\ 3192}# #{e2\ 3193}#))
+                                       (map (lambda (#{tmp\ 3200}#
+                                                     #{tmp\ 3199}#
+                                                     #{tmp\ 3198}#)
+                                              (cons #{tmp\ 3198}#
+                                                    (cons #{tmp\ 3199}#
+                                                          #{tmp\ 3200}#)))
+                                            #{e2*\ 3196}#
+                                            #{e1*\ 3195}#
+                                            #{args*\ 3194}#))))
+                             (lambda (#{meta\ 3202}# #{lcase\ 3203}#)
                                (#{build-case-lambda\ 326}#
-                                 #{s\ 3172}#
-                                 #{meta\ 3200}#
-                                 #{lcase\ 3201}#))))
-                         #{tmp\ 3180}#)
-                  ((lambda (#{_\ 3205}#)
+                                 #{s\ 3174}#
+                                 #{meta\ 3202}#
+                                 #{lcase\ 3203}#))))
+                         #{tmp\ 3182}#)
+                  ((lambda (#{_\ 3207}#)
                      (syntax-violation
                        'case-lambda
                        "bad case-lambda"
-                       #{e\ 3169}#))
-                   #{tmp\ 3179}#)))
+                       #{e\ 3171}#))
+                   #{tmp\ 3181}#)))
               ($sc-dispatch
-                #{tmp\ 3179}#
+                #{tmp\ 3181}#
                 '(any (any any . each-any)
                       .
                       #(each (any any . each-any))))))
-           #{e\ 3169}#)))
+           #{e\ 3171}#)))
       (#{global-extend\ 378}#
         'core
         'case-lambda*
-        (lambda (#{e\ 3206}#
-                 #{r\ 3207}#
-                 #{w\ 3208}#
-                 #{s\ 3209}#
-                 #{mod\ 3210}#)
-          ((lambda (#{tmp\ 3216}#)
-             ((lambda (#{tmp\ 3217}#)
-                (if #{tmp\ 3217}#
-                  (apply (lambda (#{_\ 3225}#
-                                  #{args\ 3226}#
-                                  #{e1\ 3227}#
-                                  #{e2\ 3228}#
-                                  #{args*\ 3229}#
-                                  #{e1*\ 3230}#
-                                  #{e2*\ 3231}#)
+        (lambda (#{e\ 3208}#
+                 #{r\ 3209}#
+                 #{w\ 3210}#
+                 #{s\ 3211}#
+                 #{mod\ 3212}#)
+          ((lambda (#{tmp\ 3218}#)
+             ((lambda (#{tmp\ 3219}#)
+                (if #{tmp\ 3219}#
+                  (apply (lambda (#{_\ 3227}#
+                                  #{args\ 3228}#
+                                  #{e1\ 3229}#
+                                  #{e2\ 3230}#
+                                  #{args*\ 3231}#
+                                  #{e1*\ 3232}#
+                                  #{e2*\ 3233}#)
                            (call-with-values
                              (lambda ()
                                (#{chi-lambda-case\ 491}#
-                                 #{e\ 3206}#
-                                 #{r\ 3207}#
-                                 #{w\ 3208}#
-                                 #{s\ 3209}#
-                                 #{mod\ 3210}#
+                                 #{e\ 3208}#
+                                 #{r\ 3209}#
+                                 #{w\ 3210}#
+                                 #{s\ 3211}#
+                                 #{mod\ 3212}#
                                  #{lambda*-formals\ 489}#
-                                 (cons (cons #{args\ 3226}#
-                                             (cons #{e1\ 3227}# #{e2\ 3228}#))
-                                       (map (lambda (#{tmp\ 3235}#
-                                                     #{tmp\ 3234}#
-                                                     #{tmp\ 3233}#)
-                                              (cons #{tmp\ 3233}#
-                                                    (cons #{tmp\ 3234}#
-                                                          #{tmp\ 3235}#)))
-                                            #{e2*\ 3231}#
-                                            #{e1*\ 3230}#
-                                            #{args*\ 3229}#))))
-                             (lambda (#{meta\ 3237}# #{lcase\ 3238}#)
+                                 (cons (cons #{args\ 3228}#
+                                             (cons #{e1\ 3229}# #{e2\ 3230}#))
+                                       (map (lambda (#{tmp\ 3237}#
+                                                     #{tmp\ 3236}#
+                                                     #{tmp\ 3235}#)
+                                              (cons #{tmp\ 3235}#
+                                                    (cons #{tmp\ 3236}#
+                                                          #{tmp\ 3237}#)))
+                                            #{e2*\ 3233}#
+                                            #{e1*\ 3232}#
+                                            #{args*\ 3231}#))))
+                             (lambda (#{meta\ 3239}# #{lcase\ 3240}#)
                                (#{build-case-lambda\ 326}#
-                                 #{s\ 3209}#
-                                 #{meta\ 3237}#
-                                 #{lcase\ 3238}#))))
-                         #{tmp\ 3217}#)
-                  ((lambda (#{_\ 3242}#)
+                                 #{s\ 3211}#
+                                 #{meta\ 3239}#
+                                 #{lcase\ 3240}#))))
+                         #{tmp\ 3219}#)
+                  ((lambda (#{_\ 3244}#)
                      (syntax-violation
                        'case-lambda
                        "bad case-lambda*"
-                       #{e\ 3206}#))
-                   #{tmp\ 3216}#)))
+                       #{e\ 3208}#))
+                   #{tmp\ 3218}#)))
               ($sc-dispatch
-                #{tmp\ 3216}#
+                #{tmp\ 3218}#
                 '(any (any any . each-any)
                       .
                       #(each (any any . each-any))))))
-           #{e\ 3206}#)))
+           #{e\ 3208}#)))
       (#{global-extend\ 378}#
         'core
         'let
-        (letrec ((#{chi-let\ 3244}#
-                   (lambda (#{e\ 3245}#
-                            #{r\ 3246}#
-                            #{w\ 3247}#
-                            #{s\ 3248}#
-                            #{mod\ 3249}#
-                            #{constructor\ 3250}#
-                            #{ids\ 3251}#
-                            #{vals\ 3252}#
-                            #{exps\ 3253}#)
-                     (if (not (#{valid-bound-ids?\ 445}# #{ids\ 3251}#))
+        (letrec ((#{chi-let\ 3246}#
+                   (lambda (#{e\ 3247}#
+                            #{r\ 3248}#
+                            #{w\ 3249}#
+                            #{s\ 3250}#
+                            #{mod\ 3251}#
+                            #{constructor\ 3252}#
+                            #{ids\ 3253}#
+                            #{vals\ 3254}#
+                            #{exps\ 3255}#)
+                     (if (not (#{valid-bound-ids?\ 445}# #{ids\ 3253}#))
                        (syntax-violation
                          'let
                          "duplicate bound variable"
-                         #{e\ 3245}#)
-                       (let ((#{labels\ 3265}#
-                               (#{gen-labels\ 400}# #{ids\ 3251}#))
-                             (#{new-vars\ 3266}#
-                               (map #{gen-var\ 495}# #{ids\ 3251}#)))
-                         (let ((#{nw\ 3269}#
+                         #{e\ 3247}#)
+                       (let ((#{labels\ 3267}#
+                               (#{gen-labels\ 400}# #{ids\ 3253}#))
+                             (#{new-vars\ 3268}#
+                               (map #{gen-var\ 495}# #{ids\ 3253}#)))
+                         (let ((#{nw\ 3271}#
                                  (#{make-binding-wrap\ 429}#
-                                   #{ids\ 3251}#
-                                   #{labels\ 3265}#
-                                   #{w\ 3247}#))
-                               (#{nr\ 3270}#
+                                   #{ids\ 3253}#
+                                   #{labels\ 3267}#
+                                   #{w\ 3249}#))
+                               (#{nr\ 3272}#
                                  (#{extend-var-env\ 372}#
-                                   #{labels\ 3265}#
-                                   #{new-vars\ 3266}#
-                                   #{r\ 3246}#)))
-                           (#{constructor\ 3250}#
-                             #{s\ 3248}#
-                             (map syntax->datum #{ids\ 3251}#)
-                             #{new-vars\ 3266}#
-                             (map (lambda (#{x\ 3271}#)
+                                   #{labels\ 3267}#
+                                   #{new-vars\ 3268}#
+                                   #{r\ 3248}#)))
+                           (#{constructor\ 3252}#
+                             #{s\ 3250}#
+                             (map syntax->datum #{ids\ 3253}#)
+                             #{new-vars\ 3268}#
+                             (map (lambda (#{x\ 3273}#)
                                     (#{chi\ 467}#
-                                      #{x\ 3271}#
-                                      #{r\ 3246}#
-                                      #{w\ 3247}#
-                                      #{mod\ 3249}#))
-                                  #{vals\ 3252}#)
+                                      #{x\ 3273}#
+                                      #{r\ 3248}#
+                                      #{w\ 3249}#
+                                      #{mod\ 3251}#))
+                                  #{vals\ 3254}#)
                              (#{chi-body\ 475}#
-                               #{exps\ 3253}#
+                               #{exps\ 3255}#
                                (#{source-wrap\ 453}#
-                                 #{e\ 3245}#
-                                 #{nw\ 3269}#
-                                 #{s\ 3248}#
-                                 #{mod\ 3249}#)
-                               #{nr\ 3270}#
-                               #{nw\ 3269}#
-                               #{mod\ 3249}#))))))))
-          (lambda (#{e\ 3273}#
-                   #{r\ 3274}#
-                   #{w\ 3275}#
-                   #{s\ 3276}#
-                   #{mod\ 3277}#)
-            ((lambda (#{tmp\ 3283}#)
-               ((lambda (#{tmp\ 3284}#)
-                  (if (if #{tmp\ 3284}#
-                        (apply (lambda (#{_\ 3290}#
-                                        #{id\ 3291}#
-                                        #{val\ 3292}#
-                                        #{e1\ 3293}#
-                                        #{e2\ 3294}#)
-                                 (and-map #{id?\ 382}# #{id\ 3291}#))
-                               #{tmp\ 3284}#)
+                                 #{e\ 3247}#
+                                 #{nw\ 3271}#
+                                 #{s\ 3250}#
+                                 #{mod\ 3251}#)
+                               #{nr\ 3272}#
+                               #{nw\ 3271}#
+                               #{mod\ 3251}#))))))))
+          (lambda (#{e\ 3275}#
+                   #{r\ 3276}#
+                   #{w\ 3277}#
+                   #{s\ 3278}#
+                   #{mod\ 3279}#)
+            ((lambda (#{tmp\ 3285}#)
+               ((lambda (#{tmp\ 3286}#)
+                  (if (if #{tmp\ 3286}#
+                        (apply (lambda (#{_\ 3292}#
+                                        #{id\ 3293}#
+                                        #{val\ 3294}#
+                                        #{e1\ 3295}#
+                                        #{e2\ 3296}#)
+                                 (and-map #{id?\ 382}# #{id\ 3293}#))
+                               #{tmp\ 3286}#)
                         #f)
-                    (apply (lambda (#{_\ 3301}#
-                                    #{id\ 3302}#
-                                    #{val\ 3303}#
-                                    #{e1\ 3304}#
-                                    #{e2\ 3305}#)
-                             (#{chi-let\ 3244}#
-                               #{e\ 3273}#
-                               #{r\ 3274}#
-                               #{w\ 3275}#
-                               #{s\ 3276}#
-                               #{mod\ 3277}#
+                    (apply (lambda (#{_\ 3303}#
+                                    #{id\ 3304}#
+                                    #{val\ 3305}#
+                                    #{e1\ 3306}#
+                                    #{e2\ 3307}#)
+                             (#{chi-let\ 3246}#
+                               #{e\ 3275}#
+                               #{r\ 3276}#
+                               #{w\ 3277}#
+                               #{s\ 3278}#
+                               #{mod\ 3279}#
                                #{build-let\ 336}#
-                               #{id\ 3302}#
-                               #{val\ 3303}#
-                               (cons #{e1\ 3304}# #{e2\ 3305}#)))
-                           #{tmp\ 3284}#)
-                    ((lambda (#{tmp\ 3309}#)
-                       (if (if #{tmp\ 3309}#
-                             (apply (lambda (#{_\ 3316}#
-                                             #{f\ 3317}#
-                                             #{id\ 3318}#
-                                             #{val\ 3319}#
-                                             #{e1\ 3320}#
-                                             #{e2\ 3321}#)
-                                      (if (#{id?\ 382}# #{f\ 3317}#)
-                                        (and-map #{id?\ 382}# #{id\ 3318}#)
+                               #{id\ 3304}#
+                               #{val\ 3305}#
+                               (cons #{e1\ 3306}# #{e2\ 3307}#)))
+                           #{tmp\ 3286}#)
+                    ((lambda (#{tmp\ 3311}#)
+                       (if (if #{tmp\ 3311}#
+                             (apply (lambda (#{_\ 3318}#
+                                             #{f\ 3319}#
+                                             #{id\ 3320}#
+                                             #{val\ 3321}#
+                                             #{e1\ 3322}#
+                                             #{e2\ 3323}#)
+                                      (if (#{id?\ 382}# #{f\ 3319}#)
+                                        (and-map #{id?\ 382}# #{id\ 3320}#)
                                         #f))
-                                    #{tmp\ 3309}#)
+                                    #{tmp\ 3311}#)
                              #f)
-                         (apply (lambda (#{_\ 3331}#
-                                         #{f\ 3332}#
-                                         #{id\ 3333}#
-                                         #{val\ 3334}#
-                                         #{e1\ 3335}#
-                                         #{e2\ 3336}#)
-                                  (#{chi-let\ 3244}#
-                                    #{e\ 3273}#
-                                    #{r\ 3274}#
-                                    #{w\ 3275}#
-                                    #{s\ 3276}#
-                                    #{mod\ 3277}#
+                         (apply (lambda (#{_\ 3333}#
+                                         #{f\ 3334}#
+                                         #{id\ 3335}#
+                                         #{val\ 3336}#
+                                         #{e1\ 3337}#
+                                         #{e2\ 3338}#)
+                                  (#{chi-let\ 3246}#
+                                    #{e\ 3275}#
+                                    #{r\ 3276}#
+                                    #{w\ 3277}#
+                                    #{s\ 3278}#
+                                    #{mod\ 3279}#
                                     #{build-named-let\ 338}#
-                                    (cons #{f\ 3332}# #{id\ 3333}#)
-                                    #{val\ 3334}#
-                                    (cons #{e1\ 3335}# #{e2\ 3336}#)))
-                                #{tmp\ 3309}#)
-                         ((lambda (#{_\ 3341}#)
+                                    (cons #{f\ 3334}# #{id\ 3335}#)
+                                    #{val\ 3336}#
+                                    (cons #{e1\ 3337}# #{e2\ 3338}#)))
+                                #{tmp\ 3311}#)
+                         ((lambda (#{_\ 3343}#)
                             (syntax-violation
                               'let
                               "bad let"
                               (#{source-wrap\ 453}#
-                                #{e\ 3273}#
-                                #{w\ 3275}#
-                                #{s\ 3276}#
-                                #{mod\ 3277}#)))
-                          #{tmp\ 3283}#)))
+                                #{e\ 3275}#
+                                #{w\ 3277}#
+                                #{s\ 3278}#
+                                #{mod\ 3279}#)))
+                          #{tmp\ 3285}#)))
                      ($sc-dispatch
-                       #{tmp\ 3283}#
+                       #{tmp\ 3285}#
                        '(any any #(each (any any)) any . each-any)))))
                 ($sc-dispatch
-                  #{tmp\ 3283}#
+                  #{tmp\ 3285}#
                   '(any #(each (any any)) any . each-any))))
-             #{e\ 3273}#))))
+             #{e\ 3275}#))))
       (#{global-extend\ 378}#
         'core
         'letrec
-        (lambda (#{e\ 3342}#
-                 #{r\ 3343}#
-                 #{w\ 3344}#
-                 #{s\ 3345}#
-                 #{mod\ 3346}#)
-          ((lambda (#{tmp\ 3352}#)
-             ((lambda (#{tmp\ 3353}#)
-                (if (if #{tmp\ 3353}#
-                      (apply (lambda (#{_\ 3359}#
-                                      #{id\ 3360}#
-                                      #{val\ 3361}#
-                                      #{e1\ 3362}#
-                                      #{e2\ 3363}#)
-                               (and-map #{id?\ 382}# #{id\ 3360}#))
-                             #{tmp\ 3353}#)
+        (lambda (#{e\ 3344}#
+                 #{r\ 3345}#
+                 #{w\ 3346}#
+                 #{s\ 3347}#
+                 #{mod\ 3348}#)
+          ((lambda (#{tmp\ 3354}#)
+             ((lambda (#{tmp\ 3355}#)
+                (if (if #{tmp\ 3355}#
+                      (apply (lambda (#{_\ 3361}#
+                                      #{id\ 3362}#
+                                      #{val\ 3363}#
+                                      #{e1\ 3364}#
+                                      #{e2\ 3365}#)
+                               (and-map #{id?\ 382}# #{id\ 3362}#))
+                             #{tmp\ 3355}#)
                       #f)
-                  (apply (lambda (#{_\ 3370}#
-                                  #{id\ 3371}#
-                                  #{val\ 3372}#
-                                  #{e1\ 3373}#
-                                  #{e2\ 3374}#)
-                           (let ((#{ids\ 3376}# #{id\ 3371}#))
+                  (apply (lambda (#{_\ 3372}#
+                                  #{id\ 3373}#
+                                  #{val\ 3374}#
+                                  #{e1\ 3375}#
+                                  #{e2\ 3376}#)
+                           (let ((#{ids\ 3378}# #{id\ 3373}#))
                              (if (not (#{valid-bound-ids?\ 445}#
-                                        #{ids\ 3376}#))
+                                        #{ids\ 3378}#))
                                (syntax-violation
                                  'letrec
                                  "duplicate bound variable"
-                                 #{e\ 3342}#)
-                               (let ((#{labels\ 3380}#
-                                       (#{gen-labels\ 400}# #{ids\ 3376}#))
-                                     (#{new-vars\ 3381}#
-                                       (map #{gen-var\ 495}# #{ids\ 3376}#)))
-                                 (let ((#{w\ 3384}#
+                                 #{e\ 3344}#)
+                               (let ((#{labels\ 3382}#
+                                       (#{gen-labels\ 400}# #{ids\ 3378}#))
+                                     (#{new-vars\ 3383}#
+                                       (map #{gen-var\ 495}# #{ids\ 3378}#)))
+                                 (let ((#{w\ 3386}#
                                          (#{make-binding-wrap\ 429}#
-                                           #{ids\ 3376}#
-                                           #{labels\ 3380}#
-                                           #{w\ 3344}#))
-                                       (#{r\ 3385}#
+                                           #{ids\ 3378}#
+                                           #{labels\ 3382}#
+                                           #{w\ 3346}#))
+                                       (#{r\ 3387}#
                                          (#{extend-var-env\ 372}#
-                                           #{labels\ 3380}#
-                                           #{new-vars\ 3381}#
-                                           #{r\ 3343}#)))
+                                           #{labels\ 3382}#
+                                           #{new-vars\ 3383}#
+                                           #{r\ 3345}#)))
                                    (#{build-letrec\ 340}#
-                                     #{s\ 3345}#
-                                     (map syntax->datum #{ids\ 3376}#)
-                                     #{new-vars\ 3381}#
-                                     (map (lambda (#{x\ 3386}#)
+                                     #{s\ 3347}#
+                                     #f
+                                     (map syntax->datum #{ids\ 3378}#)
+                                     #{new-vars\ 3383}#
+                                     (map (lambda (#{x\ 3388}#)
                                             (#{chi\ 467}#
-                                              #{x\ 3386}#
-                                              #{r\ 3385}#
-                                              #{w\ 3384}#
-                                              #{mod\ 3346}#))
-                                          #{val\ 3372}#)
+                                              #{x\ 3388}#
+                                              #{r\ 3387}#
+                                              #{w\ 3386}#
+                                              #{mod\ 3348}#))
+                                          #{val\ 3374}#)
                                      (#{chi-body\ 475}#
-                                       (cons #{e1\ 3373}# #{e2\ 3374}#)
+                                       (cons #{e1\ 3375}# #{e2\ 3376}#)
                                        (#{source-wrap\ 453}#
-                                         #{e\ 3342}#
-                                         #{w\ 3384}#
-                                         #{s\ 3345}#
-                                         #{mod\ 3346}#)
-                                       #{r\ 3385}#
-                                       #{w\ 3384}#
-                                       #{mod\ 3346}#)))))))
-                         #{tmp\ 3353}#)
-                  ((lambda (#{_\ 3391}#)
+                                         #{e\ 3344}#
+                                         #{w\ 3386}#
+                                         #{s\ 3347}#
+                                         #{mod\ 3348}#)
+                                       #{r\ 3387}#
+                                       #{w\ 3386}#
+                                       #{mod\ 3348}#)))))))
+                         #{tmp\ 3355}#)
+                  ((lambda (#{_\ 3393}#)
                      (syntax-violation
                        'letrec
                        "bad letrec"
                        (#{source-wrap\ 453}#
-                         #{e\ 3342}#
-                         #{w\ 3344}#
-                         #{s\ 3345}#
-                         #{mod\ 3346}#)))
-                   #{tmp\ 3352}#)))
+                         #{e\ 3344}#
+                         #{w\ 3346}#
+                         #{s\ 3347}#
+                         #{mod\ 3348}#)))
+                   #{tmp\ 3354}#)))
               ($sc-dispatch
-                #{tmp\ 3352}#
+                #{tmp\ 3354}#
                 '(any #(each (any any)) any . each-any))))
-           #{e\ 3342}#)))
+           #{e\ 3344}#)))
+      (#{global-extend\ 378}#
+        'core
+        'letrec*
+        (lambda (#{e\ 3394}#
+                 #{r\ 3395}#
+                 #{w\ 3396}#
+                 #{s\ 3397}#
+                 #{mod\ 3398}#)
+          ((lambda (#{tmp\ 3404}#)
+             ((lambda (#{tmp\ 3405}#)
+                (if (if #{tmp\ 3405}#
+                      (apply (lambda (#{_\ 3411}#
+                                      #{id\ 3412}#
+                                      #{val\ 3413}#
+                                      #{e1\ 3414}#
+                                      #{e2\ 3415}#)
+                               (and-map #{id?\ 382}# #{id\ 3412}#))
+                             #{tmp\ 3405}#)
+                      #f)
+                  (apply (lambda (#{_\ 3422}#
+                                  #{id\ 3423}#
+                                  #{val\ 3424}#
+                                  #{e1\ 3425}#
+                                  #{e2\ 3426}#)
+                           (let ((#{ids\ 3428}# #{id\ 3423}#))
+                             (if (not (#{valid-bound-ids?\ 445}#
+                                        #{ids\ 3428}#))
+                               (syntax-violation
+                                 'letrec*
+                                 "duplicate bound variable"
+                                 #{e\ 3394}#)
+                               (let ((#{labels\ 3432}#
+                                       (#{gen-labels\ 400}# #{ids\ 3428}#))
+                                     (#{new-vars\ 3433}#
+                                       (map #{gen-var\ 495}# #{ids\ 3428}#)))
+                                 (let ((#{w\ 3436}#
+                                         (#{make-binding-wrap\ 429}#
+                                           #{ids\ 3428}#
+                                           #{labels\ 3432}#
+                                           #{w\ 3396}#))
+                                       (#{r\ 3437}#
+                                         (#{extend-var-env\ 372}#
+                                           #{labels\ 3432}#
+                                           #{new-vars\ 3433}#
+                                           #{r\ 3395}#)))
+                                   (#{build-letrec\ 340}#
+                                     #{s\ 3397}#
+                                     #t
+                                     (map syntax->datum #{ids\ 3428}#)
+                                     #{new-vars\ 3433}#
+                                     (map (lambda (#{x\ 3438}#)
+                                            (#{chi\ 467}#
+                                              #{x\ 3438}#
+                                              #{r\ 3437}#
+                                              #{w\ 3436}#
+                                              #{mod\ 3398}#))
+                                          #{val\ 3424}#)
+                                     (#{chi-body\ 475}#
+                                       (cons #{e1\ 3425}# #{e2\ 3426}#)
+                                       (#{source-wrap\ 453}#
+                                         #{e\ 3394}#
+                                         #{w\ 3436}#
+                                         #{s\ 3397}#
+                                         #{mod\ 3398}#)
+                                       #{r\ 3437}#
+                                       #{w\ 3436}#
+                                       #{mod\ 3398}#)))))))
+                         #{tmp\ 3405}#)
+                  ((lambda (#{_\ 3443}#)
+                     (syntax-violation
+                       'letrec*
+                       "bad letrec*"
+                       (#{source-wrap\ 453}#
+                         #{e\ 3394}#
+                         #{w\ 3396}#
+                         #{s\ 3397}#
+                         #{mod\ 3398}#)))
+                   #{tmp\ 3404}#)))
+              ($sc-dispatch
+                #{tmp\ 3404}#
+                '(any #(each (any any)) any . each-any))))
+           #{e\ 3394}#)))
       (#{global-extend\ 378}#
         'core
         'set!
-        (lambda (#{e\ 3392}#
-                 #{r\ 3393}#
-                 #{w\ 3394}#
-                 #{s\ 3395}#
-                 #{mod\ 3396}#)
-          ((lambda (#{tmp\ 3402}#)
-             ((lambda (#{tmp\ 3403}#)
-                (if (if #{tmp\ 3403}#
-                      (apply (lambda (#{_\ 3407}# #{id\ 3408}# #{val\ 3409}#)
-                               (#{id?\ 382}# #{id\ 3408}#))
-                             #{tmp\ 3403}#)
+        (lambda (#{e\ 3444}#
+                 #{r\ 3445}#
+                 #{w\ 3446}#
+                 #{s\ 3447}#
+                 #{mod\ 3448}#)
+          ((lambda (#{tmp\ 3454}#)
+             ((lambda (#{tmp\ 3455}#)
+                (if (if #{tmp\ 3455}#
+                      (apply (lambda (#{_\ 3459}# #{id\ 3460}# #{val\ 3461}#)
+                               (#{id?\ 382}# #{id\ 3460}#))
+                             #{tmp\ 3455}#)
                       #f)
-                  (apply (lambda (#{_\ 3413}# #{id\ 3414}# #{val\ 3415}#)
-                           (let ((#{val\ 3418}#
+                  (apply (lambda (#{_\ 3465}# #{id\ 3466}# #{val\ 3467}#)
+                           (let ((#{val\ 3470}#
                                    (#{chi\ 467}#
-                                     #{val\ 3415}#
-                                     #{r\ 3393}#
-                                     #{w\ 3394}#
-                                     #{mod\ 3396}#))
-                                 (#{n\ 3419}#
+                                     #{val\ 3467}#
+                                     #{r\ 3445}#
+                                     #{w\ 3446}#
+                                     #{mod\ 3448}#))
+                                 (#{n\ 3471}#
                                    (#{id-var-name\ 439}#
-                                     #{id\ 3414}#
-                                     #{w\ 3394}#)))
-                             (let ((#{b\ 3421}#
+                                     #{id\ 3466}#
+                                     #{w\ 3446}#)))
+                             (let ((#{b\ 3473}#
                                      (#{lookup\ 376}#
-                                       #{n\ 3419}#
-                                       #{r\ 3393}#
-                                       #{mod\ 3396}#)))
-                               (let ((#{atom-key\ 3424}#
-                                       (#{binding-type\ 365}# #{b\ 3421}#)))
-                                 (if (memv #{atom-key\ 3424}#
+                                       #{n\ 3471}#
+                                       #{r\ 3445}#
+                                       #{mod\ 3448}#)))
+                               (let ((#{atom-key\ 3476}#
+                                       (#{binding-type\ 365}# #{b\ 3473}#)))
+                                 (if (memv #{atom-key\ 3476}#
                                            '(lexical))
                                    (#{build-lexical-assignment\ 312}#
-                                     #{s\ 3395}#
-                                     (syntax->datum #{id\ 3414}#)
-                                     (#{binding-value\ 367}# #{b\ 3421}#)
-                                     #{val\ 3418}#)
-                                   (if (memv #{atom-key\ 3424}#
+                                     #{s\ 3447}#
+                                     (syntax->datum #{id\ 3466}#)
+                                     (#{binding-value\ 367}# #{b\ 3473}#)
+                                     #{val\ 3470}#)
+                                   (if (memv #{atom-key\ 3476}#
                                              '(global))
                                      (#{build-global-assignment\ 318}#
-                                       #{s\ 3395}#
-                                       #{n\ 3419}#
-                                       #{val\ 3418}#
-                                       #{mod\ 3396}#)
-                                     (if (memv #{atom-key\ 3424}#
+                                       #{s\ 3447}#
+                                       #{n\ 3471}#
+                                       #{val\ 3470}#
+                                       #{mod\ 3448}#)
+                                     (if (memv #{atom-key\ 3476}#
                                                '(displaced-lexical))
                                        (syntax-violation
                                          'set!
                                          "identifier out of context"
                                          (#{wrap\ 451}#
-                                           #{id\ 3414}#
-                                           #{w\ 3394}#
-                                           #{mod\ 3396}#))
+                                           #{id\ 3466}#
+                                           #{w\ 3446}#
+                                           #{mod\ 3448}#))
                                        (syntax-violation
                                          'set!
                                          "bad set!"
                                          (#{source-wrap\ 453}#
-                                           #{e\ 3392}#
-                                           #{w\ 3394}#
-                                           #{s\ 3395}#
-                                           #{mod\ 3396}#)))))))))
-                         #{tmp\ 3403}#)
-                  ((lambda (#{tmp\ 3429}#)
-                     (if #{tmp\ 3429}#
-                       (apply (lambda (#{_\ 3434}#
-                                       #{head\ 3435}#
-                                       #{tail\ 3436}#
-                                       #{val\ 3437}#)
+                                           #{e\ 3444}#
+                                           #{w\ 3446}#
+                                           #{s\ 3447}#
+                                           #{mod\ 3448}#)))))))))
+                         #{tmp\ 3455}#)
+                  ((lambda (#{tmp\ 3481}#)
+                     (if #{tmp\ 3481}#
+                       (apply (lambda (#{_\ 3486}#
+                                       #{head\ 3487}#
+                                       #{tail\ 3488}#
+                                       #{val\ 3489}#)
                                 (call-with-values
                                   (lambda ()
                                     (#{syntax-type\ 463}#
-                                      #{head\ 3435}#
-                                      #{r\ 3393}#
+                                      #{head\ 3487}#
+                                      #{r\ 3445}#
                                       '(())
                                       #f
                                       #f
-                                      #{mod\ 3396}#
+                                      #{mod\ 3448}#
                                       #t))
-                                  (lambda (#{type\ 3440}#
-                                           #{value\ 3441}#
-                                           #{ee\ 3442}#
-                                           #{ww\ 3443}#
-                                           #{ss\ 3444}#
-                                           #{modmod\ 3445}#)
-                                    (if (memv #{type\ 3440}#
+                                  (lambda (#{type\ 3492}#
+                                           #{value\ 3493}#
+                                           #{ee\ 3494}#
+                                           #{ww\ 3495}#
+                                           #{ss\ 3496}#
+                                           #{modmod\ 3497}#)
+                                    (if (memv #{type\ 3492}#
                                               '(module-ref))
-                                      (let ((#{val\ 3454}#
+                                      (let ((#{val\ 3506}#
                                               (#{chi\ 467}#
-                                                #{val\ 3437}#
-                                                #{r\ 3393}#
-                                                #{w\ 3394}#
-                                                #{mod\ 3396}#)))
+                                                #{val\ 3489}#
+                                                #{r\ 3445}#
+                                                #{w\ 3446}#
+                                                #{mod\ 3448}#)))
                                         (call-with-values
                                           (lambda ()
-                                            (#{value\ 3441}#
-                                              (cons #{head\ 3435}#
-                                                    #{tail\ 3436}#)
-                                              #{r\ 3393}#
-                                              #{w\ 3394}#))
-                                          (lambda (#{e\ 3456}#
-                                                   #{r\ 3457}#
-                                                   #{w\ 3458}#
-                                                   #{s*\ 3459}#
-                                                   #{mod\ 3460}#)
-                                            ((lambda (#{tmp\ 3466}#)
-                                               ((lambda (#{tmp\ 3467}#)
-                                                  (if (if #{tmp\ 3467}#
-                                                        (apply (lambda (#{e\ 3469}#)
+                                            (#{value\ 3493}#
+                                              (cons #{head\ 3487}#
+                                                    #{tail\ 3488}#)
+                                              #{r\ 3445}#
+                                              #{w\ 3446}#))
+                                          (lambda (#{e\ 3508}#
+                                                   #{r\ 3509}#
+                                                   #{w\ 3510}#
+                                                   #{s*\ 3511}#
+                                                   #{mod\ 3512}#)
+                                            ((lambda (#{tmp\ 3518}#)
+                                               ((lambda (#{tmp\ 3519}#)
+                                                  (if (if #{tmp\ 3519}#
+                                                        (apply (lambda (#{e\ 3521}#)
                                                                  (#{id?\ 382}#
-                                                                   #{e\ 3469}#))
-                                                               #{tmp\ 3467}#)
+                                                                   #{e\ 3521}#))
+                                                               #{tmp\ 3519}#)
                                                         #f)
-                                                    (apply (lambda (#{e\ 3471}#)
+                                                    (apply (lambda (#{e\ 3523}#)
                                                              (#{build-global-assignment\ 318}#
-                                                               #{s\ 3395}#
+                                                               #{s\ 3447}#
                                                                (syntax->datum
-                                                                 #{e\ 3471}#)
-                                                               #{val\ 3454}#
-                                                               #{mod\ 3460}#))
-                                                           #{tmp\ 3467}#)
+                                                                 #{e\ 3523}#)
+                                                               #{val\ 3506}#
+                                                               #{mod\ 3512}#))
+                                                           #{tmp\ 3519}#)
                                                     (syntax-violation
                                                       #f
                                                       "source expression failed to match any pattern"
-                                                      #{tmp\ 3466}#)))
-                                                (list #{tmp\ 3466}#)))
-                                             #{e\ 3456}#))))
+                                                      #{tmp\ 3518}#)))
+                                                (list #{tmp\ 3518}#)))
+                                             #{e\ 3508}#))))
                                       (#{build-application\ 304}#
-                                        #{s\ 3395}#
+                                        #{s\ 3447}#
                                         (#{chi\ 467}#
                                           (list '#(syntax-object
                                                    setter
                                                         (top)
                                                         (top)
                                                         (top))
-                                                      #("i3446"
-                                                        "i3447"
-                                                        "i3448"
-                                                        "i3449"
-                                                        "i3450"
-                                                        "i3451"))
+                                                      #("i3498"
+                                                        "i3499"
+                                                        "i3500"
+                                                        "i3501"
+                                                        "i3502"
+                                                        "i3503"))
                                                     #(ribcage
                                                       #(_ head tail val)
                                                       #((top)
                                                         (top)
                                                         (top)
                                                         (top))
-                                                      #("i3430"
-                                                        "i3431"
-                                                        "i3432"
-                                                        "i3433"))
+                                                      #("i3482"
+                                                        "i3483"
+                                                        "i3484"
+                                                        "i3485"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(e r w s mod)
                                                         (top)
                                                         (top)
                                                         (top))
-                                                      #("i3397"
-                                                        "i3398"
-                                                        "i3399"
-                                                        "i3400"
-                                                        "i3401"))
+                                                      #("i3449"
+                                                        "i3450"
+                                                        "i3451"
+                                                        "i3452"
+                                                        "i3453"))
                                                     #(ribcage
                                                       (lambda-var-list
                                                         gen-var
                                                        "i31"
                                                        "i29")))
                                                    (hygiene guile))
-                                                #{head\ 3435}#)
-                                          #{r\ 3393}#
-                                          #{w\ 3394}#
-                                          #{mod\ 3396}#)
-                                        (map (lambda (#{e\ 3473}#)
+                                                #{head\ 3487}#)
+                                          #{r\ 3445}#
+                                          #{w\ 3446}#
+                                          #{mod\ 3448}#)
+                                        (map (lambda (#{e\ 3525}#)
                                                (#{chi\ 467}#
-                                                 #{e\ 3473}#
-                                                 #{r\ 3393}#
-                                                 #{w\ 3394}#
-                                                 #{mod\ 3396}#))
+                                                 #{e\ 3525}#
+                                                 #{r\ 3445}#
+                                                 #{w\ 3446}#
+                                                 #{mod\ 3448}#))
                                              (append
-                                               #{tail\ 3436}#
-                                               (list #{val\ 3437}#))))))))
-                              #{tmp\ 3429}#)
-                       ((lambda (#{_\ 3477}#)
+                                               #{tail\ 3488}#
+                                               (list #{val\ 3489}#))))))))
+                              #{tmp\ 3481}#)
+                       ((lambda (#{_\ 3529}#)
                           (syntax-violation
                             'set!
                             "bad set!"
                             (#{source-wrap\ 453}#
-                              #{e\ 3392}#
-                              #{w\ 3394}#
-                              #{s\ 3395}#
-                              #{mod\ 3396}#)))
-                        #{tmp\ 3402}#)))
+                              #{e\ 3444}#
+                              #{w\ 3446}#
+                              #{s\ 3447}#
+                              #{mod\ 3448}#)))
+                        #{tmp\ 3454}#)))
                    ($sc-dispatch
-                     #{tmp\ 3402}#
+                     #{tmp\ 3454}#
                      '(any (any . each-any) any)))))
               ($sc-dispatch
-                #{tmp\ 3402}#
+                #{tmp\ 3454}#
                 '(any any any))))
-           #{e\ 3392}#)))
+           #{e\ 3444}#)))
       (#{global-extend\ 378}#
         'module-ref
         '@
-        (lambda (#{e\ 3478}# #{r\ 3479}# #{w\ 3480}#)
-          ((lambda (#{tmp\ 3484}#)
-             ((lambda (#{tmp\ 3485}#)
-                (if (if #{tmp\ 3485}#
-                      (apply (lambda (#{_\ 3489}# #{mod\ 3490}# #{id\ 3491}#)
-                               (if (and-map #{id?\ 382}# #{mod\ 3490}#)
-                                 (#{id?\ 382}# #{id\ 3491}#)
+        (lambda (#{e\ 3530}# #{r\ 3531}# #{w\ 3532}#)
+          ((lambda (#{tmp\ 3536}#)
+             ((lambda (#{tmp\ 3537}#)
+                (if (if #{tmp\ 3537}#
+                      (apply (lambda (#{_\ 3541}# #{mod\ 3542}# #{id\ 3543}#)
+                               (if (and-map #{id?\ 382}# #{mod\ 3542}#)
+                                 (#{id?\ 382}# #{id\ 3543}#)
                                  #f))
-                             #{tmp\ 3485}#)
+                             #{tmp\ 3537}#)
                       #f)
-                  (apply (lambda (#{_\ 3498}# #{mod\ 3499}# #{id\ 3500}#)
+                  (apply (lambda (#{_\ 3550}# #{mod\ 3551}# #{id\ 3552}#)
                            (values
-                             (syntax->datum #{id\ 3500}#)
-                             #{r\ 3479}#
-                             #{w\ 3480}#
+                             (syntax->datum #{id\ 3552}#)
+                             #{r\ 3531}#
+                             #{w\ 3532}#
                              #f
                              (syntax->datum
                                (cons '#(syntax-object
                                          #(ribcage
                                            #(_ mod id)
                                            #((top) (top) (top))
-                                           #("i3495" "i3496" "i3497"))
+                                           #("i3547" "i3548" "i3549"))
                                          #(ribcage () () ())
                                          #(ribcage
                                            #(e r w)
                                            #((top) (top) (top))
-                                           #("i3481" "i3482" "i3483"))
+                                           #("i3533" "i3534" "i3535"))
                                          #(ribcage
                                            (lambda-var-list
                                              gen-var
                                            ((top) (top) (top) (top))
                                            ("i33" "i32" "i31" "i29")))
                                         (hygiene guile))
-                                     #{mod\ 3499}#))))
-                         #{tmp\ 3485}#)
+                                     #{mod\ 3551}#))))
+                         #{tmp\ 3537}#)
                   (syntax-violation
                     #f
                     "source expression failed to match any pattern"
-                    #{tmp\ 3484}#)))
+                    #{tmp\ 3536}#)))
               ($sc-dispatch
-                #{tmp\ 3484}#
+                #{tmp\ 3536}#
                 '(any each-any any))))
-           #{e\ 3478}#)))
+           #{e\ 3530}#)))
       (#{global-extend\ 378}#
         'module-ref
         '@@
-        (lambda (#{e\ 3502}# #{r\ 3503}# #{w\ 3504}#)
-          (letrec ((#{remodulate\ 3509}#
-                     (lambda (#{x\ 3510}# #{mod\ 3511}#)
-                       (if (pair? #{x\ 3510}#)
-                         (cons (#{remodulate\ 3509}#
-                                 (car #{x\ 3510}#)
-                                 #{mod\ 3511}#)
-                               (#{remodulate\ 3509}#
-                                 (cdr #{x\ 3510}#)
-                                 #{mod\ 3511}#))
-                         (if (#{syntax-object?\ 346}# #{x\ 3510}#)
+        (lambda (#{e\ 3554}# #{r\ 3555}# #{w\ 3556}#)
+          (letrec ((#{remodulate\ 3561}#
+                     (lambda (#{x\ 3562}# #{mod\ 3563}#)
+                       (if (pair? #{x\ 3562}#)
+                         (cons (#{remodulate\ 3561}#
+                                 (car #{x\ 3562}#)
+                                 #{mod\ 3563}#)
+                               (#{remodulate\ 3561}#
+                                 (cdr #{x\ 3562}#)
+                                 #{mod\ 3563}#))
+                         (if (#{syntax-object?\ 346}# #{x\ 3562}#)
                            (#{make-syntax-object\ 344}#
-                             (#{remodulate\ 3509}#
-                               (#{syntax-object-expression\ 348}# #{x\ 3510}#)
-                               #{mod\ 3511}#)
-                             (#{syntax-object-wrap\ 350}# #{x\ 3510}#)
-                             #{mod\ 3511}#)
-                           (if (vector? #{x\ 3510}#)
-                             (let ((#{n\ 3522}# (vector-length #{x\ 3510}#)))
-                               (let ((#{v\ 3524}# (make-vector #{n\ 3522}#)))
-                                 (letrec ((#{loop\ 3527}#
-                                            (lambda (#{i\ 3528}#)
+                             (#{remodulate\ 3561}#
+                               (#{syntax-object-expression\ 348}# #{x\ 3562}#)
+                               #{mod\ 3563}#)
+                             (#{syntax-object-wrap\ 350}# #{x\ 3562}#)
+                             #{mod\ 3563}#)
+                           (if (vector? #{x\ 3562}#)
+                             (let ((#{n\ 3574}# (vector-length #{x\ 3562}#)))
+                               (let ((#{v\ 3576}# (make-vector #{n\ 3574}#)))
+                                 (letrec ((#{loop\ 3579}#
+                                            (lambda (#{i\ 3580}#)
                                               (if (#{fx=\ 287}#
-                                                    #{i\ 3528}#
-                                                    #{n\ 3522}#)
-                                                (begin (if #f #f) #{v\ 3524}#)
+                                                    #{i\ 3580}#
+                                                    #{n\ 3574}#)
+                                                (begin (if #f #f) #{v\ 3576}#)
                                                 (begin
                                                   (vector-set!
-                                                    #{v\ 3524}#
-                                                    #{i\ 3528}#
-                                                    (#{remodulate\ 3509}#
+                                                    #{v\ 3576}#
+                                                    #{i\ 3580}#
+                                                    (#{remodulate\ 3561}#
                                                       (vector-ref
-                                                        #{x\ 3510}#
-                                                        #{i\ 3528}#)
-                                                      #{mod\ 3511}#))
-                                                  (#{loop\ 3527}#
+                                                        #{x\ 3562}#
+                                                        #{i\ 3580}#)
+                                                      #{mod\ 3563}#))
+                                                  (#{loop\ 3579}#
                                                     (#{fx+\ 283}#
-                                                      #{i\ 3528}#
+                                                      #{i\ 3580}#
                                                       1)))))))
-                                   (#{loop\ 3527}# 0))))
-                             #{x\ 3510}#))))))
-            ((lambda (#{tmp\ 3532}#)
-               ((lambda (#{tmp\ 3533}#)
-                  (if (if #{tmp\ 3533}#
-                        (apply (lambda (#{_\ 3537}#
-                                        #{mod\ 3538}#
-                                        #{exp\ 3539}#)
-                                 (and-map #{id?\ 382}# #{mod\ 3538}#))
-                               #{tmp\ 3533}#)
+                                   (#{loop\ 3579}# 0))))
+                             #{x\ 3562}#))))))
+            ((lambda (#{tmp\ 3584}#)
+               ((lambda (#{tmp\ 3585}#)
+                  (if (if #{tmp\ 3585}#
+                        (apply (lambda (#{_\ 3589}#
+                                        #{mod\ 3590}#
+                                        #{exp\ 3591}#)
+                                 (and-map #{id?\ 382}# #{mod\ 3590}#))
+                               #{tmp\ 3585}#)
                         #f)
-                    (apply (lambda (#{_\ 3544}# #{mod\ 3545}# #{exp\ 3546}#)
-                             (let ((#{mod\ 3548}#
+                    (apply (lambda (#{_\ 3596}# #{mod\ 3597}# #{exp\ 3598}#)
+                             (let ((#{mod\ 3600}#
                                      (syntax->datum
                                        (cons '#(syntax-object
                                                 private
                                                  #(ribcage
                                                    #(_ mod exp)
                                                    #((top) (top) (top))
-                                                   #("i3541" "i3542" "i3543"))
+                                                   #("i3593" "i3594" "i3595"))
                                                  #(ribcage
                                                    (remodulate)
                                                    ((top))
-                                                   ("i3508"))
+                                                   ("i3560"))
                                                  #(ribcage
                                                    #(e r w)
                                                    #((top) (top) (top))
-                                                   #("i3505" "i3506" "i3507"))
+                                                   #("i3557" "i3558" "i3559"))
                                                  #(ribcage
                                                    (lambda-var-list
                                                      gen-var
                                                    ((top) (top) (top) (top))
                                                    ("i33" "i32" "i31" "i29")))
                                                 (hygiene guile))
-                                             #{mod\ 3545}#))))
+                                             #{mod\ 3597}#))))
                                (values
-                                 (#{remodulate\ 3509}#
-                                   #{exp\ 3546}#
-                                   #{mod\ 3548}#)
-                                 #{r\ 3503}#
-                                 #{w\ 3504}#
-                                 (#{source-annotation\ 361}# #{exp\ 3546}#)
-                                 #{mod\ 3548}#)))
-                           #{tmp\ 3533}#)
+                                 (#{remodulate\ 3561}#
+                                   #{exp\ 3598}#
+                                   #{mod\ 3600}#)
+                                 #{r\ 3555}#
+                                 #{w\ 3556}#
+                                 (#{source-annotation\ 361}# #{exp\ 3598}#)
+                                 #{mod\ 3600}#)))
+                           #{tmp\ 3585}#)
                     (syntax-violation
                       #f
                       "source expression failed to match any pattern"
-                      #{tmp\ 3532}#)))
+                      #{tmp\ 3584}#)))
                 ($sc-dispatch
-                  #{tmp\ 3532}#
+                  #{tmp\ 3584}#
                   '(any each-any any))))
-             #{e\ 3502}#))))
+             #{e\ 3554}#))))
       (#{global-extend\ 378}#
         'core
         'if
-        (lambda (#{e\ 3550}#
-                 #{r\ 3551}#
-                 #{w\ 3552}#
-                 #{s\ 3553}#
-                 #{mod\ 3554}#)
-          ((lambda (#{tmp\ 3560}#)
-             ((lambda (#{tmp\ 3561}#)
-                (if #{tmp\ 3561}#
-                  (apply (lambda (#{_\ 3565}# #{test\ 3566}# #{then\ 3567}#)
+        (lambda (#{e\ 3602}#
+                 #{r\ 3603}#
+                 #{w\ 3604}#
+                 #{s\ 3605}#
+                 #{mod\ 3606}#)
+          ((lambda (#{tmp\ 3612}#)
+             ((lambda (#{tmp\ 3613}#)
+                (if #{tmp\ 3613}#
+                  (apply (lambda (#{_\ 3617}# #{test\ 3618}# #{then\ 3619}#)
                            (#{build-conditional\ 306}#
-                             #{s\ 3553}#
+                             #{s\ 3605}#
                              (#{chi\ 467}#
-                               #{test\ 3566}#
-                               #{r\ 3551}#
-                               #{w\ 3552}#
-                               #{mod\ 3554}#)
+                               #{test\ 3618}#
+                               #{r\ 3603}#
+                               #{w\ 3604}#
+                               #{mod\ 3606}#)
                              (#{chi\ 467}#
-                               #{then\ 3567}#
-                               #{r\ 3551}#
-                               #{w\ 3552}#
-                               #{mod\ 3554}#)
+                               #{then\ 3619}#
+                               #{r\ 3603}#
+                               #{w\ 3604}#
+                               #{mod\ 3606}#)
                              (#{build-void\ 302}# #f)))
-                         #{tmp\ 3561}#)
-                  ((lambda (#{tmp\ 3569}#)
-                     (if #{tmp\ 3569}#
-                       (apply (lambda (#{_\ 3574}#
-                                       #{test\ 3575}#
-                                       #{then\ 3576}#
-                                       #{else\ 3577}#)
+                         #{tmp\ 3613}#)
+                  ((lambda (#{tmp\ 3621}#)
+                     (if #{tmp\ 3621}#
+                       (apply (lambda (#{_\ 3626}#
+                                       #{test\ 3627}#
+                                       #{then\ 3628}#
+                                       #{else\ 3629}#)
                                 (#{build-conditional\ 306}#
-                                  #{s\ 3553}#
+                                  #{s\ 3605}#
                                   (#{chi\ 467}#
-                                    #{test\ 3575}#
-                                    #{r\ 3551}#
-                                    #{w\ 3552}#
-                                    #{mod\ 3554}#)
+                                    #{test\ 3627}#
+                                    #{r\ 3603}#
+                                    #{w\ 3604}#
+                                    #{mod\ 3606}#)
                                   (#{chi\ 467}#
-                                    #{then\ 3576}#
-                                    #{r\ 3551}#
-                                    #{w\ 3552}#
-                                    #{mod\ 3554}#)
+                                    #{then\ 3628}#
+                                    #{r\ 3603}#
+                                    #{w\ 3604}#
+                                    #{mod\ 3606}#)
                                   (#{chi\ 467}#
-                                    #{else\ 3577}#
-                                    #{r\ 3551}#
-                                    #{w\ 3552}#
-                                    #{mod\ 3554}#)))
-                              #{tmp\ 3569}#)
+                                    #{else\ 3629}#
+                                    #{r\ 3603}#
+                                    #{w\ 3604}#
+                                    #{mod\ 3606}#)))
+                              #{tmp\ 3621}#)
                        (syntax-violation
                          #f
                          "source expression failed to match any pattern"
-                         #{tmp\ 3560}#)))
+                         #{tmp\ 3612}#)))
                    ($sc-dispatch
-                     #{tmp\ 3560}#
+                     #{tmp\ 3612}#
                      '(any any any any)))))
               ($sc-dispatch
-                #{tmp\ 3560}#
+                #{tmp\ 3612}#
                 '(any any any))))
-           #{e\ 3550}#)))
+           #{e\ 3602}#)))
       (#{global-extend\ 378}#
         'core
         'with-fluids
-        (lambda (#{e\ 3578}#
-                 #{r\ 3579}#
-                 #{w\ 3580}#
-                 #{s\ 3581}#
-                 #{mod\ 3582}#)
-          ((lambda (#{tmp\ 3588}#)
-             ((lambda (#{tmp\ 3589}#)
-                (if #{tmp\ 3589}#
-                  (apply (lambda (#{_\ 3595}#
-                                  #{fluid\ 3596}#
-                                  #{val\ 3597}#
-                                  #{b\ 3598}#
-                                  #{b*\ 3599}#)
+        (lambda (#{e\ 3630}#
+                 #{r\ 3631}#
+                 #{w\ 3632}#
+                 #{s\ 3633}#
+                 #{mod\ 3634}#)
+          ((lambda (#{tmp\ 3640}#)
+             ((lambda (#{tmp\ 3641}#)
+                (if #{tmp\ 3641}#
+                  (apply (lambda (#{_\ 3647}#
+                                  #{fluid\ 3648}#
+                                  #{val\ 3649}#
+                                  #{b\ 3650}#
+                                  #{b*\ 3651}#)
                            (#{build-dynlet\ 308}#
-                             #{s\ 3581}#
-                             (map (lambda (#{x\ 3600}#)
+                             #{s\ 3633}#
+                             (map (lambda (#{x\ 3652}#)
                                     (#{chi\ 467}#
-                                      #{x\ 3600}#
-                                      #{r\ 3579}#
-                                      #{w\ 3580}#
-                                      #{mod\ 3582}#))
-                                  #{fluid\ 3596}#)
-                             (map (lambda (#{x\ 3603}#)
+                                      #{x\ 3652}#
+                                      #{r\ 3631}#
+                                      #{w\ 3632}#
+                                      #{mod\ 3634}#))
+                                  #{fluid\ 3648}#)
+                             (map (lambda (#{x\ 3655}#)
                                     (#{chi\ 467}#
-                                      #{x\ 3603}#
-                                      #{r\ 3579}#
-                                      #{w\ 3580}#
-                                      #{mod\ 3582}#))
-                                  #{val\ 3597}#)
+                                      #{x\ 3655}#
+                                      #{r\ 3631}#
+                                      #{w\ 3632}#
+                                      #{mod\ 3634}#))
+                                  #{val\ 3649}#)
                              (#{chi-body\ 475}#
-                               (cons #{b\ 3598}# #{b*\ 3599}#)
+                               (cons #{b\ 3650}# #{b*\ 3651}#)
                                (#{source-wrap\ 453}#
-                                 #{e\ 3578}#
-                                 #{w\ 3580}#
-                                 #{s\ 3581}#
-                                 #{mod\ 3582}#)
-                               #{r\ 3579}#
-                               #{w\ 3580}#
-                               #{mod\ 3582}#)))
-                         #{tmp\ 3589}#)
+                                 #{e\ 3630}#
+                                 #{w\ 3632}#
+                                 #{s\ 3633}#
+                                 #{mod\ 3634}#)
+                               #{r\ 3631}#
+                               #{w\ 3632}#
+                               #{mod\ 3634}#)))
+                         #{tmp\ 3641}#)
                   (syntax-violation
                     #f
                     "source expression failed to match any pattern"
-                    #{tmp\ 3588}#)))
+                    #{tmp\ 3640}#)))
               ($sc-dispatch
-                #{tmp\ 3588}#
+                #{tmp\ 3640}#
                 '(any #(each (any any)) any . each-any))))
-           #{e\ 3578}#)))
+           #{e\ 3630}#)))
       (#{global-extend\ 378}#
         'begin
         'begin
       (#{global-extend\ 378}#
         'core
         'syntax-case
-        (letrec ((#{gen-syntax-case\ 3614}#
-                   (lambda (#{x\ 3615}#
-                            #{keys\ 3616}#
-                            #{clauses\ 3617}#
-                            #{r\ 3618}#
-                            #{mod\ 3619}#)
-                     (if (null? #{clauses\ 3617}#)
+        (letrec ((#{gen-syntax-case\ 3666}#
+                   (lambda (#{x\ 3667}#
+                            #{keys\ 3668}#
+                            #{clauses\ 3669}#
+                            #{r\ 3670}#
+                            #{mod\ 3671}#)
+                     (if (null? #{clauses\ 3669}#)
                        (#{build-application\ 304}#
                          #f
                          (#{build-primref\ 330}#
                                (#{build-data\ 332}#
                                  #f
                                  "source expression failed to match any pattern")
-                               #{x\ 3615}#))
-                       ((lambda (#{tmp\ 3629}#)
-                          ((lambda (#{tmp\ 3630}#)
-                             (if #{tmp\ 3630}#
-                               (apply (lambda (#{pat\ 3633}# #{exp\ 3634}#)
-                                        (if (if (#{id?\ 382}# #{pat\ 3633}#)
+                               #{x\ 3667}#))
+                       ((lambda (#{tmp\ 3681}#)
+                          ((lambda (#{tmp\ 3682}#)
+                             (if #{tmp\ 3682}#
+                               (apply (lambda (#{pat\ 3685}# #{exp\ 3686}#)
+                                        (if (if (#{id?\ 382}# #{pat\ 3685}#)
                                               (and-map
-                                                (lambda (#{x\ 3637}#)
+                                                (lambda (#{x\ 3689}#)
                                                   (not (#{free-id=?\ 441}#
-                                                         #{pat\ 3633}#
-                                                         #{x\ 3637}#)))
+                                                         #{pat\ 3685}#
+                                                         #{x\ 3689}#)))
                                                 (cons '#(syntax-object
                                                          ...
                                                          ((top)
                                                           #(ribcage
                                                             #(pat exp)
                                                             #((top) (top))
-                                                            #("i3631" "i3632"))
+                                                            #("i3683" "i3684"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(x
                                                               (top)
                                                               (top)
                                                               (top))
-                                                            #("i3620"
-                                                              "i3621"
-                                                              "i3622"
-                                                              "i3623"
-                                                              "i3624"))
+                                                            #("i3672"
+                                                              "i3673"
+                                                              "i3674"
+                                                              "i3675"
+                                                              "i3676"))
                                                           #(ribcage
                                                             (gen-syntax-case
                                                               gen-clause
                                                              (top)
                                                              (top)
                                                              (top))
-                                                            ("i3613"
-                                                             "i3611"
-                                                             "i3609"
-                                                             "i3607"))
+                                                            ("i3665"
+                                                             "i3663"
+                                                             "i3661"
+                                                             "i3659"))
                                                           #(ribcage
                                                             (lambda-var-list
                                                               gen-var
                                                              "i31"
                                                              "i29")))
                                                          (hygiene guile))
-                                                      #{keys\ 3616}#))
+                                                      #{keys\ 3668}#))
                                               #f)
-                                          (let ((#{labels\ 3641}#
+                                          (let ((#{labels\ 3693}#
                                                   (list (#{gen-label\ 398}#)))
-                                                (#{var\ 3642}#
+                                                (#{var\ 3694}#
                                                   (#{gen-var\ 495}#
-                                                    #{pat\ 3633}#)))
+                                                    #{pat\ 3685}#)))
                                             (#{build-application\ 304}#
                                               #f
                                               (#{build-simple-lambda\ 324}#
                                                 #f
                                                 (list (syntax->datum
-                                                        #{pat\ 3633}#))
+                                                        #{pat\ 3685}#))
                                                 #f
-                                                (list #{var\ 3642}#)
+                                                (list #{var\ 3694}#)
                                                 '()
                                                 (#{chi\ 467}#
-                                                  #{exp\ 3634}#
+                                                  #{exp\ 3686}#
                                                   (#{extend-env\ 370}#
-                                                    #{labels\ 3641}#
+                                                    #{labels\ 3693}#
                                                     (list (cons 'syntax
-                                                                (cons #{var\ 3642}#
+                                                                (cons #{var\ 3694}#
                                                                       0)))
-                                                    #{r\ 3618}#)
+                                                    #{r\ 3670}#)
                                                   (#{make-binding-wrap\ 429}#
-                                                    (list #{pat\ 3633}#)
-                                                    #{labels\ 3641}#
+                                                    (list #{pat\ 3685}#)
+                                                    #{labels\ 3693}#
                                                     '(()))
-                                                  #{mod\ 3619}#))
-                                              (list #{x\ 3615}#)))
-                                          (#{gen-clause\ 3612}#
-                                            #{x\ 3615}#
-                                            #{keys\ 3616}#
-                                            (cdr #{clauses\ 3617}#)
-                                            #{r\ 3618}#
-                                            #{pat\ 3633}#
+                                                  #{mod\ 3671}#))
+                                              (list #{x\ 3667}#)))
+                                          (#{gen-clause\ 3664}#
+                                            #{x\ 3667}#
+                                            #{keys\ 3668}#
+                                            (cdr #{clauses\ 3669}#)
+                                            #{r\ 3670}#
+                                            #{pat\ 3685}#
                                             #t
-                                            #{exp\ 3634}#
-                                            #{mod\ 3619}#)))
-                                      #{tmp\ 3630}#)
-                               ((lambda (#{tmp\ 3648}#)
-                                  (if #{tmp\ 3648}#
-                                    (apply (lambda (#{pat\ 3652}#
-                                                    #{fender\ 3653}#
-                                                    #{exp\ 3654}#)
-                                             (#{gen-clause\ 3612}#
-                                               #{x\ 3615}#
-                                               #{keys\ 3616}#
-                                               (cdr #{clauses\ 3617}#)
-                                               #{r\ 3618}#
-                                               #{pat\ 3652}#
-                                               #{fender\ 3653}#
-                                               #{exp\ 3654}#
-                                               #{mod\ 3619}#))
-                                           #{tmp\ 3648}#)
-                                    ((lambda (#{_\ 3656}#)
+                                            #{exp\ 3686}#
+                                            #{mod\ 3671}#)))
+                                      #{tmp\ 3682}#)
+                               ((lambda (#{tmp\ 3700}#)
+                                  (if #{tmp\ 3700}#
+                                    (apply (lambda (#{pat\ 3704}#
+                                                    #{fender\ 3705}#
+                                                    #{exp\ 3706}#)
+                                             (#{gen-clause\ 3664}#
+                                               #{x\ 3667}#
+                                               #{keys\ 3668}#
+                                               (cdr #{clauses\ 3669}#)
+                                               #{r\ 3670}#
+                                               #{pat\ 3704}#
+                                               #{fender\ 3705}#
+                                               #{exp\ 3706}#
+                                               #{mod\ 3671}#))
+                                           #{tmp\ 3700}#)
+                                    ((lambda (#{_\ 3708}#)
                                        (syntax-violation
                                          'syntax-case
                                          "invalid clause"
-                                         (car #{clauses\ 3617}#)))
-                                     #{tmp\ 3629}#)))
+                                         (car #{clauses\ 3669}#)))
+                                     #{tmp\ 3681}#)))
                                 ($sc-dispatch
-                                  #{tmp\ 3629}#
+                                  #{tmp\ 3681}#
                                   '(any any any)))))
-                           ($sc-dispatch #{tmp\ 3629}# (quote (any any)))))
-                        (car #{clauses\ 3617}#)))))
-                 (#{gen-clause\ 3612}#
-                   (lambda (#{x\ 3657}#
-                            #{keys\ 3658}#
-                            #{clauses\ 3659}#
-                            #{r\ 3660}#
-                            #{pat\ 3661}#
-                            #{fender\ 3662}#
-                            #{exp\ 3663}#
-                            #{mod\ 3664}#)
+                           ($sc-dispatch #{tmp\ 3681}# (quote (any any)))))
+                        (car #{clauses\ 3669}#)))))
+                 (#{gen-clause\ 3664}#
+                   (lambda (#{x\ 3709}#
+                            #{keys\ 3710}#
+                            #{clauses\ 3711}#
+                            #{r\ 3712}#
+                            #{pat\ 3713}#
+                            #{fender\ 3714}#
+                            #{exp\ 3715}#
+                            #{mod\ 3716}#)
                      (call-with-values
                        (lambda ()
-                         (#{convert-pattern\ 3608}#
-                           #{pat\ 3661}#
-                           #{keys\ 3658}#))
-                       (lambda (#{p\ 3673}# #{pvars\ 3674}#)
+                         (#{convert-pattern\ 3660}#
+                           #{pat\ 3713}#
+                           #{keys\ 3710}#))
+                       (lambda (#{p\ 3725}# #{pvars\ 3726}#)
                          (if (not (#{distinct-bound-ids?\ 447}#
-                                    (map car #{pvars\ 3674}#)))
+                                    (map car #{pvars\ 3726}#)))
                            (syntax-violation
                              'syntax-case
                              "duplicate pattern variable"
-                             #{pat\ 3661}#)
+                             #{pat\ 3713}#)
                            (if (not (and-map
-                                      (lambda (#{x\ 3681}#)
+                                      (lambda (#{x\ 3733}#)
                                         (not (#{ellipsis?\ 483}#
-                                               (car #{x\ 3681}#))))
-                                      #{pvars\ 3674}#))
+                                               (car #{x\ 3733}#))))
+                                      #{pvars\ 3726}#))
                              (syntax-violation
                                'syntax-case
                                "misplaced ellipsis"
-                               #{pat\ 3661}#)
-                             (let ((#{y\ 3685}#
+                               #{pat\ 3713}#)
+                             (let ((#{y\ 3737}#
                                      (#{gen-var\ 495}# (quote tmp))))
                                (#{build-application\ 304}#
                                  #f
                                    #f
                                    (list (quote tmp))
                                    #f
-                                   (list #{y\ 3685}#)
+                                   (list #{y\ 3737}#)
                                    '()
-                                   (let ((#{y\ 3689}#
+                                   (let ((#{y\ 3741}#
                                            (#{build-lexical-reference\ 310}#
                                              'value
                                              #f
                                              'tmp
-                                             #{y\ 3685}#)))
+                                             #{y\ 3737}#)))
                                      (#{build-conditional\ 306}#
                                        #f
-                                       ((lambda (#{tmp\ 3692}#)
-                                          ((lambda (#{tmp\ 3693}#)
-                                             (if #{tmp\ 3693}#
-                                               (apply (lambda () #{y\ 3689}#)
-                                                      #{tmp\ 3693}#)
-                                               ((lambda (#{_\ 3695}#)
+                                       ((lambda (#{tmp\ 3744}#)
+                                          ((lambda (#{tmp\ 3745}#)
+                                             (if #{tmp\ 3745}#
+                                               (apply (lambda () #{y\ 3741}#)
+                                                      #{tmp\ 3745}#)
+                                               ((lambda (#{_\ 3747}#)
                                                   (#{build-conditional\ 306}#
                                                     #f
-                                                    #{y\ 3689}#
-                                                    (#{build-dispatch-call\ 3610}#
-                                                      #{pvars\ 3674}#
-                                                      #{fender\ 3662}#
-                                                      #{y\ 3689}#
-                                                      #{r\ 3660}#
-                                                      #{mod\ 3664}#)
+                                                    #{y\ 3741}#
+                                                    (#{build-dispatch-call\ 3662}#
+                                                      #{pvars\ 3726}#
+                                                      #{fender\ 3714}#
+                                                      #{y\ 3741}#
+                                                      #{r\ 3712}#
+                                                      #{mod\ 3716}#)
                                                     (#{build-data\ 332}#
                                                       #f
                                                       #f)))
-                                                #{tmp\ 3692}#)))
+                                                #{tmp\ 3744}#)))
                                            ($sc-dispatch
-                                             #{tmp\ 3692}#
+                                             #{tmp\ 3744}#
                                              '#(atom #t))))
-                                        #{fender\ 3662}#)
-                                       (#{build-dispatch-call\ 3610}#
-                                         #{pvars\ 3674}#
-                                         #{exp\ 3663}#
-                                         #{y\ 3689}#
-                                         #{r\ 3660}#
-                                         #{mod\ 3664}#)
-                                       (#{gen-syntax-case\ 3614}#
-                                         #{x\ 3657}#
-                                         #{keys\ 3658}#
-                                         #{clauses\ 3659}#
-                                         #{r\ 3660}#
-                                         #{mod\ 3664}#))))
-                                 (list (if (eq? #{p\ 3673}# (quote any))
+                                        #{fender\ 3714}#)
+                                       (#{build-dispatch-call\ 3662}#
+                                         #{pvars\ 3726}#
+                                         #{exp\ 3715}#
+                                         #{y\ 3741}#
+                                         #{r\ 3712}#
+                                         #{mod\ 3716}#)
+                                       (#{gen-syntax-case\ 3666}#
+                                         #{x\ 3709}#
+                                         #{keys\ 3710}#
+                                         #{clauses\ 3711}#
+                                         #{r\ 3712}#
+                                         #{mod\ 3716}#))))
+                                 (list (if (eq? #{p\ 3725}# (quote any))
                                          (#{build-application\ 304}#
                                            #f
                                            (#{build-primref\ 330}#
                                              #f
                                              'list)
-                                           (list #{x\ 3657}#))
+                                           (list #{x\ 3709}#))
                                          (#{build-application\ 304}#
                                            #f
                                            (#{build-primref\ 330}#
                                              #f
                                              '$sc-dispatch)
-                                           (list #{x\ 3657}#
+                                           (list #{x\ 3709}#
                                                  (#{build-data\ 332}#
                                                    #f
-                                                   #{p\ 3673}#)))))))))))))
-                 (#{build-dispatch-call\ 3610}#
-                   (lambda (#{pvars\ 3703}#
-                            #{exp\ 3704}#
-                            #{y\ 3705}#
-                            #{r\ 3706}#
-                            #{mod\ 3707}#)
-                     (let ((#{ids\ 3715}# (map car #{pvars\ 3703}#))
-                           (#{levels\ 3716}# (map cdr #{pvars\ 3703}#)))
-                       (let ((#{labels\ 3719}#
-                               (#{gen-labels\ 400}# #{ids\ 3715}#))
-                             (#{new-vars\ 3720}#
-                               (map #{gen-var\ 495}# #{ids\ 3715}#)))
+                                                   #{p\ 3725}#)))))))))))))
+                 (#{build-dispatch-call\ 3662}#
+                   (lambda (#{pvars\ 3755}#
+                            #{exp\ 3756}#
+                            #{y\ 3757}#
+                            #{r\ 3758}#
+                            #{mod\ 3759}#)
+                     (let ((#{ids\ 3767}# (map car #{pvars\ 3755}#))
+                           (#{levels\ 3768}# (map cdr #{pvars\ 3755}#)))
+                       (let ((#{labels\ 3771}#
+                               (#{gen-labels\ 400}# #{ids\ 3767}#))
+                             (#{new-vars\ 3772}#
+                               (map #{gen-var\ 495}# #{ids\ 3767}#)))
                          (#{build-application\ 304}#
                            #f
                            (#{build-primref\ 330}# #f (quote apply))
                            (list (#{build-simple-lambda\ 324}#
                                    #f
-                                   (map syntax->datum #{ids\ 3715}#)
+                                   (map syntax->datum #{ids\ 3767}#)
                                    #f
-                                   #{new-vars\ 3720}#
+                                   #{new-vars\ 3772}#
                                    '()
                                    (#{chi\ 467}#
-                                     #{exp\ 3704}#
+                                     #{exp\ 3756}#
                                      (#{extend-env\ 370}#
-                                       #{labels\ 3719}#
-                                       (map (lambda (#{var\ 3724}#
-                                                     #{level\ 3725}#)
+                                       #{labels\ 3771}#
+                                       (map (lambda (#{var\ 3776}#
+                                                     #{level\ 3777}#)
                                               (cons 'syntax
-                                                    (cons #{var\ 3724}#
-                                                          #{level\ 3725}#)))
-                                            #{new-vars\ 3720}#
-                                            (map cdr #{pvars\ 3703}#))
-                                       #{r\ 3706}#)
+                                                    (cons #{var\ 3776}#
+                                                          #{level\ 3777}#)))
+                                            #{new-vars\ 3772}#
+                                            (map cdr #{pvars\ 3755}#))
+                                       #{r\ 3758}#)
                                      (#{make-binding-wrap\ 429}#
-                                       #{ids\ 3715}#
-                                       #{labels\ 3719}#
+                                       #{ids\ 3767}#
+                                       #{labels\ 3771}#
                                        '(()))
-                                     #{mod\ 3707}#))
-                                 #{y\ 3705}#))))))
-                 (#{convert-pattern\ 3608}#
-                   (lambda (#{pattern\ 3731}# #{keys\ 3732}#)
-                     (letrec ((#{cvt\ 3738}#
-                                (lambda (#{p\ 3739}# #{n\ 3740}# #{ids\ 3741}#)
-                                  (if (#{id?\ 382}# #{p\ 3739}#)
+                                     #{mod\ 3759}#))
+                                 #{y\ 3757}#))))))
+                 (#{convert-pattern\ 3660}#
+                   (lambda (#{pattern\ 3783}# #{keys\ 3784}#)
+                     (letrec ((#{cvt\ 3790}#
+                                (lambda (#{p\ 3791}# #{n\ 3792}# #{ids\ 3793}#)
+                                  (if (#{id?\ 382}# #{p\ 3791}#)
                                     (if (#{bound-id-member?\ 449}#
-                                          #{p\ 3739}#
-                                          #{keys\ 3732}#)
+                                          #{p\ 3791}#
+                                          #{keys\ 3784}#)
                                       (values
-                                        (vector (quote free-id) #{p\ 3739}#)
-                                        #{ids\ 3741}#)
+                                        (vector (quote free-id) #{p\ 3791}#)
+                                        #{ids\ 3793}#)
                                       (values
                                         'any
-                                        (cons (cons #{p\ 3739}# #{n\ 3740}#)
-                                              #{ids\ 3741}#)))
-                                    ((lambda (#{tmp\ 3745}#)
-                                       ((lambda (#{tmp\ 3746}#)
-                                          (if (if #{tmp\ 3746}#
-                                                (apply (lambda (#{x\ 3749}#
-                                                                #{dots\ 3750}#)
+                                        (cons (cons #{p\ 3791}# #{n\ 3792}#)
+                                              #{ids\ 3793}#)))
+                                    ((lambda (#{tmp\ 3797}#)
+                                       ((lambda (#{tmp\ 3798}#)
+                                          (if (if #{tmp\ 3798}#
+                                                (apply (lambda (#{x\ 3801}#
+                                                                #{dots\ 3802}#)
                                                          (#{ellipsis?\ 483}#
-                                                           #{dots\ 3750}#))
-                                                       #{tmp\ 3746}#)
+                                                           #{dots\ 3802}#))
+                                                       #{tmp\ 3798}#)
                                                 #f)
-                                            (apply (lambda (#{x\ 3753}#
-                                                            #{dots\ 3754}#)
+                                            (apply (lambda (#{x\ 3805}#
+                                                            #{dots\ 3806}#)
                                                      (call-with-values
                                                        (lambda ()
-                                                         (#{cvt\ 3738}#
-                                                           #{x\ 3753}#
+                                                         (#{cvt\ 3790}#
+                                                           #{x\ 3805}#
                                                            (#{fx+\ 283}#
-                                                             #{n\ 3740}#
+                                                             #{n\ 3792}#
                                                              1)
-                                                           #{ids\ 3741}#))
-                                                       (lambda (#{p\ 3755}#
-                                                                #{ids\ 3756}#)
+                                                           #{ids\ 3793}#))
+                                                       (lambda (#{p\ 3807}#
+                                                                #{ids\ 3808}#)
                                                          (values
-                                                           (if (eq? #{p\ 3755}#
+                                                           (if (eq? #{p\ 3807}#
                                                                     'any)
                                                              'each-any
                                                              (vector
                                                                'each
-                                                               #{p\ 3755}#))
-                                                           #{ids\ 3756}#))))
-                                                   #{tmp\ 3746}#)
-                                            ((lambda (#{tmp\ 3759}#)
-                                               (if (if #{tmp\ 3759}#
-                                                     (apply (lambda (#{x\ 3763}#
-                                                                     #{dots\ 3764}#
-                                                                     #{ys\ 3765}#)
+                                                               #{p\ 3807}#))
+                                                           #{ids\ 3808}#))))
+                                                   #{tmp\ 3798}#)
+                                            ((lambda (#{tmp\ 3811}#)
+                                               (if (if #{tmp\ 3811}#
+                                                     (apply (lambda (#{x\ 3815}#
+                                                                     #{dots\ 3816}#
+                                                                     #{ys\ 3817}#)
                                                               (#{ellipsis?\ 483}#
-                                                                #{dots\ 3764}#))
-                                                            #{tmp\ 3759}#)
+                                                                #{dots\ 3816}#))
+                                                            #{tmp\ 3811}#)
                                                      #f)
-                                                 (apply (lambda (#{x\ 3769}#
-                                                                 #{dots\ 3770}#
-                                                                 #{ys\ 3771}#)
+                                                 (apply (lambda (#{x\ 3821}#
+                                                                 #{dots\ 3822}#
+                                                                 #{ys\ 3823}#)
                                                           (call-with-values
                                                             (lambda ()
-                                                              (#{cvt*\ 3736}#
-                                                                #{ys\ 3771}#
-                                                                #{n\ 3740}#
-                                                                #{ids\ 3741}#))
-                                                            (lambda (#{ys\ 3773}#
-                                                                     #{ids\ 3774}#)
+                                                              (#{cvt*\ 3788}#
+                                                                #{ys\ 3823}#
+                                                                #{n\ 3792}#
+                                                                #{ids\ 3793}#))
+                                                            (lambda (#{ys\ 3825}#
+                                                                     #{ids\ 3826}#)
                                                               (call-with-values
                                                                 (lambda ()
-                                                                  (#{cvt\ 3738}#
-                                                                    #{x\ 3769}#
-                                                                    (+ #{n\ 3740}#
+                                                                  (#{cvt\ 3790}#
+                                                                    #{x\ 3821}#
+                                                                    (+ #{n\ 3792}#
                                                                        1)
-                                                                    #{ids\ 3774}#))
-                                                                (lambda (#{x\ 3777}#
-                                                                         #{ids\ 3778}#)
+                                                                    #{ids\ 3826}#))
+                                                                (lambda (#{x\ 3829}#
+                                                                         #{ids\ 3830}#)
                                                                   (values
                                                                     (list->vector
                                                                       (cons 'each+
-                                                                            (cons #{x\ 3777}#
+                                                                            (cons #{x\ 3829}#
                                                                                   (cons (reverse
-                                                                                          #{ys\ 3773}#)
+                                                                                          #{ys\ 3825}#)
                                                                                         '(())))))
-                                                                    #{ids\ 3778}#))))))
-                                                        #{tmp\ 3759}#)
-                                                 ((lambda (#{tmp\ 3782}#)
-                                                    (if #{tmp\ 3782}#
-                                                      (apply (lambda (#{x\ 3785}#
-                                                                      #{y\ 3786}#)
+                                                                    #{ids\ 3830}#))))))
+                                                        #{tmp\ 3811}#)
+                                                 ((lambda (#{tmp\ 3834}#)
+                                                    (if #{tmp\ 3834}#
+                                                      (apply (lambda (#{x\ 3837}#
+                                                                      #{y\ 3838}#)
                                                                (call-with-values
                                                                  (lambda ()
-                                                                   (#{cvt\ 3738}#
-                                                                     #{y\ 3786}#
-                                                                     #{n\ 3740}#
-                                                                     #{ids\ 3741}#))
-                                                                 (lambda (#{y\ 3787}#
-                                                                          #{ids\ 3788}#)
+                                                                   (#{cvt\ 3790}#
+                                                                     #{y\ 3838}#
+                                                                     #{n\ 3792}#
+                                                                     #{ids\ 3793}#))
+                                                                 (lambda (#{y\ 3839}#
+                                                                          #{ids\ 3840}#)
                                                                    (call-with-values
                                                                      (lambda ()
-                                                                       (#{cvt\ 3738}#
-                                                                         #{x\ 3785}#
-                                                                         #{n\ 3740}#
-                                                                         #{ids\ 3788}#))
-                                                                     (lambda (#{x\ 3791}#
-                                                                              #{ids\ 3792}#)
+                                                                       (#{cvt\ 3790}#
+                                                                         #{x\ 3837}#
+                                                                         #{n\ 3792}#
+                                                                         #{ids\ 3840}#))
+                                                                     (lambda (#{x\ 3843}#
+                                                                              #{ids\ 3844}#)
                                                                        (values
-                                                                         (cons #{x\ 3791}#
-                                                                               #{y\ 3787}#)
-                                                                         #{ids\ 3792}#))))))
-                                                             #{tmp\ 3782}#)
-                                                      ((lambda (#{tmp\ 3795}#)
-                                                         (if #{tmp\ 3795}#
+                                                                         (cons #{x\ 3843}#
+                                                                               #{y\ 3839}#)
+                                                                         #{ids\ 3844}#))))))
+                                                             #{tmp\ 3834}#)
+                                                      ((lambda (#{tmp\ 3847}#)
+                                                         (if #{tmp\ 3847}#
                                                            (apply (lambda ()
                                                                     (values
                                                                       '()
-                                                                      #{ids\ 3741}#))
-                                                                  #{tmp\ 3795}#)
-                                                           ((lambda (#{tmp\ 3796}#)
-                                                              (if #{tmp\ 3796}#
-                                                                (apply (lambda (#{x\ 3798}#)
+                                                                      #{ids\ 3793}#))
+                                                                  #{tmp\ 3847}#)
+                                                           ((lambda (#{tmp\ 3848}#)
+                                                              (if #{tmp\ 3848}#
+                                                                (apply (lambda (#{x\ 3850}#)
                                                                          (call-with-values
                                                                            (lambda ()
-                                                                             (#{cvt\ 3738}#
-                                                                               #{x\ 3798}#
-                                                                               #{n\ 3740}#
-                                                                               #{ids\ 3741}#))
-                                                                           (lambda (#{p\ 3800}#
-                                                                                    #{ids\ 3801}#)
+                                                                             (#{cvt\ 3790}#
+                                                                               #{x\ 3850}#
+                                                                               #{n\ 3792}#
+                                                                               #{ids\ 3793}#))
+                                                                           (lambda (#{p\ 3852}#
+                                                                                    #{ids\ 3853}#)
                                                                              (values
                                                                                (vector
                                                                                  'vector
-                                                                                 #{p\ 3800}#)
-                                                                               #{ids\ 3801}#))))
-                                                                       #{tmp\ 3796}#)
-                                                                ((lambda (#{x\ 3805}#)
+                                                                                 #{p\ 3852}#)
+                                                                               #{ids\ 3853}#))))
+                                                                       #{tmp\ 3848}#)
+                                                                ((lambda (#{x\ 3857}#)
                                                                    (values
                                                                      (vector
                                                                        'atom
                                                                        (#{strip\ 493}#
-                                                                         #{p\ 3739}#
+                                                                         #{p\ 3791}#
                                                                          '(())))
-                                                                     #{ids\ 3741}#))
-                                                                 #{tmp\ 3745}#)))
+                                                                     #{ids\ 3793}#))
+                                                                 #{tmp\ 3797}#)))
                                                             ($sc-dispatch
-                                                              #{tmp\ 3745}#
+                                                              #{tmp\ 3797}#
                                                               '#(vector
                                                                  each-any)))))
                                                        ($sc-dispatch
-                                                         #{tmp\ 3745}#
+                                                         #{tmp\ 3797}#
                                                          '()))))
                                                   ($sc-dispatch
-                                                    #{tmp\ 3745}#
+                                                    #{tmp\ 3797}#
                                                     '(any . any)))))
                                              ($sc-dispatch
-                                               #{tmp\ 3745}#
+                                               #{tmp\ 3797}#
                                                '(any any . each-any)))))
                                         ($sc-dispatch
-                                          #{tmp\ 3745}#
+                                          #{tmp\ 3797}#
                                           '(any any))))
-                                     #{p\ 3739}#))))
-                              (#{cvt*\ 3736}#
-                                (lambda (#{p*\ 3807}#
-                                         #{n\ 3808}#
-                                         #{ids\ 3809}#)
-                                  (if (null? #{p*\ 3807}#)
-                                    (values (quote ()) #{ids\ 3809}#)
+                                     #{p\ 3791}#))))
+                              (#{cvt*\ 3788}#
+                                (lambda (#{p*\ 3859}#
+                                         #{n\ 3860}#
+                                         #{ids\ 3861}#)
+                                  (if (null? #{p*\ 3859}#)
+                                    (values (quote ()) #{ids\ 3861}#)
                                     (call-with-values
                                       (lambda ()
-                                        (#{cvt*\ 3736}#
-                                          (cdr #{p*\ 3807}#)
-                                          #{n\ 3808}#
-                                          #{ids\ 3809}#))
-                                      (lambda (#{y\ 3813}# #{ids\ 3814}#)
+                                        (#{cvt*\ 3788}#
+                                          (cdr #{p*\ 3859}#)
+                                          #{n\ 3860}#
+                                          #{ids\ 3861}#))
+                                      (lambda (#{y\ 3865}# #{ids\ 3866}#)
                                         (call-with-values
                                           (lambda ()
-                                            (#{cvt\ 3738}#
-                                              (car #{p*\ 3807}#)
-                                              #{n\ 3808}#
-                                              #{ids\ 3814}#))
-                                          (lambda (#{x\ 3817}# #{ids\ 3818}#)
+                                            (#{cvt\ 3790}#
+                                              (car #{p*\ 3859}#)
+                                              #{n\ 3860}#
+                                              #{ids\ 3866}#))
+                                          (lambda (#{x\ 3869}# #{ids\ 3870}#)
                                             (values
-                                              (cons #{x\ 3817}# #{y\ 3813}#)
-                                              #{ids\ 3818}#)))))))))
-                       (#{cvt\ 3738}# #{pattern\ 3731}# 0 (quote ()))))))
-          (lambda (#{e\ 3821}#
-                   #{r\ 3822}#
-                   #{w\ 3823}#
-                   #{s\ 3824}#
-                   #{mod\ 3825}#)
-            (let ((#{e\ 3832}#
+                                              (cons #{x\ 3869}# #{y\ 3865}#)
+                                              #{ids\ 3870}#)))))))))
+                       (#{cvt\ 3790}# #{pattern\ 3783}# 0 (quote ()))))))
+          (lambda (#{e\ 3873}#
+                   #{r\ 3874}#
+                   #{w\ 3875}#
+                   #{s\ 3876}#
+                   #{mod\ 3877}#)
+            (let ((#{e\ 3884}#
                     (#{source-wrap\ 453}#
-                      #{e\ 3821}#
-                      #{w\ 3823}#
-                      #{s\ 3824}#
-                      #{mod\ 3825}#)))
-              ((lambda (#{tmp\ 3833}#)
-                 ((lambda (#{tmp\ 3834}#)
-                    (if #{tmp\ 3834}#
-                      (apply (lambda (#{_\ 3839}#
-                                      #{val\ 3840}#
-                                      #{key\ 3841}#
-                                      #{m\ 3842}#)
+                      #{e\ 3873}#
+                      #{w\ 3875}#
+                      #{s\ 3876}#
+                      #{mod\ 3877}#)))
+              ((lambda (#{tmp\ 3885}#)
+                 ((lambda (#{tmp\ 3886}#)
+                    (if #{tmp\ 3886}#
+                      (apply (lambda (#{_\ 3891}#
+                                      #{val\ 3892}#
+                                      #{key\ 3893}#
+                                      #{m\ 3894}#)
                                (if (and-map
-                                     (lambda (#{x\ 3843}#)
-                                       (if (#{id?\ 382}# #{x\ 3843}#)
-                                         (not (#{ellipsis?\ 483}# #{x\ 3843}#))
+                                     (lambda (#{x\ 3895}#)
+                                       (if (#{id?\ 382}# #{x\ 3895}#)
+                                         (not (#{ellipsis?\ 483}# #{x\ 3895}#))
                                          #f))
-                                     #{key\ 3841}#)
-                                 (let ((#{x\ 3849}#
+                                     #{key\ 3893}#)
+                                 (let ((#{x\ 3901}#
                                          (#{gen-var\ 495}# (quote tmp))))
                                    (#{build-application\ 304}#
-                                     #{s\ 3824}#
+                                     #{s\ 3876}#
                                      (#{build-simple-lambda\ 324}#
                                        #f
                                        (list (quote tmp))
                                        #f
-                                       (list #{x\ 3849}#)
+                                       (list #{x\ 3901}#)
                                        '()
-                                       (#{gen-syntax-case\ 3614}#
+                                       (#{gen-syntax-case\ 3666}#
                                          (#{build-lexical-reference\ 310}#
                                            'value
                                            #f
                                            'tmp
-                                           #{x\ 3849}#)
-                                         #{key\ 3841}#
-                                         #{m\ 3842}#
-                                         #{r\ 3822}#
-                                         #{mod\ 3825}#))
+                                           #{x\ 3901}#)
+                                         #{key\ 3893}#
+                                         #{m\ 3894}#
+                                         #{r\ 3874}#
+                                         #{mod\ 3877}#))
                                      (list (#{chi\ 467}#
-                                             #{val\ 3840}#
-                                             #{r\ 3822}#
+                                             #{val\ 3892}#
+                                             #{r\ 3874}#
                                              '(())
-                                             #{mod\ 3825}#))))
+                                             #{mod\ 3877}#))))
                                  (syntax-violation
                                    'syntax-case
                                    "invalid literals list"
-                                   #{e\ 3832}#)))
-                             #{tmp\ 3834}#)
+                                   #{e\ 3884}#)))
+                             #{tmp\ 3886}#)
                       (syntax-violation
                         #f
                         "source expression failed to match any pattern"
-                        #{tmp\ 3833}#)))
+                        #{tmp\ 3885}#)))
                   ($sc-dispatch
-                    #{tmp\ 3833}#
+                    #{tmp\ 3885}#
                     '(any any each-any . each-any))))
-               #{e\ 3832}#)))))
+               #{e\ 3884}#)))))
       (set! macroexpand
         (lambda*
-          (#{x\ 3855}#
+          (#{x\ 3907}#
             #:optional
-            (#{m\ 3857}# (quote e))
-            (#{esew\ 3859}# (quote (eval))))
+            (#{m\ 3909}# (quote e))
+            (#{esew\ 3911}# (quote (eval))))
           (#{chi-top\ 465}#
-            #{x\ 3855}#
+            #{x\ 3907}#
             '()
             '((top))
-            #{m\ 3857}#
-            #{esew\ 3859}#
+            #{m\ 3909}#
+            #{esew\ 3911}#
             (cons 'hygiene
                   (module-name (current-module))))))
       (set! identifier?
-        (lambda (#{x\ 3863}#)
-          (#{nonsymbol-id?\ 380}# #{x\ 3863}#)))
+        (lambda (#{x\ 3915}#)
+          (#{nonsymbol-id?\ 380}# #{x\ 3915}#)))
       (set! datum->syntax
-        (lambda (#{id\ 3865}# #{datum\ 3866}#)
+        (lambda (#{id\ 3917}# #{datum\ 3918}#)
           (#{make-syntax-object\ 344}#
-            #{datum\ 3866}#
-            (#{syntax-object-wrap\ 350}# #{id\ 3865}#)
-            (#{syntax-object-module\ 352}# #{id\ 3865}#))))
+            #{datum\ 3918}#
+            (#{syntax-object-wrap\ 350}# #{id\ 3917}#)
+            (#{syntax-object-module\ 352}# #{id\ 3917}#))))
       (set! syntax->datum
-        (lambda (#{x\ 3869}#)
-          (#{strip\ 493}# #{x\ 3869}# (quote (())))))
+        (lambda (#{x\ 3921}#)
+          (#{strip\ 493}# #{x\ 3921}# (quote (())))))
       (set! syntax-source
-        (lambda (#{x\ 3872}#)
-          (#{source-annotation\ 361}# #{x\ 3872}#)))
+        (lambda (#{x\ 3924}#)
+          (#{source-annotation\ 361}# #{x\ 3924}#)))
       (set! generate-temporaries
-        (lambda (#{ls\ 3874}#)
+        (lambda (#{ls\ 3926}#)
           (begin
-            (let ((#{x\ 3878}# #{ls\ 3874}#))
-              (if (not (list? #{x\ 3878}#))
+            (let ((#{x\ 3930}# #{ls\ 3926}#))
+              (if (not (list? #{x\ 3930}#))
                 (syntax-violation
                   'generate-temporaries
                   "invalid argument"
-                  #{x\ 3878}#)))
-            (map (lambda (#{x\ 3879}#)
+                  #{x\ 3930}#)))
+            (map (lambda (#{x\ 3931}#)
                    (#{wrap\ 451}# (gensym) (quote ((top))) #f))
-                 #{ls\ 3874}#))))
+                 #{ls\ 3926}#))))
       (set! free-identifier=?
-        (lambda (#{x\ 3883}# #{y\ 3884}#)
+        (lambda (#{x\ 3935}# #{y\ 3936}#)
           (begin
-            (let ((#{x\ 3889}# #{x\ 3883}#))
-              (if (not (#{nonsymbol-id?\ 380}# #{x\ 3889}#))
+            (let ((#{x\ 3941}# #{x\ 3935}#))
+              (if (not (#{nonsymbol-id?\ 380}# #{x\ 3941}#))
                 (syntax-violation
                   'free-identifier=?
                   "invalid argument"
-                  #{x\ 3889}#)))
-            (let ((#{x\ 3892}# #{y\ 3884}#))
-              (if (not (#{nonsymbol-id?\ 380}# #{x\ 3892}#))
+                  #{x\ 3941}#)))
+            (let ((#{x\ 3944}# #{y\ 3936}#))
+              (if (not (#{nonsymbol-id?\ 380}# #{x\ 3944}#))
                 (syntax-violation
                   'free-identifier=?
                   "invalid argument"
-                  #{x\ 3892}#)))
-            (#{free-id=?\ 441}# #{x\ 3883}# #{y\ 3884}#))))
+                  #{x\ 3944}#)))
+            (#{free-id=?\ 441}# #{x\ 3935}# #{y\ 3936}#))))
       (set! bound-identifier=?
-        (lambda (#{x\ 3893}# #{y\ 3894}#)
+        (lambda (#{x\ 3945}# #{y\ 3946}#)
           (begin
-            (let ((#{x\ 3899}# #{x\ 3893}#))
-              (if (not (#{nonsymbol-id?\ 380}# #{x\ 3899}#))
+            (let ((#{x\ 3951}# #{x\ 3945}#))
+              (if (not (#{nonsymbol-id?\ 380}# #{x\ 3951}#))
                 (syntax-violation
                   'bound-identifier=?
                   "invalid argument"
-                  #{x\ 3899}#)))
-            (let ((#{x\ 3902}# #{y\ 3894}#))
-              (if (not (#{nonsymbol-id?\ 380}# #{x\ 3902}#))
+                  #{x\ 3951}#)))
+            (let ((#{x\ 3954}# #{y\ 3946}#))
+              (if (not (#{nonsymbol-id?\ 380}# #{x\ 3954}#))
                 (syntax-violation
                   'bound-identifier=?
                   "invalid argument"
-                  #{x\ 3902}#)))
-            (#{bound-id=?\ 443}# #{x\ 3893}# #{y\ 3894}#))))
+                  #{x\ 3954}#)))
+            (#{bound-id=?\ 443}# #{x\ 3945}# #{y\ 3946}#))))
       (set! syntax-violation
-        (lambda (#{who\ 3903}#
-                 #{message\ 3904}#
-                 #{form\ 3905}#
+        (lambda (#{who\ 3955}#
+                 #{message\ 3956}#
+                 #{form\ 3957}#
                  .
-                 #{subform\ 3906}#)
+                 #{subform\ 3958}#)
           (begin
-            (let ((#{x\ 3913}# #{who\ 3903}#))
-              (if (not ((lambda (#{x\ 3914}#)
-                          (let ((#{t\ 3918}# (not #{x\ 3914}#)))
-                            (if #{t\ 3918}#
-                              #{t\ 3918}#
-                              (let ((#{t\ 3921}# (string? #{x\ 3914}#)))
-                                (if #{t\ 3921}#
-                                  #{t\ 3921}#
-                                  (symbol? #{x\ 3914}#))))))
-                        #{x\ 3913}#))
+            (let ((#{x\ 3965}# #{who\ 3955}#))
+              (if (not ((lambda (#{x\ 3966}#)
+                          (let ((#{t\ 3970}# (not #{x\ 3966}#)))
+                            (if #{t\ 3970}#
+                              #{t\ 3970}#
+                              (let ((#{t\ 3973}# (string? #{x\ 3966}#)))
+                                (if #{t\ 3973}#
+                                  #{t\ 3973}#
+                                  (symbol? #{x\ 3966}#))))))
+                        #{x\ 3965}#))
                 (syntax-violation
                   'syntax-violation
                   "invalid argument"
-                  #{x\ 3913}#)))
-            (let ((#{x\ 3925}# #{message\ 3904}#))
-              (if (not (string? #{x\ 3925}#))
+                  #{x\ 3965}#)))
+            (let ((#{x\ 3977}# #{message\ 3956}#))
+              (if (not (string? #{x\ 3977}#))
                 (syntax-violation
                   'syntax-violation
                   "invalid argument"
-                  #{x\ 3925}#)))
+                  #{x\ 3977}#)))
             (scm-error
               'syntax-error
               'macroexpand
               (string-append
-                (if #{who\ 3903}# "~a: " "")
+                (if #{who\ 3955}# "~a: " "")
                 "~a "
-                (if (null? #{subform\ 3906}#)
+                (if (null? #{subform\ 3958}#)
                   "in ~a"
                   "in subform `~s' of `~s'"))
-              (let ((#{tail\ 3927}#
-                      (cons #{message\ 3904}#
-                            (map (lambda (#{x\ 3928}#)
-                                   (#{strip\ 493}# #{x\ 3928}# (quote (()))))
+              (let ((#{tail\ 3979}#
+                      (cons #{message\ 3956}#
+                            (map (lambda (#{x\ 3980}#)
+                                   (#{strip\ 493}# #{x\ 3980}# (quote (()))))
                                  (append
-                                   #{subform\ 3906}#
-                                   (list #{form\ 3905}#))))))
-                (if #{who\ 3903}#
-                  (cons #{who\ 3903}# #{tail\ 3927}#)
-                  #{tail\ 3927}#))
+                                   #{subform\ 3958}#
+                                   (list #{form\ 3957}#))))))
+                (if #{who\ 3955}#
+                  (cons #{who\ 3955}# #{tail\ 3979}#)
+                  #{tail\ 3979}#))
               #f))))
-      (letrec ((#{match\ 3944}#
-                 (lambda (#{e\ 3945}#
-                          #{p\ 3946}#
-                          #{w\ 3947}#
-                          #{r\ 3948}#
-                          #{mod\ 3949}#)
-                   (if (not #{r\ 3948}#)
+      (letrec ((#{match\ 3996}#
+                 (lambda (#{e\ 3997}#
+                          #{p\ 3998}#
+                          #{w\ 3999}#
+                          #{r\ 4000}#
+                          #{mod\ 4001}#)
+                   (if (not #{r\ 4000}#)
                      #f
-                     (if (eq? #{p\ 3946}# (quote any))
+                     (if (eq? #{p\ 3998}# (quote any))
                        (cons (#{wrap\ 451}#
-                               #{e\ 3945}#
-                               #{w\ 3947}#
-                               #{mod\ 3949}#)
-                             #{r\ 3948}#)
-                       (if (#{syntax-object?\ 346}# #{e\ 3945}#)
-                         (#{match*\ 3942}#
-                           (#{syntax-object-expression\ 348}# #{e\ 3945}#)
-                           #{p\ 3946}#
+                               #{e\ 3997}#
+                               #{w\ 3999}#
+                               #{mod\ 4001}#)
+                             #{r\ 4000}#)
+                       (if (#{syntax-object?\ 346}# #{e\ 3997}#)
+                         (#{match*\ 3994}#
+                           (#{syntax-object-expression\ 348}# #{e\ 3997}#)
+                           #{p\ 3998}#
                            (#{join-wraps\ 433}#
-                             #{w\ 3947}#
-                             (#{syntax-object-wrap\ 350}# #{e\ 3945}#))
-                           #{r\ 3948}#
-                           (#{syntax-object-module\ 352}# #{e\ 3945}#))
-                         (#{match*\ 3942}#
-                           #{e\ 3945}#
-                           #{p\ 3946}#
-                           #{w\ 3947}#
-                           #{r\ 3948}#
-                           #{mod\ 3949}#))))))
-               (#{match*\ 3942}#
-                 (lambda (#{e\ 3962}#
-                          #{p\ 3963}#
-                          #{w\ 3964}#
-                          #{r\ 3965}#
-                          #{mod\ 3966}#)
-                   (if (null? #{p\ 3963}#)
-                     (if (null? #{e\ 3962}#) #{r\ 3965}# #f)
-                     (if (pair? #{p\ 3963}#)
-                       (if (pair? #{e\ 3962}#)
-                         (#{match\ 3944}#
-                           (car #{e\ 3962}#)
-                           (car #{p\ 3963}#)
-                           #{w\ 3964}#
-                           (#{match\ 3944}#
-                             (cdr #{e\ 3962}#)
-                             (cdr #{p\ 3963}#)
-                             #{w\ 3964}#
-                             #{r\ 3965}#
-                             #{mod\ 3966}#)
-                           #{mod\ 3966}#)
+                             #{w\ 3999}#
+                             (#{syntax-object-wrap\ 350}# #{e\ 3997}#))
+                           #{r\ 4000}#
+                           (#{syntax-object-module\ 352}# #{e\ 3997}#))
+                         (#{match*\ 3994}#
+                           #{e\ 3997}#
+                           #{p\ 3998}#
+                           #{w\ 3999}#
+                           #{r\ 4000}#
+                           #{mod\ 4001}#))))))
+               (#{match*\ 3994}#
+                 (lambda (#{e\ 4014}#
+                          #{p\ 4015}#
+                          #{w\ 4016}#
+                          #{r\ 4017}#
+                          #{mod\ 4018}#)
+                   (if (null? #{p\ 4015}#)
+                     (if (null? #{e\ 4014}#) #{r\ 4017}# #f)
+                     (if (pair? #{p\ 4015}#)
+                       (if (pair? #{e\ 4014}#)
+                         (#{match\ 3996}#
+                           (car #{e\ 4014}#)
+                           (car #{p\ 4015}#)
+                           #{w\ 4016}#
+                           (#{match\ 3996}#
+                             (cdr #{e\ 4014}#)
+                             (cdr #{p\ 4015}#)
+                             #{w\ 4016}#
+                             #{r\ 4017}#
+                             #{mod\ 4018}#)
+                           #{mod\ 4018}#)
                          #f)
-                       (if (eq? #{p\ 3963}# (quote each-any))
-                         (let ((#{l\ 3983}#
-                                 (#{match-each-any\ 3936}#
-                                   #{e\ 3962}#
-                                   #{w\ 3964}#
-                                   #{mod\ 3966}#)))
-                           (if #{l\ 3983}#
-                             (cons #{l\ 3983}# #{r\ 3965}#)
+                       (if (eq? #{p\ 4015}# (quote each-any))
+                         (let ((#{l\ 4035}#
+                                 (#{match-each-any\ 3988}#
+                                   #{e\ 4014}#
+                                   #{w\ 4016}#
+                                   #{mod\ 4018}#)))
+                           (if #{l\ 4035}#
+                             (cons #{l\ 4035}# #{r\ 4017}#)
                              #f))
-                         (let ((#{atom-key\ 3989}# (vector-ref #{p\ 3963}# 0)))
-                           (if (memv #{atom-key\ 3989}# (quote (each)))
-                             (if (null? #{e\ 3962}#)
-                               (#{match-empty\ 3938}#
-                                 (vector-ref #{p\ 3963}# 1)
-                                 #{r\ 3965}#)
-                               (let ((#{l\ 3992}#
-                                       (#{match-each\ 3932}#
-                                         #{e\ 3962}#
-                                         (vector-ref #{p\ 3963}# 1)
-                                         #{w\ 3964}#
-                                         #{mod\ 3966}#)))
-                                 (if #{l\ 3992}#
-                                   (letrec ((#{collect\ 3997}#
-                                              (lambda (#{l\ 3998}#)
-                                                (if (null? (car #{l\ 3998}#))
-                                                  #{r\ 3965}#
-                                                  (cons (map car #{l\ 3998}#)
-                                                        (#{collect\ 3997}#
+                         (let ((#{atom-key\ 4041}# (vector-ref #{p\ 4015}# 0)))
+                           (if (memv #{atom-key\ 4041}# (quote (each)))
+                             (if (null? #{e\ 4014}#)
+                               (#{match-empty\ 3990}#
+                                 (vector-ref #{p\ 4015}# 1)
+                                 #{r\ 4017}#)
+                               (let ((#{l\ 4044}#
+                                       (#{match-each\ 3984}#
+                                         #{e\ 4014}#
+                                         (vector-ref #{p\ 4015}# 1)
+                                         #{w\ 4016}#
+                                         #{mod\ 4018}#)))
+                                 (if #{l\ 4044}#
+                                   (letrec ((#{collect\ 4049}#
+                                              (lambda (#{l\ 4050}#)
+                                                (if (null? (car #{l\ 4050}#))
+                                                  #{r\ 4017}#
+                                                  (cons (map car #{l\ 4050}#)
+                                                        (#{collect\ 4049}#
                                                           (map cdr
-                                                               #{l\ 3998}#)))))))
-                                     (#{collect\ 3997}# #{l\ 3992}#))
+                                                               #{l\ 4050}#)))))))
+                                     (#{collect\ 4049}# #{l\ 4044}#))
                                    #f)))
-                             (if (memv #{atom-key\ 3989}# (quote (each+)))
+                             (if (memv #{atom-key\ 4041}# (quote (each+)))
                                (call-with-values
                                  (lambda ()
-                                   (#{match-each+\ 3934}#
-                                     #{e\ 3962}#
-                                     (vector-ref #{p\ 3963}# 1)
-                                     (vector-ref #{p\ 3963}# 2)
-                                     (vector-ref #{p\ 3963}# 3)
-                                     #{w\ 3964}#
-                                     #{r\ 3965}#
-                                     #{mod\ 3966}#))
-                                 (lambda (#{xr*\ 4000}#
-                                          #{y-pat\ 4001}#
-                                          #{r\ 4002}#)
-                                   (if #{r\ 4002}#
-                                     (if (null? #{y-pat\ 4001}#)
-                                       (if (null? #{xr*\ 4000}#)
-                                         (#{match-empty\ 3938}#
-                                           (vector-ref #{p\ 3963}# 1)
-                                           #{r\ 4002}#)
-                                         (#{combine\ 3940}#
-                                           #{xr*\ 4000}#
-                                           #{r\ 4002}#))
+                                   (#{match-each+\ 3986}#
+                                     #{e\ 4014}#
+                                     (vector-ref #{p\ 4015}# 1)
+                                     (vector-ref #{p\ 4015}# 2)
+                                     (vector-ref #{p\ 4015}# 3)
+                                     #{w\ 4016}#
+                                     #{r\ 4017}#
+                                     #{mod\ 4018}#))
+                                 (lambda (#{xr*\ 4052}#
+                                          #{y-pat\ 4053}#
+                                          #{r\ 4054}#)
+                                   (if #{r\ 4054}#
+                                     (if (null? #{y-pat\ 4053}#)
+                                       (if (null? #{xr*\ 4052}#)
+                                         (#{match-empty\ 3990}#
+                                           (vector-ref #{p\ 4015}# 1)
+                                           #{r\ 4054}#)
+                                         (#{combine\ 3992}#
+                                           #{xr*\ 4052}#
+                                           #{r\ 4054}#))
                                        #f)
                                      #f)))
-                               (if (memv #{atom-key\ 3989}# (quote (free-id)))
-                                 (if (#{id?\ 382}# #{e\ 3962}#)
+                               (if (memv #{atom-key\ 4041}# (quote (free-id)))
+                                 (if (#{id?\ 382}# #{e\ 4014}#)
                                    (if (#{free-id=?\ 441}#
                                          (#{wrap\ 451}#
-                                           #{e\ 3962}#
-                                           #{w\ 3964}#
-                                           #{mod\ 3966}#)
-                                         (vector-ref #{p\ 3963}# 1))
-                                     #{r\ 3965}#
+                                           #{e\ 4014}#
+                                           #{w\ 4016}#
+                                           #{mod\ 4018}#)
+                                         (vector-ref #{p\ 4015}# 1))
+                                     #{r\ 4017}#
                                      #f)
                                    #f)
-                                 (if (memv #{atom-key\ 3989}# (quote (atom)))
+                                 (if (memv #{atom-key\ 4041}# (quote (atom)))
                                    (if (equal?
-                                         (vector-ref #{p\ 3963}# 1)
+                                         (vector-ref #{p\ 4015}# 1)
                                          (#{strip\ 493}#
-                                           #{e\ 3962}#
-                                           #{w\ 3964}#))
-                                     #{r\ 3965}#
+                                           #{e\ 4014}#
+                                           #{w\ 4016}#))
+                                     #{r\ 4017}#
                                      #f)
-                                   (if (memv #{atom-key\ 3989}#
+                                   (if (memv #{atom-key\ 4041}#
                                              '(vector))
-                                     (if (vector? #{e\ 3962}#)
-                                       (#{match\ 3944}#
-                                         (vector->list #{e\ 3962}#)
-                                         (vector-ref #{p\ 3963}# 1)
-                                         #{w\ 3964}#
-                                         #{r\ 3965}#
-                                         #{mod\ 3966}#)
+                                     (if (vector? #{e\ 4014}#)
+                                       (#{match\ 3996}#
+                                         (vector->list #{e\ 4014}#)
+                                         (vector-ref #{p\ 4015}# 1)
+                                         #{w\ 4016}#
+                                         #{r\ 4017}#
+                                         #{mod\ 4018}#)
                                        #f))))))))))))
-               (#{combine\ 3940}#
-                 (lambda (#{r*\ 4019}# #{r\ 4020}#)
-                   (if (null? (car #{r*\ 4019}#))
-                     #{r\ 4020}#
-                     (cons (map car #{r*\ 4019}#)
-                           (#{combine\ 3940}#
-                             (map cdr #{r*\ 4019}#)
-                             #{r\ 4020}#)))))
-               (#{match-empty\ 3938}#
-                 (lambda (#{p\ 4023}# #{r\ 4024}#)
-                   (if (null? #{p\ 4023}#)
-                     #{r\ 4024}#
-                     (if (eq? #{p\ 4023}# (quote any))
-                       (cons (quote ()) #{r\ 4024}#)
-                       (if (pair? #{p\ 4023}#)
-                         (#{match-empty\ 3938}#
-                           (car #{p\ 4023}#)
-                           (#{match-empty\ 3938}#
-                             (cdr #{p\ 4023}#)
-                             #{r\ 4024}#))
-                         (if (eq? #{p\ 4023}# (quote each-any))
-                           (cons (quote ()) #{r\ 4024}#)
-                           (let ((#{atom-key\ 4038}#
-                                   (vector-ref #{p\ 4023}# 0)))
-                             (if (memv #{atom-key\ 4038}# (quote (each)))
-                               (#{match-empty\ 3938}#
-                                 (vector-ref #{p\ 4023}# 1)
-                                 #{r\ 4024}#)
-                               (if (memv #{atom-key\ 4038}# (quote (each+)))
-                                 (#{match-empty\ 3938}#
-                                   (vector-ref #{p\ 4023}# 1)
-                                   (#{match-empty\ 3938}#
-                                     (reverse (vector-ref #{p\ 4023}# 2))
-                                     (#{match-empty\ 3938}#
-                                       (vector-ref #{p\ 4023}# 3)
-                                       #{r\ 4024}#)))
-                                 (if (memv #{atom-key\ 4038}#
+               (#{combine\ 3992}#
+                 (lambda (#{r*\ 4071}# #{r\ 4072}#)
+                   (if (null? (car #{r*\ 4071}#))
+                     #{r\ 4072}#
+                     (cons (map car #{r*\ 4071}#)
+                           (#{combine\ 3992}#
+                             (map cdr #{r*\ 4071}#)
+                             #{r\ 4072}#)))))
+               (#{match-empty\ 3990}#
+                 (lambda (#{p\ 4075}# #{r\ 4076}#)
+                   (if (null? #{p\ 4075}#)
+                     #{r\ 4076}#
+                     (if (eq? #{p\ 4075}# (quote any))
+                       (cons (quote ()) #{r\ 4076}#)
+                       (if (pair? #{p\ 4075}#)
+                         (#{match-empty\ 3990}#
+                           (car #{p\ 4075}#)
+                           (#{match-empty\ 3990}#
+                             (cdr #{p\ 4075}#)
+                             #{r\ 4076}#))
+                         (if (eq? #{p\ 4075}# (quote each-any))
+                           (cons (quote ()) #{r\ 4076}#)
+                           (let ((#{atom-key\ 4090}#
+                                   (vector-ref #{p\ 4075}# 0)))
+                             (if (memv #{atom-key\ 4090}# (quote (each)))
+                               (#{match-empty\ 3990}#
+                                 (vector-ref #{p\ 4075}# 1)
+                                 #{r\ 4076}#)
+                               (if (memv #{atom-key\ 4090}# (quote (each+)))
+                                 (#{match-empty\ 3990}#
+                                   (vector-ref #{p\ 4075}# 1)
+                                   (#{match-empty\ 3990}#
+                                     (reverse (vector-ref #{p\ 4075}# 2))
+                                     (#{match-empty\ 3990}#
+                                       (vector-ref #{p\ 4075}# 3)
+                                       #{r\ 4076}#)))
+                                 (if (memv #{atom-key\ 4090}#
                                            '(free-id atom))
-                                   #{r\ 4024}#
-                                   (if (memv #{atom-key\ 4038}#
+                                   #{r\ 4076}#
+                                   (if (memv #{atom-key\ 4090}#
                                              '(vector))
-                                     (#{match-empty\ 3938}#
-                                       (vector-ref #{p\ 4023}# 1)
-                                       #{r\ 4024}#))))))))))))
-               (#{match-each-any\ 3936}#
-                 (lambda (#{e\ 4043}# #{w\ 4044}# #{mod\ 4045}#)
-                   (if (pair? #{e\ 4043}#)
-                     (let ((#{l\ 4052}#
-                             (#{match-each-any\ 3936}#
-                               (cdr #{e\ 4043}#)
-                               #{w\ 4044}#
-                               #{mod\ 4045}#)))
-                       (if #{l\ 4052}#
+                                     (#{match-empty\ 3990}#
+                                       (vector-ref #{p\ 4075}# 1)
+                                       #{r\ 4076}#))))))))))))
+               (#{match-each-any\ 3988}#
+                 (lambda (#{e\ 4095}# #{w\ 4096}# #{mod\ 4097}#)
+                   (if (pair? #{e\ 4095}#)
+                     (let ((#{l\ 4104}#
+                             (#{match-each-any\ 3988}#
+                               (cdr #{e\ 4095}#)
+                               #{w\ 4096}#
+                               #{mod\ 4097}#)))
+                       (if #{l\ 4104}#
                          (cons (#{wrap\ 451}#
-                                 (car #{e\ 4043}#)
-                                 #{w\ 4044}#
-                                 #{mod\ 4045}#)
-                               #{l\ 4052}#)
+                                 (car #{e\ 4095}#)
+                                 #{w\ 4096}#
+                                 #{mod\ 4097}#)
+                               #{l\ 4104}#)
                          #f))
-                     (if (null? #{e\ 4043}#)
+                     (if (null? #{e\ 4095}#)
                        '()
-                       (if (#{syntax-object?\ 346}# #{e\ 4043}#)
-                         (#{match-each-any\ 3936}#
-                           (#{syntax-object-expression\ 348}# #{e\ 4043}#)
+                       (if (#{syntax-object?\ 346}# #{e\ 4095}#)
+                         (#{match-each-any\ 3988}#
+                           (#{syntax-object-expression\ 348}# #{e\ 4095}#)
                            (#{join-wraps\ 433}#
-                             #{w\ 4044}#
-                             (#{syntax-object-wrap\ 350}# #{e\ 4043}#))
-                           #{mod\ 4045}#)
+                             #{w\ 4096}#
+                             (#{syntax-object-wrap\ 350}# #{e\ 4095}#))
+                           #{mod\ 4097}#)
                          #f)))))
-               (#{match-each+\ 3934}#
-                 (lambda (#{e\ 4060}#
-                          #{x-pat\ 4061}#
-                          #{y-pat\ 4062}#
-                          #{z-pat\ 4063}#
-                          #{w\ 4064}#
-                          #{r\ 4065}#
-                          #{mod\ 4066}#)
-                   (letrec ((#{f\ 4077}#
-                              (lambda (#{e\ 4078}# #{w\ 4079}#)
-                                (if (pair? #{e\ 4078}#)
+               (#{match-each+\ 3986}#
+                 (lambda (#{e\ 4112}#
+                          #{x-pat\ 4113}#
+                          #{y-pat\ 4114}#
+                          #{z-pat\ 4115}#
+                          #{w\ 4116}#
+                          #{r\ 4117}#
+                          #{mod\ 4118}#)
+                   (letrec ((#{f\ 4129}#
+                              (lambda (#{e\ 4130}# #{w\ 4131}#)
+                                (if (pair? #{e\ 4130}#)
                                   (call-with-values
                                     (lambda ()
-                                      (#{f\ 4077}#
-                                        (cdr #{e\ 4078}#)
-                                        #{w\ 4079}#))
-                                    (lambda (#{xr*\ 4082}#
-                                             #{y-pat\ 4083}#
-                                             #{r\ 4084}#)
-                                      (if #{r\ 4084}#
-                                        (if (null? #{y-pat\ 4083}#)
-                                          (let ((#{xr\ 4089}#
-                                                  (#{match\ 3944}#
-                                                    (car #{e\ 4078}#)
-                                                    #{x-pat\ 4061}#
-                                                    #{w\ 4079}#
+                                      (#{f\ 4129}#
+                                        (cdr #{e\ 4130}#)
+                                        #{w\ 4131}#))
+                                    (lambda (#{xr*\ 4134}#
+                                             #{y-pat\ 4135}#
+                                             #{r\ 4136}#)
+                                      (if #{r\ 4136}#
+                                        (if (null? #{y-pat\ 4135}#)
+                                          (let ((#{xr\ 4141}#
+                                                  (#{match\ 3996}#
+                                                    (car #{e\ 4130}#)
+                                                    #{x-pat\ 4113}#
+                                                    #{w\ 4131}#
                                                     '()
-                                                    #{mod\ 4066}#)))
-                                            (if #{xr\ 4089}#
+                                                    #{mod\ 4118}#)))
+                                            (if #{xr\ 4141}#
                                               (values
-                                                (cons #{xr\ 4089}#
-                                                      #{xr*\ 4082}#)
-                                                #{y-pat\ 4083}#
-                                                #{r\ 4084}#)
+                                                (cons #{xr\ 4141}#
+                                                      #{xr*\ 4134}#)
+                                                #{y-pat\ 4135}#
+                                                #{r\ 4136}#)
                                               (values #f #f #f)))
                                           (values
                                             '()
-                                            (cdr #{y-pat\ 4083}#)
-                                            (#{match\ 3944}#
-                                              (car #{e\ 4078}#)
-                                              (car #{y-pat\ 4083}#)
-                                              #{w\ 4079}#
-                                              #{r\ 4084}#
-                                              #{mod\ 4066}#)))
+                                            (cdr #{y-pat\ 4135}#)
+                                            (#{match\ 3996}#
+                                              (car #{e\ 4130}#)
+                                              (car #{y-pat\ 4135}#)
+                                              #{w\ 4131}#
+                                              #{r\ 4136}#
+                                              #{mod\ 4118}#)))
                                         (values #f #f #f))))
-                                  (if (#{syntax-object?\ 346}# #{e\ 4078}#)
-                                    (#{f\ 4077}#
+                                  (if (#{syntax-object?\ 346}# #{e\ 4130}#)
+                                    (#{f\ 4129}#
                                       (#{syntax-object-expression\ 348}#
-                                        #{e\ 4078}#)
+                                        #{e\ 4130}#)
                                       (#{join-wraps\ 433}#
-                                        #{w\ 4079}#
-                                        #{e\ 4078}#))
+                                        #{w\ 4131}#
+                                        #{e\ 4130}#))
                                     (values
                                       '()
-                                      #{y-pat\ 4062}#
-                                      (#{match\ 3944}#
-                                        #{e\ 4078}#
-                                        #{z-pat\ 4063}#
-                                        #{w\ 4079}#
-                                        #{r\ 4065}#
-                                        #{mod\ 4066}#)))))))
-                     (#{f\ 4077}# #{e\ 4060}# #{w\ 4064}#))))
-               (#{match-each\ 3932}#
-                 (lambda (#{e\ 4093}#
-                          #{p\ 4094}#
-                          #{w\ 4095}#
-                          #{mod\ 4096}#)
-                   (if (pair? #{e\ 4093}#)
-                     (let ((#{first\ 4104}#
-                             (#{match\ 3944}#
-                               (car #{e\ 4093}#)
-                               #{p\ 4094}#
-                               #{w\ 4095}#
+                                      #{y-pat\ 4114}#
+                                      (#{match\ 3996}#
+                                        #{e\ 4130}#
+                                        #{z-pat\ 4115}#
+                                        #{w\ 4131}#
+                                        #{r\ 4117}#
+                                        #{mod\ 4118}#)))))))
+                     (#{f\ 4129}# #{e\ 4112}# #{w\ 4116}#))))
+               (#{match-each\ 3984}#
+                 (lambda (#{e\ 4145}#
+                          #{p\ 4146}#
+                          #{w\ 4147}#
+                          #{mod\ 4148}#)
+                   (if (pair? #{e\ 4145}#)
+                     (let ((#{first\ 4156}#
+                             (#{match\ 3996}#
+                               (car #{e\ 4145}#)
+                               #{p\ 4146}#
+                               #{w\ 4147}#
                                '()
-                               #{mod\ 4096}#)))
-                       (if #{first\ 4104}#
-                         (let ((#{rest\ 4108}#
-                                 (#{match-each\ 3932}#
-                                   (cdr #{e\ 4093}#)
-                                   #{p\ 4094}#
-                                   #{w\ 4095}#
-                                   #{mod\ 4096}#)))
-                           (if #{rest\ 4108}#
-                             (cons #{first\ 4104}# #{rest\ 4108}#)
+                               #{mod\ 4148}#)))
+                       (if #{first\ 4156}#
+                         (let ((#{rest\ 4160}#
+                                 (#{match-each\ 3984}#
+                                   (cdr #{e\ 4145}#)
+                                   #{p\ 4146}#
+                                   #{w\ 4147}#
+                                   #{mod\ 4148}#)))
+                           (if #{rest\ 4160}#
+                             (cons #{first\ 4156}# #{rest\ 4160}#)
                              #f))
                          #f))
-                     (if (null? #{e\ 4093}#)
+                     (if (null? #{e\ 4145}#)
                        '()
-                       (if (#{syntax-object?\ 346}# #{e\ 4093}#)
-                         (#{match-each\ 3932}#
-                           (#{syntax-object-expression\ 348}# #{e\ 4093}#)
-                           #{p\ 4094}#
+                       (if (#{syntax-object?\ 346}# #{e\ 4145}#)
+                         (#{match-each\ 3984}#
+                           (#{syntax-object-expression\ 348}# #{e\ 4145}#)
+                           #{p\ 4146}#
                            (#{join-wraps\ 433}#
-                             #{w\ 4095}#
-                             (#{syntax-object-wrap\ 350}# #{e\ 4093}#))
-                           (#{syntax-object-module\ 352}# #{e\ 4093}#))
+                             #{w\ 4147}#
+                             (#{syntax-object-wrap\ 350}# #{e\ 4145}#))
+                           (#{syntax-object-module\ 352}# #{e\ 4145}#))
                          #f))))))
         (set! $sc-dispatch
-          (lambda (#{e\ 4116}# #{p\ 4117}#)
-            (if (eq? #{p\ 4117}# (quote any))
-              (list #{e\ 4116}#)
-              (if (#{syntax-object?\ 346}# #{e\ 4116}#)
-                (#{match*\ 3942}#
-                  (#{syntax-object-expression\ 348}# #{e\ 4116}#)
-                  #{p\ 4117}#
-                  (#{syntax-object-wrap\ 350}# #{e\ 4116}#)
+          (lambda (#{e\ 4168}# #{p\ 4169}#)
+            (if (eq? #{p\ 4169}# (quote any))
+              (list #{e\ 4168}#)
+              (if (#{syntax-object?\ 346}# #{e\ 4168}#)
+                (#{match*\ 3994}#
+                  (#{syntax-object-expression\ 348}# #{e\ 4168}#)
+                  #{p\ 4169}#
+                  (#{syntax-object-wrap\ 350}# #{e\ 4168}#)
                   '()
-                  (#{syntax-object-module\ 352}# #{e\ 4116}#))
-                (#{match*\ 3942}#
-                  #{e\ 4116}#
-                  #{p\ 4117}#
+                  (#{syntax-object-module\ 352}# #{e\ 4168}#))
+                (#{match*\ 3994}#
+                  #{e\ 4168}#
+                  #{p\ 4169}#
                   '(())
                   '()
                   #f)))))))))
   (make-syntax-transformer
     'with-syntax
     'macro
-    (lambda (#{x\ 4126}#)
-      ((lambda (#{tmp\ 4128}#)
-         ((lambda (#{tmp\ 4129}#)
-            (if #{tmp\ 4129}#
-              (apply (lambda (#{_\ 4133}# #{e1\ 4134}# #{e2\ 4135}#)
+    (lambda (#{x\ 4178}#)
+      ((lambda (#{tmp\ 4180}#)
+         ((lambda (#{tmp\ 4181}#)
+            (if #{tmp\ 4181}#
+              (apply (lambda (#{_\ 4185}# #{e1\ 4186}# #{e2\ 4187}#)
                        (cons '#(syntax-object
                                 begin
                                 ((top)
                                  #(ribcage
                                    #(_ e1 e2)
                                    #((top) (top) (top))
-                                   #("i4130" "i4131" "i4132"))
+                                   #("i4182" "i4183" "i4184"))
                                  #(ribcage () () ())
-                                 #(ribcage #(x) #((top)) #("i4127")))
+                                 #(ribcage #(x) #((top)) #("i4179")))
                                 (hygiene guile))
-                             (cons #{e1\ 4134}# #{e2\ 4135}#)))
-                     #{tmp\ 4129}#)
-              ((lambda (#{tmp\ 4137}#)
-                 (if #{tmp\ 4137}#
-                   (apply (lambda (#{_\ 4143}#
-                                   #{out\ 4144}#
-                                   #{in\ 4145}#
-                                   #{e1\ 4146}#
-                                   #{e2\ 4147}#)
+                             (cons #{e1\ 4186}# #{e2\ 4187}#)))
+                     #{tmp\ 4181}#)
+              ((lambda (#{tmp\ 4189}#)
+                 (if #{tmp\ 4189}#
+                   (apply (lambda (#{_\ 4195}#
+                                   #{out\ 4196}#
+                                   #{in\ 4197}#
+                                   #{e1\ 4198}#
+                                   #{e2\ 4199}#)
                             (list '#(syntax-object
                                      syntax-case
                                      ((top)
                                       #(ribcage
                                         #(_ out in e1 e2)
                                         #((top) (top) (top) (top) (top))
-                                        #("i4138"
-                                          "i4139"
-                                          "i4140"
-                                          "i4141"
-                                          "i4142"))
+                                        #("i4190"
+                                          "i4191"
+                                          "i4192"
+                                          "i4193"
+                                          "i4194"))
                                       #(ribcage () () ())
-                                      #(ribcage #(x) #((top)) #("i4127")))
+                                      #(ribcage #(x) #((top)) #("i4179")))
                                      (hygiene guile))
-                                  #{in\ 4145}#
+                                  #{in\ 4197}#
                                   '()
-                                  (list #{out\ 4144}#
+                                  (list #{out\ 4196}#
                                         (cons '#(syntax-object
                                                  begin
                                                  ((top)
                                                       (top)
                                                       (top)
                                                       (top))
-                                                    #("i4138"
-                                                      "i4139"
-                                                      "i4140"
-                                                      "i4141"
-                                                      "i4142"))
+                                                    #("i4190"
+                                                      "i4191"
+                                                      "i4192"
+                                                      "i4193"
+                                                      "i4194"))
                                                   #(ribcage () () ())
                                                   #(ribcage
                                                     #(x)
                                                     #((top))
-                                                    #("i4127")))
+                                                    #("i4179")))
                                                  (hygiene guile))
-                                              (cons #{e1\ 4146}#
-                                                    #{e2\ 4147}#)))))
-                          #{tmp\ 4137}#)
-                   ((lambda (#{tmp\ 4149}#)
-                      (if #{tmp\ 4149}#
-                        (apply (lambda (#{_\ 4155}#
-                                        #{out\ 4156}#
-                                        #{in\ 4157}#
-                                        #{e1\ 4158}#
-                                        #{e2\ 4159}#)
+                                              (cons #{e1\ 4198}#
+                                                    #{e2\ 4199}#)))))
+                          #{tmp\ 4189}#)
+                   ((lambda (#{tmp\ 4201}#)
+                      (if #{tmp\ 4201}#
+                        (apply (lambda (#{_\ 4207}#
+                                        #{out\ 4208}#
+                                        #{in\ 4209}#
+                                        #{e1\ 4210}#
+                                        #{e2\ 4211}#)
                                  (list '#(syntax-object
                                           syntax-case
                                           ((top)
                                            #(ribcage
                                              #(_ out in e1 e2)
                                              #((top) (top) (top) (top) (top))
-                                             #("i4150"
-                                               "i4151"
-                                               "i4152"
-                                               "i4153"
-                                               "i4154"))
+                                             #("i4202"
+                                               "i4203"
+                                               "i4204"
+                                               "i4205"
+                                               "i4206"))
                                            #(ribcage () () ())
-                                           #(ribcage #(x) #((top)) #("i4127")))
+                                           #(ribcage #(x) #((top)) #("i4179")))
                                           (hygiene guile))
                                        (cons '#(syntax-object
                                                 list
                                                      (top)
                                                      (top)
                                                      (top))
-                                                   #("i4150"
-                                                     "i4151"
-                                                     "i4152"
-                                                     "i4153"
-                                                     "i4154"))
+                                                   #("i4202"
+                                                     "i4203"
+                                                     "i4204"
+                                                     "i4205"
+                                                     "i4206"))
                                                  #(ribcage () () ())
                                                  #(ribcage
                                                    #(x)
                                                    #((top))
-                                                   #("i4127")))
+                                                   #("i4179")))
                                                 (hygiene guile))
-                                             #{in\ 4157}#)
+                                             #{in\ 4209}#)
                                        '()
-                                       (list #{out\ 4156}#
+                                       (list #{out\ 4208}#
                                              (cons '#(syntax-object
                                                       begin
                                                       ((top)
                                                            (top)
                                                            (top)
                                                            (top))
-                                                         #("i4150"
-                                                           "i4151"
-                                                           "i4152"
-                                                           "i4153"
-                                                           "i4154"))
+                                                         #("i4202"
+                                                           "i4203"
+                                                           "i4204"
+                                                           "i4205"
+                                                           "i4206"))
                                                        #(ribcage () () ())
                                                        #(ribcage
                                                          #(x)
                                                          #((top))
-                                                         #("i4127")))
+                                                         #("i4179")))
                                                       (hygiene guile))
-                                                   (cons #{e1\ 4158}#
-                                                         #{e2\ 4159}#)))))
-                               #{tmp\ 4149}#)
+                                                   (cons #{e1\ 4210}#
+                                                         #{e2\ 4211}#)))))
+                               #{tmp\ 4201}#)
                         (syntax-violation
                           #f
                           "source expression failed to match any pattern"
-                          #{tmp\ 4128}#)))
+                          #{tmp\ 4180}#)))
                     ($sc-dispatch
-                      #{tmp\ 4128}#
+                      #{tmp\ 4180}#
                       '(any #(each (any any)) any . each-any)))))
                ($sc-dispatch
-                 #{tmp\ 4128}#
+                 #{tmp\ 4180}#
                  '(any ((any any)) any . each-any)))))
           ($sc-dispatch
-            #{tmp\ 4128}#
+            #{tmp\ 4180}#
             '(any () any . each-any))))
-       #{x\ 4126}#))))
+       #{x\ 4178}#))))
 
 (define syntax-rules
   (make-syntax-transformer
     'syntax-rules
     'macro
-    (lambda (#{x\ 4163}#)
-      ((lambda (#{tmp\ 4165}#)
-         ((lambda (#{tmp\ 4166}#)
-            (if #{tmp\ 4166}#
-              (apply (lambda (#{_\ 4172}#
-                              #{k\ 4173}#
-                              #{keyword\ 4174}#
-                              #{pattern\ 4175}#
-                              #{template\ 4176}#)
+    (lambda (#{x\ 4215}#)
+      ((lambda (#{tmp\ 4217}#)
+         ((lambda (#{tmp\ 4218}#)
+            (if #{tmp\ 4218}#
+              (apply (lambda (#{_\ 4224}#
+                              #{k\ 4225}#
+                              #{keyword\ 4226}#
+                              #{pattern\ 4227}#
+                              #{template\ 4228}#)
                        (list '#(syntax-object
                                 lambda
                                 ((top)
                                  #(ribcage
                                    #(_ k keyword pattern template)
                                    #((top) (top) (top) (top) (top))
-                                   #("i4167" "i4168" "i4169" "i4170" "i4171"))
+                                   #("i4219" "i4220" "i4221" "i4222" "i4223"))
                                  #(ribcage () () ())
-                                 #(ribcage #(x) #((top)) #("i4164")))
+                                 #(ribcage #(x) #((top)) #("i4216")))
                                 (hygiene guile))
                              '(#(syntax-object
                                  x
                                   #(ribcage
                                     #(_ k keyword pattern template)
                                     #((top) (top) (top) (top) (top))
-                                    #("i4167" "i4168" "i4169" "i4170" "i4171"))
+                                    #("i4219" "i4220" "i4221" "i4222" "i4223"))
                                   #(ribcage () () ())
-                                  #(ribcage #(x) #((top)) #("i4164")))
+                                  #(ribcage #(x) #((top)) #("i4216")))
                                  (hygiene guile)))
                              (vector
                                '(#(syntax-object
                                     #(ribcage
                                       #(_ k keyword pattern template)
                                       #((top) (top) (top) (top) (top))
-                                      #("i4167"
-                                        "i4168"
-                                        "i4169"
-                                        "i4170"
-                                        "i4171"))
+                                      #("i4219"
+                                        "i4220"
+                                        "i4221"
+                                        "i4222"
+                                        "i4223"))
                                     #(ribcage () () ())
-                                    #(ribcage #(x) #((top)) #("i4164")))
+                                    #(ribcage #(x) #((top)) #("i4216")))
                                    (hygiene guile))
                                  .
                                  #(syntax-object
                                     #(ribcage
                                       #(_ k keyword pattern template)
                                       #((top) (top) (top) (top) (top))
-                                      #("i4167"
-                                        "i4168"
-                                        "i4169"
-                                        "i4170"
-                                        "i4171"))
+                                      #("i4219"
+                                        "i4220"
+                                        "i4221"
+                                        "i4222"
+                                        "i4223"))
                                     #(ribcage () () ())
-                                    #(ribcage #(x) #((top)) #("i4164")))
+                                    #(ribcage #(x) #((top)) #("i4216")))
                                    (hygiene guile)))
                                (cons '#(syntax-object
                                         patterns
                                          #(ribcage
                                            #(_ k keyword pattern template)
                                            #((top) (top) (top) (top) (top))
-                                           #("i4167"
-                                             "i4168"
-                                             "i4169"
-                                             "i4170"
-                                             "i4171"))
+                                           #("i4219"
+                                             "i4220"
+                                             "i4221"
+                                             "i4222"
+                                             "i4223"))
                                          #(ribcage () () ())
-                                         #(ribcage #(x) #((top)) #("i4164")))
+                                         #(ribcage #(x) #((top)) #("i4216")))
                                         (hygiene guile))
-                                     #{pattern\ 4175}#))
+                                     #{pattern\ 4227}#))
                              (cons '#(syntax-object
                                       syntax-case
                                       ((top)
                                        #(ribcage
                                          #(_ k keyword pattern template)
                                          #((top) (top) (top) (top) (top))
-                                         #("i4167"
-                                           "i4168"
-                                           "i4169"
-                                           "i4170"
-                                           "i4171"))
+                                         #("i4219"
+                                           "i4220"
+                                           "i4221"
+                                           "i4222"
+                                           "i4223"))
                                        #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i4164")))
+                                       #(ribcage #(x) #((top)) #("i4216")))
                                       (hygiene guile))
                                    (cons '#(syntax-object
                                             x
                                              #(ribcage
                                                #(_ k keyword pattern template)
                                                #((top) (top) (top) (top) (top))
-                                               #("i4167"
-                                                 "i4168"
-                                                 "i4169"
-                                                 "i4170"
-                                                 "i4171"))
+                                               #("i4219"
+                                                 "i4220"
+                                                 "i4221"
+                                                 "i4222"
+                                                 "i4223"))
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x)
                                                #((top))
-                                               #("i4164")))
+                                               #("i4216")))
                                             (hygiene guile))
-                                         (cons #{k\ 4173}#
-                                               (map (lambda (#{tmp\ 4180}#
-                                                             #{tmp\ 4179}#)
+                                         (cons #{k\ 4225}#
+                                               (map (lambda (#{tmp\ 4232}#
+                                                             #{tmp\ 4231}#)
                                                       (list (cons '#(syntax-object
                                                                      dummy
                                                                      ((top)
                                                                           (top)
                                                                           (top)
                                                                           (top))
-                                                                        #("i4167"
-                                                                          "i4168"
-                                                                          "i4169"
-                                                                          "i4170"
-                                                                          "i4171"))
+                                                                        #("i4219"
+                                                                          "i4220"
+                                                                          "i4221"
+                                                                          "i4222"
+                                                                          "i4223"))
                                                                       #(ribcage
                                                                         ()
                                                                         ()
                                                                       #(ribcage
                                                                         #(x)
                                                                         #((top))
-                                                                        #("i4164")))
+                                                                        #("i4216")))
                                                                      (hygiene
                                                                        guile))
-                                                                  #{tmp\ 4179}#)
+                                                                  #{tmp\ 4231}#)
                                                             (list '#(syntax-object
                                                                      syntax
                                                                      ((top)
                                                                           (top)
                                                                           (top)
                                                                           (top))
-                                                                        #("i4167"
-                                                                          "i4168"
-                                                                          "i4169"
-                                                                          "i4170"
-                                                                          "i4171"))
+                                                                        #("i4219"
+                                                                          "i4220"
+                                                                          "i4221"
+                                                                          "i4222"
+                                                                          "i4223"))
                                                                       #(ribcage
                                                                         ()
                                                                         ()
                                                                       #(ribcage
                                                                         #(x)
                                                                         #((top))
-                                                                        #("i4164")))
+                                                                        #("i4216")))
                                                                      (hygiene
                                                                        guile))
-                                                                  #{tmp\ 4180}#)))
-                                                    #{template\ 4176}#
-                                                    #{pattern\ 4175}#))))))
-                     #{tmp\ 4166}#)
+                                                                  #{tmp\ 4232}#)))
+                                                    #{template\ 4228}#
+                                                    #{pattern\ 4227}#))))))
+                     #{tmp\ 4218}#)
               (syntax-violation
                 #f
                 "source expression failed to match any pattern"
-                #{tmp\ 4165}#)))
+                #{tmp\ 4217}#)))
           ($sc-dispatch
-            #{tmp\ 4165}#
+            #{tmp\ 4217}#
             '(any each-any . #(each ((any . any) any))))))
-       #{x\ 4163}#))))
+       #{x\ 4215}#))))
 
 (define let*
   (make-syntax-transformer
     'let*
     'macro
-    (lambda (#{x\ 4181}#)
-      ((lambda (#{tmp\ 4183}#)
-         ((lambda (#{tmp\ 4184}#)
-            (if (if #{tmp\ 4184}#
-                  (apply (lambda (#{let*\ 4190}#
-                                  #{x\ 4191}#
-                                  #{v\ 4192}#
-                                  #{e1\ 4193}#
-                                  #{e2\ 4194}#)
-                           (and-map identifier? #{x\ 4191}#))
-                         #{tmp\ 4184}#)
+    (lambda (#{x\ 4233}#)
+      ((lambda (#{tmp\ 4235}#)
+         ((lambda (#{tmp\ 4236}#)
+            (if (if #{tmp\ 4236}#
+                  (apply (lambda (#{let*\ 4242}#
+                                  #{x\ 4243}#
+                                  #{v\ 4244}#
+                                  #{e1\ 4245}#
+                                  #{e2\ 4246}#)
+                           (and-map identifier? #{x\ 4243}#))
+                         #{tmp\ 4236}#)
                   #f)
-              (apply (lambda (#{let*\ 4201}#
-                              #{x\ 4202}#
-                              #{v\ 4203}#
-                              #{e1\ 4204}#
-                              #{e2\ 4205}#)
-                       (letrec ((#{f\ 4208}#
-                                  (lambda (#{bindings\ 4209}#)
-                                    (if (null? #{bindings\ 4209}#)
+              (apply (lambda (#{let*\ 4253}#
+                              #{x\ 4254}#
+                              #{v\ 4255}#
+                              #{e1\ 4256}#
+                              #{e2\ 4257}#)
+                       (letrec ((#{f\ 4260}#
+                                  (lambda (#{bindings\ 4261}#)
+                                    (if (null? #{bindings\ 4261}#)
                                       (cons '#(syntax-object
                                                let
                                                ((top)
                                                 #(ribcage
                                                   #(f bindings)
                                                   #((top) (top))
-                                                  #("i4206" "i4207"))
+                                                  #("i4258" "i4259"))
                                                 #(ribcage
                                                   #(let* x v e1 e2)
                                                   #((top)
                                                     (top)
                                                     (top)
                                                     (top))
-                                                  #("i4196"
-                                                    "i4197"
-                                                    "i4198"
-                                                    "i4199"
-                                                    "i4200"))
+                                                  #("i4248"
+                                                    "i4249"
+                                                    "i4250"
+                                                    "i4251"
+                                                    "i4252"))
                                                 #(ribcage () () ())
                                                 #(ribcage
                                                   #(x)
                                                   #((top))
-                                                  #("i4182")))
+                                                  #("i4234")))
                                                (hygiene guile))
                                             (cons '()
-                                                  (cons #{e1\ 4204}#
-                                                        #{e2\ 4205}#)))
-                                      ((lambda (#{tmp\ 4214}#)
-                                         ((lambda (#{tmp\ 4215}#)
-                                            (if #{tmp\ 4215}#
-                                              (apply (lambda (#{body\ 4218}#
-                                                              #{binding\ 4219}#)
+                                                  (cons #{e1\ 4256}#
+                                                        #{e2\ 4257}#)))
+                                      ((lambda (#{tmp\ 4266}#)
+                                         ((lambda (#{tmp\ 4267}#)
+                                            (if #{tmp\ 4267}#
+                                              (apply (lambda (#{body\ 4270}#
+                                                              #{binding\ 4271}#)
                                                        (list '#(syntax-object
                                                                 let
                                                                 ((top)
                                                                      binding)
                                                                    #((top)
                                                                      (top))
-                                                                   #("i4216"
-                                                                     "i4217"))
+                                                                   #("i4268"
+                                                                     "i4269"))
                                                                  #(ribcage
                                                                    ()
                                                                    ()
                                                                      bindings)
                                                                    #((top)
                                                                      (top))
-                                                                   #("i4206"
-                                                                     "i4207"))
+                                                                   #("i4258"
+                                                                     "i4259"))
                                                                  #(ribcage
                                                                    #(let*
                                                                      x
                                                                      (top)
                                                                      (top)
                                                                      (top))
-                                                                   #("i4196"
-                                                                     "i4197"
-                                                                     "i4198"
-                                                                     "i4199"
-                                                                     "i4200"))
+                                                                   #("i4248"
+                                                                     "i4249"
+                                                                     "i4250"
+                                                                     "i4251"
+                                                                     "i4252"))
                                                                  #(ribcage
                                                                    ()
                                                                    ()
                                                                  #(ribcage
                                                                    #(x)
                                                                    #((top))
-                                                                   #("i4182")))
+                                                                   #("i4234")))
                                                                 (hygiene
                                                                   guile))
-                                                             (list #{binding\ 4219}#)
-                                                             #{body\ 4218}#))
-                                                     #{tmp\ 4215}#)
+                                                             (list #{binding\ 4271}#)
+                                                             #{body\ 4270}#))
+                                                     #{tmp\ 4267}#)
                                               (syntax-violation
                                                 #f
                                                 "source expression failed to match any pattern"
-                                                #{tmp\ 4214}#)))
+                                                #{tmp\ 4266}#)))
                                           ($sc-dispatch
-                                            #{tmp\ 4214}#
+                                            #{tmp\ 4266}#
                                             '(any any))))
-                                       (list (#{f\ 4208}#
-                                               (cdr #{bindings\ 4209}#))
-                                             (car #{bindings\ 4209}#)))))))
-                         (#{f\ 4208}# (map list #{x\ 4202}# #{v\ 4203}#))))
-                     #{tmp\ 4184}#)
+                                       (list (#{f\ 4260}#
+                                               (cdr #{bindings\ 4261}#))
+                                             (car #{bindings\ 4261}#)))))))
+                         (#{f\ 4260}# (map list #{x\ 4254}# #{v\ 4255}#))))
+                     #{tmp\ 4236}#)
               (syntax-violation
                 #f
                 "source expression failed to match any pattern"
-                #{tmp\ 4183}#)))
+                #{tmp\ 4235}#)))
           ($sc-dispatch
-            #{tmp\ 4183}#
+            #{tmp\ 4235}#
             '(any #(each (any any)) any . each-any))))
-       #{x\ 4181}#))))
+       #{x\ 4233}#))))
 
 (define do
   (make-syntax-transformer
     'do
     'macro
-    (lambda (#{orig-x\ 4220}#)
-      ((lambda (#{tmp\ 4222}#)
-         ((lambda (#{tmp\ 4223}#)
-            (if #{tmp\ 4223}#
-              (apply (lambda (#{_\ 4231}#
-                              #{var\ 4232}#
-                              #{init\ 4233}#
-                              #{step\ 4234}#
-                              #{e0\ 4235}#
-                              #{e1\ 4236}#
-                              #{c\ 4237}#)
-                       ((lambda (#{tmp\ 4239}#)
-                          ((lambda (#{tmp\ 4240}#)
-                             (if #{tmp\ 4240}#
-                               (apply (lambda (#{step\ 4242}#)
-                                        ((lambda (#{tmp\ 4243}#)
-                                           ((lambda (#{tmp\ 4244}#)
-                                              (if #{tmp\ 4244}#
+    (lambda (#{orig-x\ 4272}#)
+      ((lambda (#{tmp\ 4274}#)
+         ((lambda (#{tmp\ 4275}#)
+            (if #{tmp\ 4275}#
+              (apply (lambda (#{_\ 4283}#
+                              #{var\ 4284}#
+                              #{init\ 4285}#
+                              #{step\ 4286}#
+                              #{e0\ 4287}#
+                              #{e1\ 4288}#
+                              #{c\ 4289}#)
+                       ((lambda (#{tmp\ 4291}#)
+                          ((lambda (#{tmp\ 4292}#)
+                             (if #{tmp\ 4292}#
+                               (apply (lambda (#{step\ 4294}#)
+                                        ((lambda (#{tmp\ 4295}#)
+                                           ((lambda (#{tmp\ 4296}#)
+                                              (if #{tmp\ 4296}#
                                                 (apply (lambda ()
                                                          (list '#(syntax-object
                                                                   let
                                                                    #(ribcage
                                                                      #(step)
                                                                      #((top))
-                                                                     #("i4241"))
+                                                                     #("i4293"))
                                                                    #(ribcage
                                                                      #(_
                                                                        var
                                                                        (top)
                                                                        (top)
                                                                        (top))
-                                                                     #("i4224"
-                                                                       "i4225"
-                                                                       "i4226"
-                                                                       "i4227"
-                                                                       "i4228"
-                                                                       "i4229"
-                                                                       "i4230"))
+                                                                     #("i4276"
+                                                                       "i4277"
+                                                                       "i4278"
+                                                                       "i4279"
+                                                                       "i4280"
+                                                                       "i4281"
+                                                                       "i4282"))
                                                                    #(ribcage
                                                                      ()
                                                                      ()
                                                                    #(ribcage
                                                                      #(orig-x)
                                                                      #((top))
-                                                                     #("i4221")))
+                                                                     #("i4273")))
                                                                   (hygiene
                                                                     guile))
                                                                '#(syntax-object
                                                                    #(ribcage
                                                                      #(step)
                                                                      #((top))
-                                                                     #("i4241"))
+                                                                     #("i4293"))
                                                                    #(ribcage
                                                                      #(_
                                                                        var
                                                                        (top)
                                                                        (top)
                                                                        (top))
-                                                                     #("i4224"
-                                                                       "i4225"
-                                                                       "i4226"
-                                                                       "i4227"
-                                                                       "i4228"
-                                                                       "i4229"
-                                                                       "i4230"))
+                                                                     #("i4276"
+                                                                       "i4277"
+                                                                       "i4278"
+                                                                       "i4279"
+                                                                       "i4280"
+                                                                       "i4281"
+                                                                       "i4282"))
                                                                    #(ribcage
                                                                      ()
                                                                      ()
                                                                    #(ribcage
                                                                      #(orig-x)
                                                                      #((top))
-                                                                     #("i4221")))
+                                                                     #("i4273")))
                                                                   (hygiene
                                                                     guile))
                                                                (map list
-                                                                    #{var\ 4232}#
-                                                                    #{init\ 4233}#)
+                                                                    #{var\ 4284}#
+                                                                    #{init\ 4285}#)
                                                                (list '#(syntax-object
                                                                         if
                                                                         ((top)
                                                                          #(ribcage
                                                                            #(step)
                                                                            #((top))
-                                                                           #("i4241"))
+                                                                           #("i4293"))
                                                                          #(ribcage
                                                                            #(_
                                                                              var
                                                                              (top)
                                                                              (top)
                                                                              (top))
-                                                                           #("i4224"
-                                                                             "i4225"
-                                                                             "i4226"
-                                                                             "i4227"
-                                                                             "i4228"
-                                                                             "i4229"
-                                                                             "i4230"))
+                                                                           #("i4276"
+                                                                             "i4277"
+                                                                             "i4278"
+                                                                             "i4279"
+                                                                             "i4280"
+                                                                             "i4281"
+                                                                             "i4282"))
                                                                          #(ribcage
                                                                            ()
                                                                            ()
                                                                          #(ribcage
                                                                            #(orig-x)
                                                                            #((top))
-                                                                           #("i4221")))
+                                                                           #("i4273")))
                                                                         (hygiene
                                                                           guile))
                                                                      (list '#(syntax-object
                                                                                #(ribcage
                                                                                  #(step)
                                                                                  #((top))
-                                                                                 #("i4241"))
+                                                                                 #("i4293"))
                                                                                #(ribcage
                                                                                  #(_
                                                                                    var
                                                                                    (top)
                                                                                    (top)
                                                                                    (top))
-                                                                                 #("i4224"
-                                                                                   "i4225"
-                                                                                   "i4226"
-                                                                                   "i4227"
-                                                                                   "i4228"
-                                                                                   "i4229"
-                                                                                   "i4230"))
+                                                                                 #("i4276"
+                                                                                   "i4277"
+                                                                                   "i4278"
+                                                                                   "i4279"
+                                                                                   "i4280"
+                                                                                   "i4281"
+                                                                                   "i4282"))
                                                                                #(ribcage
                                                                                  ()
                                                                                  ()
                                                                                #(ribcage
                                                                                  #(orig-x)
                                                                                  #((top))
-                                                                                 #("i4221")))
+                                                                                 #("i4273")))
                                                                               (hygiene
                                                                                 guile))
-                                                                           #{e0\ 4235}#)
+                                                                           #{e0\ 4287}#)
                                                                      (cons '#(syntax-object
                                                                               begin
                                                                               ((top)
                                                                                #(ribcage
                                                                                  #(step)
                                                                                  #((top))
-                                                                                 #("i4241"))
+                                                                                 #("i4293"))
                                                                                #(ribcage
                                                                                  #(_
                                                                                    var
                                                                                    (top)
                                                                                    (top)
                                                                                    (top))
-                                                                                 #("i4224"
-                                                                                   "i4225"
-                                                                                   "i4226"
-                                                                                   "i4227"
-                                                                                   "i4228"
-                                                                                   "i4229"
-                                                                                   "i4230"))
+                                                                                 #("i4276"
+                                                                                   "i4277"
+                                                                                   "i4278"
+                                                                                   "i4279"
+                                                                                   "i4280"
+                                                                                   "i4281"
+                                                                                   "i4282"))
                                                                                #(ribcage
                                                                                  ()
                                                                                  ()
                                                                                #(ribcage
                                                                                  #(orig-x)
                                                                                  #((top))
-                                                                                 #("i4221")))
+                                                                                 #("i4273")))
                                                                               (hygiene
                                                                                 guile))
                                                                            (append
-                                                                             #{c\ 4237}#
+                                                                             #{c\ 4289}#
                                                                              (list (cons '#(syntax-object
                                                                                             doloop
                                                                                             ((top)
                                                                                              #(ribcage
                                                                                                #(step)
                                                                                                #((top))
-                                                                                               #("i4241"))
+                                                                                               #("i4293"))
                                                                                              #(ribcage
                                                                                                #(_
                                                                                                  var
                                                                                                  (top)
                                                                                                  (top)
                                                                                                  (top))
-                                                                                               #("i4224"
-                                                                                                 "i4225"
-                                                                                                 "i4226"
-                                                                                                 "i4227"
-                                                                                                 "i4228"
-                                                                                                 "i4229"
-                                                                                                 "i4230"))
+                                                                                               #("i4276"
+                                                                                                 "i4277"
+                                                                                                 "i4278"
+                                                                                                 "i4279"
+                                                                                                 "i4280"
+                                                                                                 "i4281"
+                                                                                                 "i4282"))
                                                                                              #(ribcage
                                                                                                ()
                                                                                                ()
                                                                                              #(ribcage
                                                                                                #(orig-x)
                                                                                                #((top))
-                                                                                               #("i4221")))
+                                                                                               #("i4273")))
                                                                                             (hygiene
                                                                                               guile))
-                                                                                         #{step\ 4242}#)))))))
-                                                       #{tmp\ 4244}#)
-                                                ((lambda (#{tmp\ 4249}#)
-                                                   (if #{tmp\ 4249}#
-                                                     (apply (lambda (#{e1\ 4252}#
-                                                                     #{e2\ 4253}#)
+                                                                                         #{step\ 4294}#)))))))
+                                                       #{tmp\ 4296}#)
+                                                ((lambda (#{tmp\ 4301}#)
+                                                   (if #{tmp\ 4301}#
+                                                     (apply (lambda (#{e1\ 4304}#
+                                                                     #{e2\ 4305}#)
                                                               (list '#(syntax-object
                                                                        let
                                                                        ((top)
                                                                             e2)
                                                                           #((top)
                                                                             (top))
-                                                                          #("i4250"
-                                                                            "i4251"))
+                                                                          #("i4302"
+                                                                            "i4303"))
                                                                         #(ribcage
                                                                           #(step)
                                                                           #((top))
-                                                                          #("i4241"))
+                                                                          #("i4293"))
                                                                         #(ribcage
                                                                           #(_
                                                                             var
                                                                             (top)
                                                                             (top)
                                                                             (top))
-                                                                          #("i4224"
-                                                                            "i4225"
-                                                                            "i4226"
-                                                                            "i4227"
-                                                                            "i4228"
-                                                                            "i4229"
-                                                                            "i4230"))
+                                                                          #("i4276"
+                                                                            "i4277"
+                                                                            "i4278"
+                                                                            "i4279"
+                                                                            "i4280"
+                                                                            "i4281"
+                                                                            "i4282"))
                                                                         #(ribcage
                                                                           ()
                                                                           ()
                                                                         #(ribcage
                                                                           #(orig-x)
                                                                           #((top))
-                                                                          #("i4221")))
+                                                                          #("i4273")))
                                                                        (hygiene
                                                                          guile))
                                                                     '#(syntax-object
                                                                             e2)
                                                                           #((top)
                                                                             (top))
-                                                                          #("i4250"
-                                                                            "i4251"))
+                                                                          #("i4302"
+                                                                            "i4303"))
                                                                         #(ribcage
                                                                           #(step)
                                                                           #((top))
-                                                                          #("i4241"))
+                                                                          #("i4293"))
                                                                         #(ribcage
                                                                           #(_
                                                                             var
                                                                             (top)
                                                                             (top)
                                                                             (top))
-                                                                          #("i4224"
-                                                                            "i4225"
-                                                                            "i4226"
-                                                                            "i4227"
-                                                                            "i4228"
-                                                                            "i4229"
-                                                                            "i4230"))
+                                                                          #("i4276"
+                                                                            "i4277"
+                                                                            "i4278"
+                                                                            "i4279"
+                                                                            "i4280"
+                                                                            "i4281"
+                                                                            "i4282"))
                                                                         #(ribcage
                                                                           ()
                                                                           ()
                                                                         #(ribcage
                                                                           #(orig-x)
                                                                           #((top))
-                                                                          #("i4221")))
+                                                                          #("i4273")))
                                                                        (hygiene
                                                                          guile))
                                                                     (map list
-                                                                         #{var\ 4232}#
-                                                                         #{init\ 4233}#)
+                                                                         #{var\ 4284}#
+                                                                         #{init\ 4285}#)
                                                                     (list '#(syntax-object
                                                                              if
                                                                              ((top)
                                                                                   e2)
                                                                                 #((top)
                                                                                   (top))
-                                                                                #("i4250"
-                                                                                  "i4251"))
+                                                                                #("i4302"
+                                                                                  "i4303"))
                                                                               #(ribcage
                                                                                 #(step)
                                                                                 #((top))
-                                                                                #("i4241"))
+                                                                                #("i4293"))
                                                                               #(ribcage
                                                                                 #(_
                                                                                   var
                                                                                   (top)
                                                                                   (top)
                                                                                   (top))
-                                                                                #("i4224"
-                                                                                  "i4225"
-                                                                                  "i4226"
-                                                                                  "i4227"
-                                                                                  "i4228"
-                                                                                  "i4229"
-                                                                                  "i4230"))
+                                                                                #("i4276"
+                                                                                  "i4277"
+                                                                                  "i4278"
+                                                                                  "i4279"
+                                                                                  "i4280"
+                                                                                  "i4281"
+                                                                                  "i4282"))
                                                                               #(ribcage
                                                                                 ()
                                                                                 ()
                                                                               #(ribcage
                                                                                 #(orig-x)
                                                                                 #((top))
-                                                                                #("i4221")))
+                                                                                #("i4273")))
                                                                              (hygiene
                                                                                guile))
-                                                                          #{e0\ 4235}#
+                                                                          #{e0\ 4287}#
                                                                           (cons '#(syntax-object
                                                                                    begin
                                                                                    ((top)
                                                                                         e2)
                                                                                       #((top)
                                                                                         (top))
-                                                                                      #("i4250"
-                                                                                        "i4251"))
+                                                                                      #("i4302"
+                                                                                        "i4303"))
                                                                                     #(ribcage
                                                                                       #(step)
                                                                                       #((top))
-                                                                                      #("i4241"))
+                                                                                      #("i4293"))
                                                                                     #(ribcage
                                                                                       #(_
                                                                                         var
                                                                                         (top)
                                                                                         (top)
                                                                                         (top))
-                                                                                      #("i4224"
-                                                                                        "i4225"
-                                                                                        "i4226"
-                                                                                        "i4227"
-                                                                                        "i4228"
-                                                                                        "i4229"
-                                                                                        "i4230"))
+                                                                                      #("i4276"
+                                                                                        "i4277"
+                                                                                        "i4278"
+                                                                                        "i4279"
+                                                                                        "i4280"
+                                                                                        "i4281"
+                                                                                        "i4282"))
                                                                                     #(ribcage
                                                                                       ()
                                                                                       ()
                                                                                     #(ribcage
                                                                                       #(orig-x)
                                                                                       #((top))
-                                                                                      #("i4221")))
+                                                                                      #("i4273")))
                                                                                    (hygiene
                                                                                      guile))
-                                                                                (cons #{e1\ 4252}#
-                                                                                      #{e2\ 4253}#))
+                                                                                (cons #{e1\ 4304}#
+                                                                                      #{e2\ 4305}#))
                                                                           (cons '#(syntax-object
                                                                                    begin
                                                                                    ((top)
                                                                                         e2)
                                                                                       #((top)
                                                                                         (top))
-                                                                                      #("i4250"
-                                                                                        "i4251"))
+                                                                                      #("i4302"
+                                                                                        "i4303"))
                                                                                     #(ribcage
                                                                                       #(step)
                                                                                       #((top))
-                                                                                      #("i4241"))
+                                                                                      #("i4293"))
                                                                                     #(ribcage
                                                                                       #(_
                                                                                         var
                                                                                         (top)
                                                                                         (top)
                                                                                         (top))
-                                                                                      #("i4224"
-                                                                                        "i4225"
-                                                                                        "i4226"
-                                                                                        "i4227"
-                                                                                        "i4228"
-                                                                                        "i4229"
-                                                                                        "i4230"))
+                                                                                      #("i4276"
+                                                                                        "i4277"
+                                                                                        "i4278"
+                                                                                        "i4279"
+                                                                                        "i4280"
+                                                                                        "i4281"
+                                                                                        "i4282"))
                                                                                     #(ribcage
                                                                                       ()
                                                                                       ()
                                                                                     #(ribcage
                                                                                       #(orig-x)
                                                                                       #((top))
-                                                                                      #("i4221")))
+                                                                                      #("i4273")))
                                                                                    (hygiene
                                                                                      guile))
                                                                                 (append
-                                                                                  #{c\ 4237}#
+                                                                                  #{c\ 4289}#
                                                                                   (list (cons '#(syntax-object
                                                                                                  doloop
                                                                                                  ((top)
                                                                                                       e2)
                                                                                                     #((top)
                                                                                                       (top))
-                                                                                                    #("i4250"
-                                                                                                      "i4251"))
+                                                                                                    #("i4302"
+                                                                                                      "i4303"))
                                                                                                   #(ribcage
                                                                                                     #(step)
                                                                                                     #((top))
-                                                                                                    #("i4241"))
+                                                                                                    #("i4293"))
                                                                                                   #(ribcage
                                                                                                     #(_
                                                                                                       var
                                                                                                       (top)
                                                                                                       (top)
                                                                                                       (top))
-                                                                                                    #("i4224"
-                                                                                                      "i4225"
-                                                                                                      "i4226"
-                                                                                                      "i4227"
-                                                                                                      "i4228"
-                                                                                                      "i4229"
-                                                                                                      "i4230"))
+                                                                                                    #("i4276"
+                                                                                                      "i4277"
+                                                                                                      "i4278"
+                                                                                                      "i4279"
+                                                                                                      "i4280"
+                                                                                                      "i4281"
+                                                                                                      "i4282"))
                                                                                                   #(ribcage
                                                                                                     ()
                                                                                                     ()
                                                                                                   #(ribcage
                                                                                                     #(orig-x)
                                                                                                     #((top))
-                                                                                                    #("i4221")))
+                                                                                                    #("i4273")))
                                                                                                  (hygiene
                                                                                                    guile))
-                                                                                              #{step\ 4242}#)))))))
-                                                            #{tmp\ 4249}#)
+                                                                                              #{step\ 4294}#)))))))
+                                                            #{tmp\ 4301}#)
                                                      (syntax-violation
                                                        #f
                                                        "source expression failed to match any pattern"
-                                                       #{tmp\ 4243}#)))
+                                                       #{tmp\ 4295}#)))
                                                  ($sc-dispatch
-                                                   #{tmp\ 4243}#
+                                                   #{tmp\ 4295}#
                                                    '(any . each-any)))))
                                             ($sc-dispatch
-                                              #{tmp\ 4243}#
+                                              #{tmp\ 4295}#
                                               '())))
-                                         #{e1\ 4236}#))
-                                      #{tmp\ 4240}#)
+                                         #{e1\ 4288}#))
+                                      #{tmp\ 4292}#)
                                (syntax-violation
                                  #f
                                  "source expression failed to match any pattern"
-                                 #{tmp\ 4239}#)))
-                           ($sc-dispatch #{tmp\ 4239}# (quote each-any))))
-                        (map (lambda (#{v\ 4260}# #{s\ 4261}#)
-                               ((lambda (#{tmp\ 4264}#)
-                                  ((lambda (#{tmp\ 4265}#)
-                                     (if #{tmp\ 4265}#
-                                       (apply (lambda () #{v\ 4260}#)
-                                              #{tmp\ 4265}#)
-                                       ((lambda (#{tmp\ 4266}#)
-                                          (if #{tmp\ 4266}#
-                                            (apply (lambda (#{e\ 4268}#)
-                                                     #{e\ 4268}#)
-                                                   #{tmp\ 4266}#)
-                                            ((lambda (#{_\ 4270}#)
+                                 #{tmp\ 4291}#)))
+                           ($sc-dispatch #{tmp\ 4291}# (quote each-any))))
+                        (map (lambda (#{v\ 4312}# #{s\ 4313}#)
+                               ((lambda (#{tmp\ 4316}#)
+                                  ((lambda (#{tmp\ 4317}#)
+                                     (if #{tmp\ 4317}#
+                                       (apply (lambda () #{v\ 4312}#)
+                                              #{tmp\ 4317}#)
+                                       ((lambda (#{tmp\ 4318}#)
+                                          (if #{tmp\ 4318}#
+                                            (apply (lambda (#{e\ 4320}#)
+                                                     #{e\ 4320}#)
+                                                   #{tmp\ 4318}#)
+                                            ((lambda (#{_\ 4322}#)
                                                (syntax-violation
                                                  'do
                                                  "bad step expression"
-                                                 #{orig-x\ 4220}#
-                                                 #{s\ 4261}#))
-                                             #{tmp\ 4264}#)))
+                                                 #{orig-x\ 4272}#
+                                                 #{s\ 4313}#))
+                                             #{tmp\ 4316}#)))
                                         ($sc-dispatch
-                                          #{tmp\ 4264}#
+                                          #{tmp\ 4316}#
                                           '(any)))))
-                                   ($sc-dispatch #{tmp\ 4264}# (quote ()))))
-                                #{s\ 4261}#))
-                             #{var\ 4232}#
-                             #{step\ 4234}#)))
-                     #{tmp\ 4223}#)
+                                   ($sc-dispatch #{tmp\ 4316}# (quote ()))))
+                                #{s\ 4313}#))
+                             #{var\ 4284}#
+                             #{step\ 4286}#)))
+                     #{tmp\ 4275}#)
               (syntax-violation
                 #f
                 "source expression failed to match any pattern"
-                #{tmp\ 4222}#)))
+                #{tmp\ 4274}#)))
           ($sc-dispatch
-            #{tmp\ 4222}#
+            #{tmp\ 4274}#
             '(any #(each (any any . any))
                   (any . each-any)
                   .
                   each-any))))
-       #{orig-x\ 4220}#))))
+       #{orig-x\ 4272}#))))
 
 (define quasiquote
   (make-syntax-transformer
     'quasiquote
     'macro
-    (letrec ((#{quasicons\ 4277}#
-               (lambda (#{x\ 4281}# #{y\ 4282}#)
-                 ((lambda (#{tmp\ 4286}#)
-                    ((lambda (#{tmp\ 4287}#)
-                       (if #{tmp\ 4287}#
-                         (apply (lambda (#{x\ 4290}# #{y\ 4291}#)
-                                  ((lambda (#{tmp\ 4292}#)
-                                     ((lambda (#{tmp\ 4293}#)
-                                        (if #{tmp\ 4293}#
-                                          (apply (lambda (#{dy\ 4295}#)
-                                                   ((lambda (#{tmp\ 4296}#)
-                                                      ((lambda (#{tmp\ 4297}#)
-                                                         (if #{tmp\ 4297}#
-                                                           (apply (lambda (#{dx\ 4299}#)
+    (letrec ((#{quasicons\ 4329}#
+               (lambda (#{x\ 4333}# #{y\ 4334}#)
+                 ((lambda (#{tmp\ 4338}#)
+                    ((lambda (#{tmp\ 4339}#)
+                       (if #{tmp\ 4339}#
+                         (apply (lambda (#{x\ 4342}# #{y\ 4343}#)
+                                  ((lambda (#{tmp\ 4344}#)
+                                     ((lambda (#{tmp\ 4345}#)
+                                        (if #{tmp\ 4345}#
+                                          (apply (lambda (#{dy\ 4347}#)
+                                                   ((lambda (#{tmp\ 4348}#)
+                                                      ((lambda (#{tmp\ 4349}#)
+                                                         (if #{tmp\ 4349}#
+                                                           (apply (lambda (#{dx\ 4351}#)
                                                                     (list '#(syntax-object
                                                                              quote
                                                                              ((top)
                                                                               #(ribcage
                                                                                 #(dx)
                                                                                 #((top))
-                                                                                #("i4298"))
+                                                                                #("i4350"))
                                                                               #(ribcage
                                                                                 #(dy)
                                                                                 #((top))
-                                                                                #("i4294"))
+                                                                                #("i4346"))
                                                                               #(ribcage
                                                                                 #(x
                                                                                   y)
                                                                                 #((top)
                                                                                   (top))
-                                                                                #("i4288"
-                                                                                  "i4289"))
+                                                                                #("i4340"
+                                                                                  "i4341"))
                                                                               #(ribcage
                                                                                 ()
                                                                                 ()
                                                                                   y)
                                                                                 #((top)
                                                                                   (top))
-                                                                                #("i4283"
-                                                                                  "i4284"))
+                                                                                #("i4335"
+                                                                                  "i4336"))
                                                                               #(ribcage
                                                                                 #(quasicons
                                                                                   quasiappend
                                                                                   (top)
                                                                                   (top)
                                                                                   (top))
-                                                                                #("i4273"
-                                                                                  "i4274"
-                                                                                  "i4275"
-                                                                                  "i4276")))
+                                                                                #("i4325"
+                                                                                  "i4326"
+                                                                                  "i4327"
+                                                                                  "i4328")))
                                                                              (hygiene
                                                                                guile))
-                                                                          (cons #{dx\ 4299}#
-                                                                                #{dy\ 4295}#)))
-                                                                  #{tmp\ 4297}#)
-                                                           ((lambda (#{_\ 4301}#)
-                                                              (if (null? #{dy\ 4295}#)
+                                                                          (cons #{dx\ 4351}#
+                                                                                #{dy\ 4347}#)))
+                                                                  #{tmp\ 4349}#)
+                                                           ((lambda (#{_\ 4353}#)
+                                                              (if (null? #{dy\ 4347}#)
                                                                 (list '#(syntax-object
                                                                          list
                                                                          ((top)
                                                                           #(ribcage
                                                                             #(_)
                                                                             #((top))
-                                                                            #("i4300"))
+                                                                            #("i4352"))
                                                                           #(ribcage
                                                                             #(dy)
                                                                             #((top))
-                                                                            #("i4294"))
+                                                                            #("i4346"))
                                                                           #(ribcage
                                                                             #(x
                                                                               y)
                                                                             #((top)
                                                                               (top))
-                                                                            #("i4288"
-                                                                              "i4289"))
+                                                                            #("i4340"
+                                                                              "i4341"))
                                                                           #(ribcage
                                                                             ()
                                                                             ()
                                                                               y)
                                                                             #((top)
                                                                               (top))
-                                                                            #("i4283"
-                                                                              "i4284"))
+                                                                            #("i4335"
+                                                                              "i4336"))
                                                                           #(ribcage
                                                                             #(quasicons
                                                                               quasiappend
                                                                               (top)
                                                                               (top)
                                                                               (top))
-                                                                            #("i4273"
-                                                                              "i4274"
-                                                                              "i4275"
-                                                                              "i4276")))
+                                                                            #("i4325"
+                                                                              "i4326"
+                                                                              "i4327"
+                                                                              "i4328")))
                                                                          (hygiene
                                                                            guile))
-                                                                      #{x\ 4290}#)
+                                                                      #{x\ 4342}#)
                                                                 (list '#(syntax-object
                                                                          cons
                                                                          ((top)
                                                                           #(ribcage
                                                                             #(_)
                                                                             #((top))
-                                                                            #("i4300"))
+                                                                            #("i4352"))
                                                                           #(ribcage
                                                                             #(dy)
                                                                             #((top))
-                                                                            #("i4294"))
+                                                                            #("i4346"))
                                                                           #(ribcage
                                                                             #(x
                                                                               y)
                                                                             #((top)
                                                                               (top))
-                                                                            #("i4288"
-                                                                              "i4289"))
+                                                                            #("i4340"
+                                                                              "i4341"))
                                                                           #(ribcage
                                                                             ()
                                                                             ()
                                                                               y)
                                                                             #((top)
                                                                               (top))
-                                                                            #("i4283"
-                                                                              "i4284"))
+                                                                            #("i4335"
+                                                                              "i4336"))
                                                                           #(ribcage
                                                                             #(quasicons
                                                                               quasiappend
                                                                               (top)
                                                                               (top)
                                                                               (top))
-                                                                            #("i4273"
-                                                                              "i4274"
-                                                                              "i4275"
-                                                                              "i4276")))
+                                                                            #("i4325"
+                                                                              "i4326"
+                                                                              "i4327"
+                                                                              "i4328")))
                                                                          (hygiene
                                                                            guile))
-                                                                      #{x\ 4290}#
-                                                                      #{y\ 4291}#)))
-                                                            #{tmp\ 4296}#)))
+                                                                      #{x\ 4342}#
+                                                                      #{y\ 4343}#)))
+                                                            #{tmp\ 4348}#)))
                                                        ($sc-dispatch
-                                                         #{tmp\ 4296}#
+                                                         #{tmp\ 4348}#
                                                          '(#(free-id
                                                              #(syntax-object
                                                                quote
                                                                 #(ribcage
                                                                   #(dy)
                                                                   #((top))
-                                                                  #("i4294"))
+                                                                  #("i4346"))
                                                                 #(ribcage
                                                                   #(x y)
                                                                   #((top)
                                                                     (top))
-                                                                  #("i4288"
-                                                                    "i4289"))
+                                                                  #("i4340"
+                                                                    "i4341"))
                                                                 #(ribcage
                                                                   ()
                                                                   ()
                                                                   #(x y)
                                                                   #((top)
                                                                     (top))
-                                                                  #("i4283"
-                                                                    "i4284"))
+                                                                  #("i4335"
+                                                                    "i4336"))
                                                                 #(ribcage
                                                                   #(quasicons
                                                                     quasiappend
                                                                     (top)
                                                                     (top)
                                                                     (top))
-                                                                  #("i4273"
-                                                                    "i4274"
-                                                                    "i4275"
-                                                                    "i4276")))
+                                                                  #("i4325"
+                                                                    "i4326"
+                                                                    "i4327"
+                                                                    "i4328")))
                                                                (hygiene
                                                                  guile)))
                                                            any))))
-                                                    #{x\ 4290}#))
-                                                 #{tmp\ 4293}#)
-                                          ((lambda (#{tmp\ 4302}#)
-                                             (if #{tmp\ 4302}#
-                                               (apply (lambda (#{stuff\ 4304}#)
+                                                    #{x\ 4342}#))
+                                                 #{tmp\ 4345}#)
+                                          ((lambda (#{tmp\ 4354}#)
+                                             (if #{tmp\ 4354}#
+                                               (apply (lambda (#{stuff\ 4356}#)
                                                         (cons '#(syntax-object
                                                                  list
                                                                  ((top)
                                                                   #(ribcage
                                                                     #(stuff)
                                                                     #((top))
-                                                                    #("i4303"))
+                                                                    #("i4355"))
                                                                   #(ribcage
                                                                     #(x y)
                                                                     #((top)
                                                                       (top))
-                                                                    #("i4288"
-                                                                      "i4289"))
+                                                                    #("i4340"
+                                                                      "i4341"))
                                                                   #(ribcage
                                                                     ()
                                                                     ()
                                                                     #(x y)
                                                                     #((top)
                                                                       (top))
-                                                                    #("i4283"
-                                                                      "i4284"))
+                                                                    #("i4335"
+                                                                      "i4336"))
                                                                   #(ribcage
                                                                     #(quasicons
                                                                       quasiappend
                                                                       (top)
                                                                       (top)
                                                                       (top))
-                                                                    #("i4273"
-                                                                      "i4274"
-                                                                      "i4275"
-                                                                      "i4276")))
+                                                                    #("i4325"
+                                                                      "i4326"
+                                                                      "i4327"
+                                                                      "i4328")))
                                                                  (hygiene
                                                                    guile))
-                                                              (cons #{x\ 4290}#
-                                                                    #{stuff\ 4304}#)))
-                                                      #{tmp\ 4302}#)
-                                               ((lambda (#{else\ 4306}#)
+                                                              (cons #{x\ 4342}#
+                                                                    #{stuff\ 4356}#)))
+                                                      #{tmp\ 4354}#)
+                                               ((lambda (#{else\ 4358}#)
                                                   (list '#(syntax-object
                                                            cons
                                                            ((top)
                                                             #(ribcage
                                                               #(else)
                                                               #((top))
-                                                              #("i4305"))
+                                                              #("i4357"))
                                                             #(ribcage
                                                               #(x y)
                                                               #((top) (top))
-                                                              #("i4288"
-                                                                "i4289"))
+                                                              #("i4340"
+                                                                "i4341"))
                                                             #(ribcage () () ())
                                                             #(ribcage () () ())
                                                             #(ribcage
                                                               #(x y)
                                                               #((top) (top))
-                                                              #("i4283"
-                                                                "i4284"))
+                                                              #("i4335"
+                                                                "i4336"))
                                                             #(ribcage
                                                               #(quasicons
                                                                 quasiappend
                                                                 (top)
                                                                 (top)
                                                                 (top))
-                                                              #("i4273"
-                                                                "i4274"
-                                                                "i4275"
-                                                                "i4276")))
+                                                              #("i4325"
+                                                                "i4326"
+                                                                "i4327"
+                                                                "i4328")))
                                                            (hygiene guile))
-                                                        #{x\ 4290}#
-                                                        #{y\ 4291}#))
-                                                #{tmp\ 4292}#)))
+                                                        #{x\ 4342}#
+                                                        #{y\ 4343}#))
+                                                #{tmp\ 4344}#)))
                                            ($sc-dispatch
-                                             #{tmp\ 4292}#
+                                             #{tmp\ 4344}#
                                              '(#(free-id
                                                  #(syntax-object
                                                    list
                                                     #(ribcage
                                                       #(x y)
                                                       #((top) (top))
-                                                      #("i4288" "i4289"))
+                                                      #("i4340" "i4341"))
                                                     #(ribcage () () ())
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(x y)
                                                       #((top) (top))
-                                                      #("i4283" "i4284"))
+                                                      #("i4335" "i4336"))
                                                     #(ribcage
                                                       #(quasicons
                                                         quasiappend
                                                         (top)
                                                         (top)
                                                         (top))
-                                                      #("i4273"
-                                                        "i4274"
-                                                        "i4275"
-                                                        "i4276")))
+                                                      #("i4325"
+                                                        "i4326"
+                                                        "i4327"
+                                                        "i4328")))
                                                    (hygiene guile)))
                                                .
                                                any)))))
                                       ($sc-dispatch
-                                        #{tmp\ 4292}#
+                                        #{tmp\ 4344}#
                                         '(#(free-id
                                             #(syntax-object
                                               quote
                                                #(ribcage
                                                  #(x y)
                                                  #((top) (top))
-                                                 #("i4288" "i4289"))
+                                                 #("i4340" "i4341"))
                                                #(ribcage () () ())
                                                #(ribcage () () ())
                                                #(ribcage
                                                  #(x y)
                                                  #((top) (top))
-                                                 #("i4283" "i4284"))
+                                                 #("i4335" "i4336"))
                                                #(ribcage
                                                  #(quasicons
                                                    quasiappend
                                                    quasivector
                                                    quasi)
                                                  #((top) (top) (top) (top))
-                                                 #("i4273"
-                                                   "i4274"
-                                                   "i4275"
-                                                   "i4276")))
+                                                 #("i4325"
+                                                   "i4326"
+                                                   "i4327"
+                                                   "i4328")))
                                               (hygiene guile)))
                                           any))))
-                                   #{y\ 4291}#))
-                                #{tmp\ 4287}#)
+                                   #{y\ 4343}#))
+                                #{tmp\ 4339}#)
                          (syntax-violation
                            #f
                            "source expression failed to match any pattern"
-                           #{tmp\ 4286}#)))
-                     ($sc-dispatch #{tmp\ 4286}# (quote (any any)))))
-                  (list #{x\ 4281}# #{y\ 4282}#))))
-             (#{quasiappend\ 4278}#
-               (lambda (#{x\ 4307}# #{y\ 4308}#)
-                 ((lambda (#{tmp\ 4312}#)
-                    ((lambda (#{tmp\ 4313}#)
-                       (if #{tmp\ 4313}#
-                         (apply (lambda (#{x\ 4316}# #{y\ 4317}#)
-                                  ((lambda (#{tmp\ 4318}#)
-                                     ((lambda (#{tmp\ 4319}#)
-                                        (if #{tmp\ 4319}#
-                                          (apply (lambda () #{x\ 4316}#)
-                                                 #{tmp\ 4319}#)
-                                          ((lambda (#{_\ 4321}#)
+                           #{tmp\ 4338}#)))
+                     ($sc-dispatch #{tmp\ 4338}# (quote (any any)))))
+                  (list #{x\ 4333}# #{y\ 4334}#))))
+             (#{quasiappend\ 4330}#
+               (lambda (#{x\ 4359}# #{y\ 4360}#)
+                 ((lambda (#{tmp\ 4364}#)
+                    ((lambda (#{tmp\ 4365}#)
+                       (if #{tmp\ 4365}#
+                         (apply (lambda (#{x\ 4368}# #{y\ 4369}#)
+                                  ((lambda (#{tmp\ 4370}#)
+                                     ((lambda (#{tmp\ 4371}#)
+                                        (if #{tmp\ 4371}#
+                                          (apply (lambda () #{x\ 4368}#)
+                                                 #{tmp\ 4371}#)
+                                          ((lambda (#{_\ 4373}#)
                                              (list '#(syntax-object
                                                       append
                                                       ((top)
                                                        #(ribcage
                                                          #(_)
                                                          #((top))
-                                                         #("i4320"))
+                                                         #("i4372"))
                                                        #(ribcage
                                                          #(x y)
                                                          #((top) (top))
-                                                         #("i4314" "i4315"))
+                                                         #("i4366" "i4367"))
                                                        #(ribcage () () ())
                                                        #(ribcage () () ())
                                                        #(ribcage
                                                          #(x y)
                                                          #((top) (top))
-                                                         #("i4309" "i4310"))
+                                                         #("i4361" "i4362"))
                                                        #(ribcage
                                                          #(quasicons
                                                            quasiappend
                                                            (top)
                                                            (top)
                                                            (top))
-                                                         #("i4273"
-                                                           "i4274"
-                                                           "i4275"
-                                                           "i4276")))
+                                                         #("i4325"
+                                                           "i4326"
+                                                           "i4327"
+                                                           "i4328")))
                                                       (hygiene guile))
-                                                   #{x\ 4316}#
-                                                   #{y\ 4317}#))
-                                           #{tmp\ 4318}#)))
+                                                   #{x\ 4368}#
+                                                   #{y\ 4369}#))
+                                           #{tmp\ 4370}#)))
                                       ($sc-dispatch
-                                        #{tmp\ 4318}#
+                                        #{tmp\ 4370}#
                                         '(#(free-id
                                             #(syntax-object
                                               quote
                                                #(ribcage
                                                  #(x y)
                                                  #((top) (top))
-                                                 #("i4314" "i4315"))
+                                                 #("i4366" "i4367"))
                                                #(ribcage () () ())
                                                #(ribcage () () ())
                                                #(ribcage
                                                  #(x y)
                                                  #((top) (top))
-                                                 #("i4309" "i4310"))
+                                                 #("i4361" "i4362"))
                                                #(ribcage
                                                  #(quasicons
                                                    quasiappend
                                                    quasivector
                                                    quasi)
                                                  #((top) (top) (top) (top))
-                                                 #("i4273"
-                                                   "i4274"
-                                                   "i4275"
-                                                   "i4276")))
+                                                 #("i4325"
+                                                   "i4326"
+                                                   "i4327"
+                                                   "i4328")))
                                               (hygiene guile)))
                                           ()))))
-                                   #{y\ 4317}#))
-                                #{tmp\ 4313}#)
+                                   #{y\ 4369}#))
+                                #{tmp\ 4365}#)
                          (syntax-violation
                            #f
                            "source expression failed to match any pattern"
-                           #{tmp\ 4312}#)))
-                     ($sc-dispatch #{tmp\ 4312}# (quote (any any)))))
-                  (list #{x\ 4307}# #{y\ 4308}#))))
-             (#{quasivector\ 4279}#
-               (lambda (#{x\ 4322}#)
-                 ((lambda (#{tmp\ 4325}#)
-                    ((lambda (#{x\ 4327}#)
-                       ((lambda (#{tmp\ 4328}#)
-                          ((lambda (#{tmp\ 4329}#)
-                             (if #{tmp\ 4329}#
-                               (apply (lambda (#{x\ 4331}#)
+                           #{tmp\ 4364}#)))
+                     ($sc-dispatch #{tmp\ 4364}# (quote (any any)))))
+                  (list #{x\ 4359}# #{y\ 4360}#))))
+             (#{quasivector\ 4331}#
+               (lambda (#{x\ 4374}#)
+                 ((lambda (#{tmp\ 4377}#)
+                    ((lambda (#{x\ 4379}#)
+                       ((lambda (#{tmp\ 4380}#)
+                          ((lambda (#{tmp\ 4381}#)
+                             (if #{tmp\ 4381}#
+                               (apply (lambda (#{x\ 4383}#)
                                         (list '#(syntax-object
                                                  quote
                                                  ((top)
                                                   #(ribcage
                                                     #(x)
                                                     #((top))
-                                                    #("i4330"))
+                                                    #("i4382"))
                                                   #(ribcage
                                                     #(x)
                                                     #((top))
-                                                    #("i4326"))
+                                                    #("i4378"))
                                                   #(ribcage () () ())
                                                   #(ribcage () () ())
                                                   #(ribcage
                                                     #(x)
                                                     #((top))
-                                                    #("i4323"))
+                                                    #("i4375"))
                                                   #(ribcage
                                                     #(quasicons
                                                       quasiappend
                                                       quasivector
                                                       quasi)
                                                     #((top) (top) (top) (top))
-                                                    #("i4273"
-                                                      "i4274"
-                                                      "i4275"
-                                                      "i4276")))
+                                                    #("i4325"
+                                                      "i4326"
+                                                      "i4327"
+                                                      "i4328")))
                                                  (hygiene guile))
-                                              (list->vector #{x\ 4331}#)))
-                                      #{tmp\ 4329}#)
-                               ((lambda (#{tmp\ 4333}#)
-                                  (if #{tmp\ 4333}#
-                                    (apply (lambda (#{x\ 4335}#)
+                                              (list->vector #{x\ 4383}#)))
+                                      #{tmp\ 4381}#)
+                               ((lambda (#{tmp\ 4385}#)
+                                  (if #{tmp\ 4385}#
+                                    (apply (lambda (#{x\ 4387}#)
                                              (cons '#(syntax-object
                                                       vector
                                                       ((top)
                                                        #(ribcage
                                                          #(x)
                                                          #((top))
-                                                         #("i4334"))
+                                                         #("i4386"))
                                                        #(ribcage
                                                          #(x)
                                                          #((top))
-                                                         #("i4326"))
+                                                         #("i4378"))
                                                        #(ribcage () () ())
                                                        #(ribcage () () ())
                                                        #(ribcage
                                                          #(x)
                                                          #((top))
-                                                         #("i4323"))
+                                                         #("i4375"))
                                                        #(ribcage
                                                          #(quasicons
                                                            quasiappend
                                                            (top)
                                                            (top)
                                                            (top))
-                                                         #("i4273"
-                                                           "i4274"
-                                                           "i4275"
-                                                           "i4276")))
+                                                         #("i4325"
+                                                           "i4326"
+                                                           "i4327"
+                                                           "i4328")))
                                                       (hygiene guile))
-                                                   #{x\ 4335}#))
-                                           #{tmp\ 4333}#)
-                                    ((lambda (#{_\ 4338}#)
+                                                   #{x\ 4387}#))
+                                           #{tmp\ 4385}#)
+                                    ((lambda (#{_\ 4390}#)
                                        (list '#(syntax-object
                                                 list->vector
                                                 ((top)
                                                  #(ribcage
                                                    #(_)
                                                    #((top))
-                                                   #("i4337"))
+                                                   #("i4389"))
                                                  #(ribcage
                                                    #(x)
                                                    #((top))
-                                                   #("i4326"))
+                                                   #("i4378"))
                                                  #(ribcage () () ())
                                                  #(ribcage () () ())
                                                  #(ribcage
                                                    #(x)
                                                    #((top))
-                                                   #("i4323"))
+                                                   #("i4375"))
                                                  #(ribcage
                                                    #(quasicons
                                                      quasiappend
                                                      quasivector
                                                      quasi)
                                                    #((top) (top) (top) (top))
-                                                   #("i4273"
-                                                     "i4274"
-                                                     "i4275"
-                                                     "i4276")))
+                                                   #("i4325"
+                                                     "i4326"
+                                                     "i4327"
+                                                     "i4328")))
                                                 (hygiene guile))
-                                             #{x\ 4327}#))
-                                     #{tmp\ 4328}#)))
+                                             #{x\ 4379}#))
+                                     #{tmp\ 4380}#)))
                                 ($sc-dispatch
-                                  #{tmp\ 4328}#
+                                  #{tmp\ 4380}#
                                   '(#(free-id
                                       #(syntax-object
                                         list
                                         ((top)
-                                         #(ribcage #(x) #((top)) #("i4326"))
+                                         #(ribcage #(x) #((top)) #("i4378"))
                                          #(ribcage () () ())
                                          #(ribcage () () ())
-                                         #(ribcage #(x) #((top)) #("i4323"))
+                                         #(ribcage #(x) #((top)) #("i4375"))
                                          #(ribcage
                                            #(quasicons
                                              quasiappend
                                              quasivector
                                              quasi)
                                            #((top) (top) (top) (top))
-                                           #("i4273" "i4274" "i4275" "i4276")))
+                                           #("i4325" "i4326" "i4327" "i4328")))
                                         (hygiene guile)))
                                     .
                                     each-any)))))
                            ($sc-dispatch
-                             #{tmp\ 4328}#
+                             #{tmp\ 4380}#
                              '(#(free-id
                                  #(syntax-object
                                    quote
                                    ((top)
-                                    #(ribcage #(x) #((top)) #("i4326"))
+                                    #(ribcage #(x) #((top)) #("i4378"))
                                     #(ribcage () () ())
                                     #(ribcage () () ())
-                                    #(ribcage #(x) #((top)) #("i4323"))
+                                    #(ribcage #(x) #((top)) #("i4375"))
                                     #(ribcage
                                       #(quasicons
                                         quasiappend
                                         quasivector
                                         quasi)
                                       #((top) (top) (top) (top))
-                                      #("i4273" "i4274" "i4275" "i4276")))
+                                      #("i4325" "i4326" "i4327" "i4328")))
                                    (hygiene guile)))
                                each-any))))
-                        #{x\ 4327}#))
-                     #{tmp\ 4325}#))
-                  #{x\ 4322}#)))
-             (#{quasi\ 4280}#
-               (lambda (#{p\ 4339}# #{lev\ 4340}#)
-                 ((lambda (#{tmp\ 4343}#)
-                    ((lambda (#{tmp\ 4344}#)
-                       (if #{tmp\ 4344}#
-                         (apply (lambda (#{p\ 4346}#)
-                                  (if (= #{lev\ 4340}# 0)
-                                    #{p\ 4346}#
-                                    (#{quasicons\ 4277}#
+                        #{x\ 4379}#))
+                     #{tmp\ 4377}#))
+                  #{x\ 4374}#)))
+             (#{quasi\ 4332}#
+               (lambda (#{p\ 4391}# #{lev\ 4392}#)
+                 ((lambda (#{tmp\ 4395}#)
+                    ((lambda (#{tmp\ 4396}#)
+                       (if #{tmp\ 4396}#
+                         (apply (lambda (#{p\ 4398}#)
+                                  (if (= #{lev\ 4392}# 0)
+                                    #{p\ 4398}#
+                                    (#{quasicons\ 4329}#
                                       '(#(syntax-object
                                           quote
                                           ((top)
-                                           #(ribcage #(p) #((top)) #("i4345"))
+                                           #(ribcage #(p) #((top)) #("i4397"))
                                            #(ribcage () () ())
                                            #(ribcage
                                              #(p lev)
                                              #((top) (top))
-                                             #("i4341" "i4342"))
+                                             #("i4393" "i4394"))
                                            #(ribcage
                                              #(quasicons
                                                quasiappend
                                                quasivector
                                                quasi)
                                              #((top) (top) (top) (top))
-                                             #("i4273"
-                                               "i4274"
-                                               "i4275"
-                                               "i4276")))
+                                             #("i4325"
+                                               "i4326"
+                                               "i4327"
+                                               "i4328")))
                                           (hygiene guile))
                                         #(syntax-object
                                           unquote
                                           ((top)
-                                           #(ribcage #(p) #((top)) #("i4345"))
+                                           #(ribcage #(p) #((top)) #("i4397"))
                                            #(ribcage () () ())
                                            #(ribcage
                                              #(p lev)
                                              #((top) (top))
-                                             #("i4341" "i4342"))
+                                             #("i4393" "i4394"))
                                            #(ribcage
                                              #(quasicons
                                                quasiappend
                                                quasivector
                                                quasi)
                                              #((top) (top) (top) (top))
-                                             #("i4273"
-                                               "i4274"
-                                               "i4275"
-                                               "i4276")))
+                                             #("i4325"
+                                               "i4326"
+                                               "i4327"
+                                               "i4328")))
                                           (hygiene guile)))
-                                      (#{quasi\ 4280}#
-                                        (list #{p\ 4346}#)
-                                        (- #{lev\ 4340}# 1)))))
-                                #{tmp\ 4344}#)
-                         ((lambda (#{tmp\ 4347}#)
-                            (if (if #{tmp\ 4347}#
-                                  (apply (lambda (#{args\ 4349}#)
-                                           (= #{lev\ 4340}# 0))
-                                         #{tmp\ 4347}#)
+                                      (#{quasi\ 4332}#
+                                        (list #{p\ 4398}#)
+                                        (- #{lev\ 4392}# 1)))))
+                                #{tmp\ 4396}#)
+                         ((lambda (#{tmp\ 4399}#)
+                            (if (if #{tmp\ 4399}#
+                                  (apply (lambda (#{args\ 4401}#)
+                                           (= #{lev\ 4392}# 0))
+                                         #{tmp\ 4399}#)
                                   #f)
-                              (apply (lambda (#{args\ 4351}#)
+                              (apply (lambda (#{args\ 4403}#)
                                        (syntax-violation
                                          'unquote
                                          "unquote takes exactly one argument"
-                                         #{p\ 4339}#
+                                         #{p\ 4391}#
                                          (cons '#(syntax-object
                                                   unquote
                                                   ((top)
                                                    #(ribcage
                                                      #(args)
                                                      #((top))
-                                                     #("i4350"))
+                                                     #("i4402"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(p lev)
                                                      #((top) (top))
-                                                     #("i4341" "i4342"))
+                                                     #("i4393" "i4394"))
                                                    #(ribcage
                                                      #(quasicons
                                                        quasiappend
                                                        quasivector
                                                        quasi)
                                                      #((top) (top) (top) (top))
-                                                     #("i4273"
-                                                       "i4274"
-                                                       "i4275"
-                                                       "i4276")))
+                                                     #("i4325"
+                                                       "i4326"
+                                                       "i4327"
+                                                       "i4328")))
                                                   (hygiene guile))
-                                               #{args\ 4351}#)))
-                                     #{tmp\ 4347}#)
-                              ((lambda (#{tmp\ 4352}#)
-                                 (if #{tmp\ 4352}#
-                                   (apply (lambda (#{p\ 4355}# #{q\ 4356}#)
-                                            (if (= #{lev\ 4340}# 0)
-                                              (#{quasiappend\ 4278}#
-                                                #{p\ 4355}#
-                                                (#{quasi\ 4280}#
-                                                  #{q\ 4356}#
-                                                  #{lev\ 4340}#))
-                                              (#{quasicons\ 4277}#
-                                                (#{quasicons\ 4277}#
+                                               #{args\ 4403}#)))
+                                     #{tmp\ 4399}#)
+                              ((lambda (#{tmp\ 4404}#)
+                                 (if #{tmp\ 4404}#
+                                   (apply (lambda (#{p\ 4407}# #{q\ 4408}#)
+                                            (if (= #{lev\ 4392}# 0)
+                                              (#{quasiappend\ 4330}#
+                                                #{p\ 4407}#
+                                                (#{quasi\ 4332}#
+                                                  #{q\ 4408}#
+                                                  #{lev\ 4392}#))
+                                              (#{quasicons\ 4329}#
+                                                (#{quasicons\ 4329}#
                                                   '(#(syntax-object
                                                       quote
                                                       ((top)
                                                        #(ribcage
                                                          #(p q)
                                                          #((top) (top))
-                                                         #("i4353" "i4354"))
+                                                         #("i4405" "i4406"))
                                                        #(ribcage () () ())
                                                        #(ribcage
                                                          #(p lev)
                                                          #((top) (top))
-                                                         #("i4341" "i4342"))
+                                                         #("i4393" "i4394"))
                                                        #(ribcage
                                                          #(quasicons
                                                            quasiappend
                                                            (top)
                                                            (top)
                                                            (top))
-                                                         #("i4273"
-                                                           "i4274"
-                                                           "i4275"
-                                                           "i4276")))
+                                                         #("i4325"
+                                                           "i4326"
+                                                           "i4327"
+                                                           "i4328")))
                                                       (hygiene guile))
                                                     #(syntax-object
                                                       unquote-splicing
                                                        #(ribcage
                                                          #(p q)
                                                          #((top) (top))
-                                                         #("i4353" "i4354"))
+                                                         #("i4405" "i4406"))
                                                        #(ribcage () () ())
                                                        #(ribcage
                                                          #(p lev)
                                                          #((top) (top))
-                                                         #("i4341" "i4342"))
+                                                         #("i4393" "i4394"))
                                                        #(ribcage
                                                          #(quasicons
                                                            quasiappend
                                                            (top)
                                                            (top)
                                                            (top))
-                                                         #("i4273"
-                                                           "i4274"
-                                                           "i4275"
-                                                           "i4276")))
+                                                         #("i4325"
+                                                           "i4326"
+                                                           "i4327"
+                                                           "i4328")))
                                                       (hygiene guile)))
-                                                  (#{quasi\ 4280}#
-                                                    (list #{p\ 4355}#)
-                                                    (- #{lev\ 4340}# 1)))
-                                                (#{quasi\ 4280}#
-                                                  #{q\ 4356}#
-                                                  #{lev\ 4340}#))))
-                                          #{tmp\ 4352}#)
-                                   ((lambda (#{tmp\ 4357}#)
-                                      (if (if #{tmp\ 4357}#
-                                            (apply (lambda (#{args\ 4360}#
-                                                            #{q\ 4361}#)
-                                                     (= #{lev\ 4340}# 0))
-                                                   #{tmp\ 4357}#)
+                                                  (#{quasi\ 4332}#
+                                                    (list #{p\ 4407}#)
+                                                    (- #{lev\ 4392}# 1)))
+                                                (#{quasi\ 4332}#
+                                                  #{q\ 4408}#
+                                                  #{lev\ 4392}#))))
+                                          #{tmp\ 4404}#)
+                                   ((lambda (#{tmp\ 4409}#)
+                                      (if (if #{tmp\ 4409}#
+                                            (apply (lambda (#{args\ 4412}#
+                                                            #{q\ 4413}#)
+                                                     (= #{lev\ 4392}# 0))
+                                                   #{tmp\ 4409}#)
                                             #f)
-                                        (apply (lambda (#{args\ 4364}#
-                                                        #{q\ 4365}#)
+                                        (apply (lambda (#{args\ 4416}#
+                                                        #{q\ 4417}#)
                                                  (syntax-violation
                                                    'unquote-splicing
                                                    "unquote-splicing takes exactly one argument"
-                                                   #{p\ 4339}#
+                                                   #{p\ 4391}#
                                                    (cons '#(syntax-object
                                                             unquote-splicing
                                                             ((top)
                                                              #(ribcage
                                                                #(args q)
                                                                #((top) (top))
-                                                               #("i4362"
-                                                                 "i4363"))
+                                                               #("i4414"
+                                                                 "i4415"))
                                                              #(ribcage
                                                                ()
                                                                ()
                                                              #(ribcage
                                                                #(p lev)
                                                                #((top) (top))
-                                                               #("i4341"
-                                                                 "i4342"))
+                                                               #("i4393"
+                                                                 "i4394"))
                                                              #(ribcage
                                                                #(quasicons
                                                                  quasiappend
                                                                  (top)
                                                                  (top)
                                                                  (top))
-                                                               #("i4273"
-                                                                 "i4274"
-                                                                 "i4275"
-                                                                 "i4276")))
+                                                               #("i4325"
+                                                                 "i4326"
+                                                                 "i4327"
+                                                                 "i4328")))
                                                             (hygiene guile))
-                                                         #{args\ 4364}#)))
-                                               #{tmp\ 4357}#)
-                                        ((lambda (#{tmp\ 4366}#)
-                                           (if #{tmp\ 4366}#
-                                             (apply (lambda (#{p\ 4368}#)
-                                                      (#{quasicons\ 4277}#
+                                                         #{args\ 4416}#)))
+                                               #{tmp\ 4409}#)
+                                        ((lambda (#{tmp\ 4418}#)
+                                           (if #{tmp\ 4418}#
+                                             (apply (lambda (#{p\ 4420}#)
+                                                      (#{quasicons\ 4329}#
                                                         '(#(syntax-object
                                                             quote
                                                             ((top)
                                                              #(ribcage
                                                                #(p)
                                                                #((top))
-                                                               #("i4367"))
+                                                               #("i4419"))
                                                              #(ribcage
                                                                ()
                                                                ()
                                                              #(ribcage
                                                                #(p lev)
                                                                #((top) (top))
-                                                               #("i4341"
-                                                                 "i4342"))
+                                                               #("i4393"
+                                                                 "i4394"))
                                                              #(ribcage
                                                                #(quasicons
                                                                  quasiappend
                                                                  (top)
                                                                  (top)
                                                                  (top))
-                                                               #("i4273"
-                                                                 "i4274"
-                                                                 "i4275"
-                                                                 "i4276")))
+                                                               #("i4325"
+                                                                 "i4326"
+                                                                 "i4327"
+                                                                 "i4328")))
                                                             (hygiene guile))
                                                           #(syntax-object
                                                             quasiquote
                                                              #(ribcage
                                                                #(p)
                                                                #((top))
-                                                               #("i4367"))
+                                                               #("i4419"))
                                                              #(ribcage
                                                                ()
                                                                ()
                                                              #(ribcage
                                                                #(p lev)
                                                                #((top) (top))
-                                                               #("i4341"
-                                                                 "i4342"))
+                                                               #("i4393"
+                                                                 "i4394"))
                                                              #(ribcage
                                                                #(quasicons
                                                                  quasiappend
                                                                  (top)
                                                                  (top)
                                                                  (top))
-                                                               #("i4273"
-                                                                 "i4274"
-                                                                 "i4275"
-                                                                 "i4276")))
+                                                               #("i4325"
+                                                                 "i4326"
+                                                                 "i4327"
+                                                                 "i4328")))
                                                             (hygiene guile)))
-                                                        (#{quasi\ 4280}#
-                                                          (list #{p\ 4368}#)
-                                                          (+ #{lev\ 4340}#
+                                                        (#{quasi\ 4332}#
+                                                          (list #{p\ 4420}#)
+                                                          (+ #{lev\ 4392}#
                                                              1))))
-                                                    #{tmp\ 4366}#)
-                                             ((lambda (#{tmp\ 4369}#)
-                                                (if #{tmp\ 4369}#
-                                                  (apply (lambda (#{p\ 4372}#
-                                                                  #{q\ 4373}#)
-                                                           (#{quasicons\ 4277}#
-                                                             (#{quasi\ 4280}#
-                                                               #{p\ 4372}#
-                                                               #{lev\ 4340}#)
-                                                             (#{quasi\ 4280}#
-                                                               #{q\ 4373}#
-                                                               #{lev\ 4340}#)))
-                                                         #{tmp\ 4369}#)
-                                                  ((lambda (#{tmp\ 4374}#)
-                                                     (if #{tmp\ 4374}#
-                                                       (apply (lambda (#{x\ 4376}#)
-                                                                (#{quasivector\ 4279}#
-                                                                  (#{quasi\ 4280}#
-                                                                    #{x\ 4376}#
-                                                                    #{lev\ 4340}#)))
-                                                              #{tmp\ 4374}#)
-                                                       ((lambda (#{p\ 4379}#)
+                                                    #{tmp\ 4418}#)
+                                             ((lambda (#{tmp\ 4421}#)
+                                                (if #{tmp\ 4421}#
+                                                  (apply (lambda (#{p\ 4424}#
+                                                                  #{q\ 4425}#)
+                                                           (#{quasicons\ 4329}#
+                                                             (#{quasi\ 4332}#
+                                                               #{p\ 4424}#
+                                                               #{lev\ 4392}#)
+                                                             (#{quasi\ 4332}#
+                                                               #{q\ 4425}#
+                                                               #{lev\ 4392}#)))
+                                                         #{tmp\ 4421}#)
+                                                  ((lambda (#{tmp\ 4426}#)
+                                                     (if #{tmp\ 4426}#
+                                                       (apply (lambda (#{x\ 4428}#)
+                                                                (#{quasivector\ 4331}#
+                                                                  (#{quasi\ 4332}#
+                                                                    #{x\ 4428}#
+                                                                    #{lev\ 4392}#)))
+                                                              #{tmp\ 4426}#)
+                                                       ((lambda (#{p\ 4431}#)
                                                           (list '#(syntax-object
                                                                    quote
                                                                    ((top)
                                                                     #(ribcage
                                                                       #(p)
                                                                       #((top))
-                                                                      #("i4378"))
+                                                                      #("i4430"))
                                                                     #(ribcage
                                                                       ()
                                                                       ()
                                                                       #(p lev)
                                                                       #((top)
                                                                         (top))
-                                                                      #("i4341"
-                                                                        "i4342"))
+                                                                      #("i4393"
+                                                                        "i4394"))
                                                                     #(ribcage
                                                                       #(quasicons
                                                                         quasiappend
                                                                         (top)
                                                                         (top)
                                                                         (top))
-                                                                      #("i4273"
-                                                                        "i4274"
-                                                                        "i4275"
-                                                                        "i4276")))
+                                                                      #("i4325"
+                                                                        "i4326"
+                                                                        "i4327"
+                                                                        "i4328")))
                                                                    (hygiene
                                                                      guile))
-                                                                #{p\ 4379}#))
-                                                        #{tmp\ 4343}#)))
+                                                                #{p\ 4431}#))
+                                                        #{tmp\ 4395}#)))
                                                    ($sc-dispatch
-                                                     #{tmp\ 4343}#
+                                                     #{tmp\ 4395}#
                                                      '#(vector each-any)))))
                                               ($sc-dispatch
-                                                #{tmp\ 4343}#
+                                                #{tmp\ 4395}#
                                                 '(any . any)))))
                                          ($sc-dispatch
-                                           #{tmp\ 4343}#
+                                           #{tmp\ 4395}#
                                            '(#(free-id
                                                #(syntax-object
                                                  quasiquote
                                                   #(ribcage
                                                     #(p lev)
                                                     #((top) (top))
-                                                    #("i4341" "i4342"))
+                                                    #("i4393" "i4394"))
                                                   #(ribcage
                                                     #(quasicons
                                                       quasiappend
                                                       quasivector
                                                       quasi)
                                                     #((top) (top) (top) (top))
-                                                    #("i4273"
-                                                      "i4274"
-                                                      "i4275"
-                                                      "i4276")))
+                                                    #("i4325"
+                                                      "i4326"
+                                                      "i4327"
+                                                      "i4328")))
                                                  (hygiene guile)))
                                              any)))))
                                     ($sc-dispatch
-                                      #{tmp\ 4343}#
+                                      #{tmp\ 4395}#
                                       '((#(free-id
                                            #(syntax-object
                                              unquote-splicing
                                               #(ribcage
                                                 #(p lev)
                                                 #((top) (top))
-                                                #("i4341" "i4342"))
+                                                #("i4393" "i4394"))
                                               #(ribcage
                                                 #(quasicons
                                                   quasiappend
                                                   quasivector
                                                   quasi)
                                                 #((top) (top) (top) (top))
-                                                #("i4273"
-                                                  "i4274"
-                                                  "i4275"
-                                                  "i4276")))
+                                                #("i4325"
+                                                  "i4326"
+                                                  "i4327"
+                                                  "i4328")))
                                              (hygiene guile)))
                                          .
                                          any)
                                         .
                                         any)))))
                                ($sc-dispatch
-                                 #{tmp\ 4343}#
+                                 #{tmp\ 4395}#
                                  '((#(free-id
                                       #(syntax-object
                                         unquote-splicing
                                          #(ribcage
                                            #(p lev)
                                            #((top) (top))
-                                           #("i4341" "i4342"))
+                                           #("i4393" "i4394"))
                                          #(ribcage
                                            #(quasicons
                                              quasiappend
                                              quasivector
                                              quasi)
                                            #((top) (top) (top) (top))
-                                           #("i4273" "i4274" "i4275" "i4276")))
+                                           #("i4325" "i4326" "i4327" "i4328")))
                                         (hygiene guile)))
                                     any)
                                    .
                                    any)))))
                           ($sc-dispatch
-                            #{tmp\ 4343}#
+                            #{tmp\ 4395}#
                             '(#(free-id
                                 #(syntax-object
                                   unquote
                                    #(ribcage
                                      #(p lev)
                                      #((top) (top))
-                                     #("i4341" "i4342"))
+                                     #("i4393" "i4394"))
                                    #(ribcage
                                      #(quasicons quasiappend quasivector quasi)
                                      #((top) (top) (top) (top))
-                                     #("i4273" "i4274" "i4275" "i4276")))
+                                     #("i4325" "i4326" "i4327" "i4328")))
                                   (hygiene guile)))
                               .
                               any)))))
                      ($sc-dispatch
-                       #{tmp\ 4343}#
+                       #{tmp\ 4395}#
                        '(#(free-id
                            #(syntax-object
                              unquote
                               #(ribcage
                                 #(p lev)
                                 #((top) (top))
-                                #("i4341" "i4342"))
+                                #("i4393" "i4394"))
                               #(ribcage
                                 #(quasicons quasiappend quasivector quasi)
                                 #((top) (top) (top) (top))
-                                #("i4273" "i4274" "i4275" "i4276")))
+                                #("i4325" "i4326" "i4327" "i4328")))
                              (hygiene guile)))
                          any))))
-                  #{p\ 4339}#))))
-      (lambda (#{x\ 4380}#)
-        ((lambda (#{tmp\ 4382}#)
-           ((lambda (#{tmp\ 4383}#)
-              (if #{tmp\ 4383}#
-                (apply (lambda (#{_\ 4386}# #{e\ 4387}#)
-                         (#{quasi\ 4280}# #{e\ 4387}# 0))
-                       #{tmp\ 4383}#)
+                  #{p\ 4391}#))))
+      (lambda (#{x\ 4432}#)
+        ((lambda (#{tmp\ 4434}#)
+           ((lambda (#{tmp\ 4435}#)
+              (if #{tmp\ 4435}#
+                (apply (lambda (#{_\ 4438}# #{e\ 4439}#)
+                         (#{quasi\ 4332}# #{e\ 4439}# 0))
+                       #{tmp\ 4435}#)
                 (syntax-violation
                   #f
                   "source expression failed to match any pattern"
-                  #{tmp\ 4382}#)))
-            ($sc-dispatch #{tmp\ 4382}# (quote (any any)))))
-         #{x\ 4380}#)))))
+                  #{tmp\ 4434}#)))
+            ($sc-dispatch #{tmp\ 4434}# (quote (any any)))))
+         #{x\ 4432}#)))))
 
 (define include
   (make-syntax-transformer
     'include
     'macro
-    (lambda (#{x\ 4388}#)
-      (letrec ((#{read-file\ 4391}#
-                 (lambda (#{fn\ 4392}# #{k\ 4393}#)
-                   (let ((#{p\ 4397}# (open-input-file #{fn\ 4392}#)))
-                     (letrec ((#{f\ 4401}#
-                                (lambda (#{x\ 4402}# #{result\ 4403}#)
-                                  (if (eof-object? #{x\ 4402}#)
+    (lambda (#{x\ 4440}#)
+      (letrec ((#{read-file\ 4443}#
+                 (lambda (#{fn\ 4444}# #{k\ 4445}#)
+                   (let ((#{p\ 4449}# (open-input-file #{fn\ 4444}#)))
+                     (letrec ((#{f\ 4453}#
+                                (lambda (#{x\ 4454}# #{result\ 4455}#)
+                                  (if (eof-object? #{x\ 4454}#)
                                     (begin
-                                      (close-input-port #{p\ 4397}#)
-                                      (reverse #{result\ 4403}#))
-                                    (#{f\ 4401}#
-                                      (read #{p\ 4397}#)
+                                      (close-input-port #{p\ 4449}#)
+                                      (reverse #{result\ 4455}#))
+                                    (#{f\ 4453}#
+                                      (read #{p\ 4449}#)
                                       (cons (datum->syntax
-                                              #{k\ 4393}#
-                                              #{x\ 4402}#)
-                                            #{result\ 4403}#))))))
-                       (#{f\ 4401}# (read #{p\ 4397}#) (quote ())))))))
-        ((lambda (#{tmp\ 4404}#)
-           ((lambda (#{tmp\ 4405}#)
-              (if #{tmp\ 4405}#
-                (apply (lambda (#{k\ 4408}# #{filename\ 4409}#)
-                         (let ((#{fn\ 4411}#
-                                 (syntax->datum #{filename\ 4409}#)))
-                           ((lambda (#{tmp\ 4413}#)
-                              ((lambda (#{tmp\ 4414}#)
-                                 (if #{tmp\ 4414}#
-                                   (apply (lambda (#{exp\ 4416}#)
+                                              #{k\ 4445}#
+                                              #{x\ 4454}#)
+                                            #{result\ 4455}#))))))
+                       (#{f\ 4453}# (read #{p\ 4449}#) (quote ())))))))
+        ((lambda (#{tmp\ 4456}#)
+           ((lambda (#{tmp\ 4457}#)
+              (if #{tmp\ 4457}#
+                (apply (lambda (#{k\ 4460}# #{filename\ 4461}#)
+                         (let ((#{fn\ 4463}#
+                                 (syntax->datum #{filename\ 4461}#)))
+                           ((lambda (#{tmp\ 4465}#)
+                              ((lambda (#{tmp\ 4466}#)
+                                 (if #{tmp\ 4466}#
+                                   (apply (lambda (#{exp\ 4468}#)
                                             (cons '#(syntax-object
                                                      begin
                                                      ((top)
                                                       #(ribcage
                                                         #(exp)
                                                         #((top))
-                                                        #("i4415"))
+                                                        #("i4467"))
                                                       #(ribcage () () ())
                                                       #(ribcage () () ())
                                                       #(ribcage
                                                         #(fn)
                                                         #((top))
-                                                        #("i4410"))
+                                                        #("i4462"))
                                                       #(ribcage
                                                         #(k filename)
                                                         #((top) (top))
-                                                        #("i4406" "i4407"))
+                                                        #("i4458" "i4459"))
                                                       #(ribcage
                                                         (read-file)
                                                         ((top))
-                                                        ("i4390"))
+                                                        ("i4442"))
                                                       #(ribcage
                                                         #(x)
                                                         #((top))
-                                                        #("i4389")))
+                                                        #("i4441")))
                                                      (hygiene guile))
-                                                  #{exp\ 4416}#))
-                                          #{tmp\ 4414}#)
+                                                  #{exp\ 4468}#))
+                                          #{tmp\ 4466}#)
                                    (syntax-violation
                                      #f
                                      "source expression failed to match any pattern"
-                                     #{tmp\ 4413}#)))
-                               ($sc-dispatch #{tmp\ 4413}# (quote each-any))))
-                            (#{read-file\ 4391}#
-                              #{fn\ 4411}#
-                              #{filename\ 4409}#))))
-                       #{tmp\ 4405}#)
+                                     #{tmp\ 4465}#)))
+                               ($sc-dispatch #{tmp\ 4465}# (quote each-any))))
+                            (#{read-file\ 4443}#
+                              #{fn\ 4463}#
+                              #{filename\ 4461}#))))
+                       #{tmp\ 4457}#)
                 (syntax-violation
                   #f
                   "source expression failed to match any pattern"
-                  #{tmp\ 4404}#)))
-            ($sc-dispatch #{tmp\ 4404}# (quote (any any)))))
-         #{x\ 4388}#)))))
+                  #{tmp\ 4456}#)))
+            ($sc-dispatch #{tmp\ 4456}# (quote (any any)))))
+         #{x\ 4440}#)))))
 
 (define include-from-path
   (make-syntax-transformer
     'include-from-path
     'macro
-    (lambda (#{x\ 4418}#)
-      ((lambda (#{tmp\ 4420}#)
-         ((lambda (#{tmp\ 4421}#)
-            (if #{tmp\ 4421}#
-              (apply (lambda (#{k\ 4424}# #{filename\ 4425}#)
-                       (let ((#{fn\ 4427}# (syntax->datum #{filename\ 4425}#)))
-                         ((lambda (#{tmp\ 4429}#)
-                            ((lambda (#{fn\ 4431}#)
+    (lambda (#{x\ 4470}#)
+      ((lambda (#{tmp\ 4472}#)
+         ((lambda (#{tmp\ 4473}#)
+            (if #{tmp\ 4473}#
+              (apply (lambda (#{k\ 4476}# #{filename\ 4477}#)
+                       (let ((#{fn\ 4479}# (syntax->datum #{filename\ 4477}#)))
+                         ((lambda (#{tmp\ 4481}#)
+                            ((lambda (#{fn\ 4483}#)
                                (list '#(syntax-object
                                         include
                                         ((top)
-                                         #(ribcage #(fn) #((top)) #("i4430"))
+                                         #(ribcage #(fn) #((top)) #("i4482"))
                                          #(ribcage () () ())
                                          #(ribcage () () ())
-                                         #(ribcage #(fn) #((top)) #("i4426"))
+                                         #(ribcage #(fn) #((top)) #("i4478"))
                                          #(ribcage
                                            #(k filename)
                                            #((top) (top))
-                                           #("i4422" "i4423"))
+                                           #("i4474" "i4475"))
                                          #(ribcage () () ())
-                                         #(ribcage #(x) #((top)) #("i4419")))
+                                         #(ribcage #(x) #((top)) #("i4471")))
                                         (hygiene guile))
-                                     #{fn\ 4431}#))
-                             #{tmp\ 4429}#))
+                                     #{fn\ 4483}#))
+                             #{tmp\ 4481}#))
                           (datum->syntax
-                            #{filename\ 4425}#
-                            (let ((#{t\ 4434}#
-                                    (%search-load-path #{fn\ 4427}#)))
-                              (if #{t\ 4434}#
-                                #{t\ 4434}#
+                            #{filename\ 4477}#
+                            (let ((#{t\ 4486}#
+                                    (%search-load-path #{fn\ 4479}#)))
+                              (if #{t\ 4486}#
+                                #{t\ 4486}#
                                 (syntax-violation
                                   'include-from-path
                                   "file not found in path"
-                                  #{x\ 4418}#
-                                  #{filename\ 4425}#)))))))
-                     #{tmp\ 4421}#)
+                                  #{x\ 4470}#
+                                  #{filename\ 4477}#)))))))
+                     #{tmp\ 4473}#)
               (syntax-violation
                 #f
                 "source expression failed to match any pattern"
-                #{tmp\ 4420}#)))
-          ($sc-dispatch #{tmp\ 4420}# (quote (any any)))))
-       #{x\ 4418}#))))
+                #{tmp\ 4472}#)))
+          ($sc-dispatch #{tmp\ 4472}# (quote (any any)))))
+       #{x\ 4470}#))))
 
 (define unquote
   (make-syntax-transformer
     'unquote
     'macro
-    (lambda (#{x\ 4436}#)
-      ((lambda (#{tmp\ 4438}#)
-         ((lambda (#{tmp\ 4439}#)
-            (if #{tmp\ 4439}#
-              (apply (lambda (#{_\ 4442}# #{e\ 4443}#)
+    (lambda (#{x\ 4488}#)
+      ((lambda (#{tmp\ 4490}#)
+         ((lambda (#{tmp\ 4491}#)
+            (if #{tmp\ 4491}#
+              (apply (lambda (#{_\ 4494}# #{e\ 4495}#)
                        (syntax-violation
                          'unquote
                          "expression not valid outside of quasiquote"
-                         #{x\ 4436}#))
-                     #{tmp\ 4439}#)
+                         #{x\ 4488}#))
+                     #{tmp\ 4491}#)
               (syntax-violation
                 #f
                 "source expression failed to match any pattern"
-                #{tmp\ 4438}#)))
-          ($sc-dispatch #{tmp\ 4438}# (quote (any any)))))
-       #{x\ 4436}#))))
+                #{tmp\ 4490}#)))
+          ($sc-dispatch #{tmp\ 4490}# (quote (any any)))))
+       #{x\ 4488}#))))
 
 (define unquote-splicing
   (make-syntax-transformer
     'unquote-splicing
     'macro
-    (lambda (#{x\ 4444}#)
-      ((lambda (#{tmp\ 4446}#)
-         ((lambda (#{tmp\ 4447}#)
-            (if #{tmp\ 4447}#
-              (apply (lambda (#{_\ 4450}# #{e\ 4451}#)
+    (lambda (#{x\ 4496}#)
+      ((lambda (#{tmp\ 4498}#)
+         ((lambda (#{tmp\ 4499}#)
+            (if #{tmp\ 4499}#
+              (apply (lambda (#{_\ 4502}# #{e\ 4503}#)
                        (syntax-violation
                          'unquote-splicing
                          "expression not valid outside of quasiquote"
-                         #{x\ 4444}#))
-                     #{tmp\ 4447}#)
+                         #{x\ 4496}#))
+                     #{tmp\ 4499}#)
               (syntax-violation
                 #f
                 "source expression failed to match any pattern"
-                #{tmp\ 4446}#)))
-          ($sc-dispatch #{tmp\ 4446}# (quote (any any)))))
-       #{x\ 4444}#))))
+                #{tmp\ 4498}#)))
+          ($sc-dispatch #{tmp\ 4498}# (quote (any any)))))
+       #{x\ 4496}#))))
 
 (define case
   (make-syntax-transformer
     'case
     'macro
-    (lambda (#{x\ 4452}#)
-      ((lambda (#{tmp\ 4454}#)
-         ((lambda (#{tmp\ 4455}#)
-            (if #{tmp\ 4455}#
-              (apply (lambda (#{_\ 4460}#
-                              #{e\ 4461}#
-                              #{m1\ 4462}#
-                              #{m2\ 4463}#)
-                       ((lambda (#{tmp\ 4465}#)
-                          ((lambda (#{body\ 4467}#)
+    (lambda (#{x\ 4504}#)
+      ((lambda (#{tmp\ 4506}#)
+         ((lambda (#{tmp\ 4507}#)
+            (if #{tmp\ 4507}#
+              (apply (lambda (#{_\ 4512}#
+                              #{e\ 4513}#
+                              #{m1\ 4514}#
+                              #{m2\ 4515}#)
+                       ((lambda (#{tmp\ 4517}#)
+                          ((lambda (#{body\ 4519}#)
                              (list '#(syntax-object
                                       let
                                       ((top)
-                                       #(ribcage #(body) #((top)) #("i4466"))
+                                       #(ribcage #(body) #((top)) #("i4518"))
                                        #(ribcage
                                          #(_ e m1 m2)
                                          #((top) (top) (top) (top))
-                                         #("i4456" "i4457" "i4458" "i4459"))
+                                         #("i4508" "i4509" "i4510" "i4511"))
                                        #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i4453")))
+                                       #(ribcage #(x) #((top)) #("i4505")))
                                       (hygiene guile))
                                    (list (list '#(syntax-object
                                                   t
                                                    #(ribcage
                                                      #(body)
                                                      #((top))
-                                                     #("i4466"))
+                                                     #("i4518"))
                                                    #(ribcage
                                                      #(_ e m1 m2)
                                                      #((top) (top) (top) (top))
-                                                     #("i4456"
-                                                       "i4457"
-                                                       "i4458"
-                                                       "i4459"))
+                                                     #("i4508"
+                                                       "i4509"
+                                                       "i4510"
+                                                       "i4511"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x)
                                                      #((top))
-                                                     #("i4453")))
+                                                     #("i4505")))
                                                   (hygiene guile))
-                                               #{e\ 4461}#))
-                                   #{body\ 4467}#))
-                           #{tmp\ 4465}#))
-                        (letrec ((#{f\ 4471}#
-                                   (lambda (#{clause\ 4472}# #{clauses\ 4473}#)
-                                     (if (null? #{clauses\ 4473}#)
-                                       ((lambda (#{tmp\ 4475}#)
-                                          ((lambda (#{tmp\ 4476}#)
-                                             (if #{tmp\ 4476}#
-                                               (apply (lambda (#{e1\ 4479}#
-                                                               #{e2\ 4480}#)
+                                               #{e\ 4513}#))
+                                   #{body\ 4519}#))
+                           #{tmp\ 4517}#))
+                        (letrec ((#{f\ 4523}#
+                                   (lambda (#{clause\ 4524}# #{clauses\ 4525}#)
+                                     (if (null? #{clauses\ 4525}#)
+                                       ((lambda (#{tmp\ 4527}#)
+                                          ((lambda (#{tmp\ 4528}#)
+                                             (if #{tmp\ 4528}#
+                                               (apply (lambda (#{e1\ 4531}#
+                                                               #{e2\ 4532}#)
                                                         (cons '#(syntax-object
                                                                  begin
                                                                  ((top)
                                                                     #(e1 e2)
                                                                     #((top)
                                                                       (top))
-                                                                    #("i4477"
-                                                                      "i4478"))
+                                                                    #("i4529"
+                                                                      "i4530"))
                                                                   #(ribcage
                                                                     ()
                                                                     ()
                                                                     #((top)
                                                                       (top)
                                                                       (top))
-                                                                    #("i4468"
-                                                                      "i4469"
-                                                                      "i4470"))
+                                                                    #("i4520"
+                                                                      "i4521"
+                                                                      "i4522"))
                                                                   #(ribcage
                                                                     #(_
                                                                       e
                                                                       (top)
                                                                       (top)
                                                                       (top))
-                                                                    #("i4456"
-                                                                      "i4457"
-                                                                      "i4458"
-                                                                      "i4459"))
+                                                                    #("i4508"
+                                                                      "i4509"
+                                                                      "i4510"
+                                                                      "i4511"))
                                                                   #(ribcage
                                                                     ()
                                                                     ()
                                                                   #(ribcage
                                                                     #(x)
                                                                     #((top))
-                                                                    #("i4453")))
+                                                                    #("i4505")))
                                                                  (hygiene
                                                                    guile))
-                                                              (cons #{e1\ 4479}#
-                                                                    #{e2\ 4480}#)))
-                                                      #{tmp\ 4476}#)
-                                               ((lambda (#{tmp\ 4482}#)
-                                                  (if #{tmp\ 4482}#
-                                                    (apply (lambda (#{k\ 4486}#
-                                                                    #{e1\ 4487}#
-                                                                    #{e2\ 4488}#)
+                                                              (cons #{e1\ 4531}#
+                                                                    #{e2\ 4532}#)))
+                                                      #{tmp\ 4528}#)
+                                               ((lambda (#{tmp\ 4534}#)
+                                                  (if #{tmp\ 4534}#
+                                                    (apply (lambda (#{k\ 4538}#
+                                                                    #{e1\ 4539}#
+                                                                    #{e2\ 4540}#)
                                                              (list '#(syntax-object
                                                                       if
                                                                       ((top)
                                                                          #((top)
                                                                            (top)
                                                                            (top))
-                                                                         #("i4483"
-                                                                           "i4484"
-                                                                           "i4485"))
+                                                                         #("i4535"
+                                                                           "i4536"
+                                                                           "i4537"))
                                                                        #(ribcage
                                                                          ()
                                                                          ()
                                                                          #((top)
                                                                            (top)
                                                                            (top))
-                                                                         #("i4468"
-                                                                           "i4469"
-                                                                           "i4470"))
+                                                                         #("i4520"
+                                                                           "i4521"
+                                                                           "i4522"))
                                                                        #(ribcage
                                                                          #(_
                                                                            e
                                                                            (top)
                                                                            (top)
                                                                            (top))
-                                                                         #("i4456"
-                                                                           "i4457"
-                                                                           "i4458"
-                                                                           "i4459"))
+                                                                         #("i4508"
+                                                                           "i4509"
+                                                                           "i4510"
+                                                                           "i4511"))
                                                                        #(ribcage
                                                                          ()
                                                                          ()
                                                                        #(ribcage
                                                                          #(x)
                                                                          #((top))
-                                                                         #("i4453")))
+                                                                         #("i4505")))
                                                                       (hygiene
                                                                         guile))
                                                                    (list '#(syntax-object
                                                                                #((top)
                                                                                  (top)
                                                                                  (top))
-                                                                               #("i4483"
-                                                                                 "i4484"
-                                                                                 "i4485"))
+                                                                               #("i4535"
+                                                                                 "i4536"
+                                                                                 "i4537"))
                                                                              #(ribcage
                                                                                ()
                                                                                ()
                                                                                #((top)
                                                                                  (top)
                                                                                  (top))
-                                                                               #("i4468"
-                                                                                 "i4469"
-                                                                                 "i4470"))
+                                                                               #("i4520"
+                                                                                 "i4521"
+                                                                                 "i4522"))
                                                                              #(ribcage
                                                                                #(_
                                                                                  e
                                                                                  (top)
                                                                                  (top)
                                                                                  (top))
-                                                                               #("i4456"
-                                                                                 "i4457"
-                                                                                 "i4458"
-                                                                                 "i4459"))
+                                                                               #("i4508"
+                                                                                 "i4509"
+                                                                                 "i4510"
+                                                                                 "i4511"))
                                                                              #(ribcage
                                                                                ()
                                                                                ()
                                                                              #(ribcage
                                                                                #(x)
                                                                                #((top))
-                                                                               #("i4453")))
+                                                                               #("i4505")))
                                                                             (hygiene
                                                                               guile))
                                                                          '#(syntax-object
                                                                                #((top)
                                                                                  (top)
                                                                                  (top))
-                                                                               #("i4483"
-                                                                                 "i4484"
-                                                                                 "i4485"))
+                                                                               #("i4535"
+                                                                                 "i4536"
+                                                                                 "i4537"))
                                                                              #(ribcage
                                                                                ()
                                                                                ()
                                                                                #((top)
                                                                                  (top)
                                                                                  (top))
-                                                                               #("i4468"
-                                                                                 "i4469"
-                                                                                 "i4470"))
+                                                                               #("i4520"
+                                                                                 "i4521"
+                                                                                 "i4522"))
                                                                              #(ribcage
                                                                                #(_
                                                                                  e
                                                                                  (top)
                                                                                  (top)
                                                                                  (top))
-                                                                               #("i4456"
-                                                                                 "i4457"
-                                                                                 "i4458"
-                                                                                 "i4459"))
+                                                                               #("i4508"
+                                                                                 "i4509"
+                                                                                 "i4510"
+                                                                                 "i4511"))
                                                                              #(ribcage
                                                                                ()
                                                                                ()
                                                                              #(ribcage
                                                                                #(x)
                                                                                #((top))
-                                                                               #("i4453")))
+                                                                               #("i4505")))
                                                                             (hygiene
                                                                               guile))
                                                                          (list '#(syntax-object
                                                                                      #((top)
                                                                                        (top)
                                                                                        (top))
-                                                                                     #("i4483"
-                                                                                       "i4484"
-                                                                                       "i4485"))
+                                                                                     #("i4535"
+                                                                                       "i4536"
+                                                                                       "i4537"))
                                                                                    #(ribcage
                                                                                      ()
                                                                                      ()
                                                                                      #((top)
                                                                                        (top)
                                                                                        (top))
-                                                                                     #("i4468"
-                                                                                       "i4469"
-                                                                                       "i4470"))
+                                                                                     #("i4520"
+                                                                                       "i4521"
+                                                                                       "i4522"))
                                                                                    #(ribcage
                                                                                      #(_
                                                                                        e
                                                                                        (top)
                                                                                        (top)
                                                                                        (top))
-                                                                                     #("i4456"
-                                                                                       "i4457"
-                                                                                       "i4458"
-                                                                                       "i4459"))
+                                                                                     #("i4508"
+                                                                                       "i4509"
+                                                                                       "i4510"
+                                                                                       "i4511"))
                                                                                    #(ribcage
                                                                                      ()
                                                                                      ()
                                                                                    #(ribcage
                                                                                      #(x)
                                                                                      #((top))
-                                                                                     #("i4453")))
+                                                                                     #("i4505")))
                                                                                   (hygiene
                                                                                     guile))
-                                                                               #{k\ 4486}#))
+                                                                               #{k\ 4538}#))
                                                                    (cons '#(syntax-object
                                                                             begin
                                                                             ((top)
                                                                                #((top)
                                                                                  (top)
                                                                                  (top))
-                                                                               #("i4483"
-                                                                                 "i4484"
-                                                                                 "i4485"))
+                                                                               #("i4535"
+                                                                                 "i4536"
+                                                                                 "i4537"))
                                                                              #(ribcage
                                                                                ()
                                                                                ()
                                                                                #((top)
                                                                                  (top)
                                                                                  (top))
-                                                                               #("i4468"
-                                                                                 "i4469"
-                                                                                 "i4470"))
+                                                                               #("i4520"
+                                                                                 "i4521"
+                                                                                 "i4522"))
                                                                              #(ribcage
                                                                                #(_
                                                                                  e
                                                                                  (top)
                                                                                  (top)
                                                                                  (top))
-                                                                               #("i4456"
-                                                                                 "i4457"
-                                                                                 "i4458"
-                                                                                 "i4459"))
+                                                                               #("i4508"
+                                                                                 "i4509"
+                                                                                 "i4510"
+                                                                                 "i4511"))
                                                                              #(ribcage
                                                                                ()
                                                                                ()
                                                                              #(ribcage
                                                                                #(x)
                                                                                #((top))
-                                                                               #("i4453")))
+                                                                               #("i4505")))
                                                                             (hygiene
                                                                               guile))
-                                                                         (cons #{e1\ 4487}#
-                                                                               #{e2\ 4488}#))))
-                                                           #{tmp\ 4482}#)
-                                                    ((lambda (#{_\ 4492}#)
+                                                                         (cons #{e1\ 4539}#
+                                                                               #{e2\ 4540}#))))
+                                                           #{tmp\ 4534}#)
+                                                    ((lambda (#{_\ 4544}#)
                                                        (syntax-violation
                                                          'case
                                                          "bad clause"
-                                                         #{x\ 4452}#
-                                                         #{clause\ 4472}#))
-                                                     #{tmp\ 4475}#)))
+                                                         #{x\ 4504}#
+                                                         #{clause\ 4524}#))
+                                                     #{tmp\ 4527}#)))
                                                 ($sc-dispatch
-                                                  #{tmp\ 4475}#
+                                                  #{tmp\ 4527}#
                                                   '(each-any
                                                      any
                                                      .
                                                      each-any)))))
                                            ($sc-dispatch
-                                             #{tmp\ 4475}#
+                                             #{tmp\ 4527}#
                                              '(#(free-id
                                                  #(syntax-object
                                                    else
                                                     #(ribcage
                                                       #(f clause clauses)
                                                       #((top) (top) (top))
-                                                      #("i4468"
-                                                        "i4469"
-                                                        "i4470"))
+                                                      #("i4520"
+                                                        "i4521"
+                                                        "i4522"))
                                                     #(ribcage
                                                       #(_ e m1 m2)
                                                       #((top)
                                                         (top)
                                                         (top)
                                                         (top))
-                                                      #("i4456"
-                                                        "i4457"
-                                                        "i4458"
-                                                        "i4459"))
+                                                      #("i4508"
+                                                        "i4509"
+                                                        "i4510"
+                                                        "i4511"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(x)
                                                       #((top))
-                                                      #("i4453")))
+                                                      #("i4505")))
                                                    (hygiene guile)))
                                                any
                                                .
                                                each-any))))
-                                        #{clause\ 4472}#)
-                                       ((lambda (#{tmp\ 4494}#)
-                                          ((lambda (#{rest\ 4496}#)
-                                             ((lambda (#{tmp\ 4497}#)
-                                                ((lambda (#{tmp\ 4498}#)
-                                                   (if #{tmp\ 4498}#
-                                                     (apply (lambda (#{k\ 4502}#
-                                                                     #{e1\ 4503}#
-                                                                     #{e2\ 4504}#)
+                                        #{clause\ 4524}#)
+                                       ((lambda (#{tmp\ 4546}#)
+                                          ((lambda (#{rest\ 4548}#)
+                                             ((lambda (#{tmp\ 4549}#)
+                                                ((lambda (#{tmp\ 4550}#)
+                                                   (if #{tmp\ 4550}#
+                                                     (apply (lambda (#{k\ 4554}#
+                                                                     #{e1\ 4555}#
+                                                                     #{e2\ 4556}#)
                                                               (list '#(syntax-object
                                                                        if
                                                                        ((top)
                                                                           #((top)
                                                                             (top)
                                                                             (top))
-                                                                          #("i4499"
-                                                                            "i4500"
-                                                                            "i4501"))
+                                                                          #("i4551"
+                                                                            "i4552"
+                                                                            "i4553"))
                                                                         #(ribcage
                                                                           #(rest)
                                                                           #((top))
-                                                                          #("i4495"))
+                                                                          #("i4547"))
                                                                         #(ribcage
                                                                           ()
                                                                           ()
                                                                           #((top)
                                                                             (top)
                                                                             (top))
-                                                                          #("i4468"
-                                                                            "i4469"
-                                                                            "i4470"))
+                                                                          #("i4520"
+                                                                            "i4521"
+                                                                            "i4522"))
                                                                         #(ribcage
                                                                           #(_
                                                                             e
                                                                             (top)
                                                                             (top)
                                                                             (top))
-                                                                          #("i4456"
-                                                                            "i4457"
-                                                                            "i4458"
-                                                                            "i4459"))
+                                                                          #("i4508"
+                                                                            "i4509"
+                                                                            "i4510"
+                                                                            "i4511"))
                                                                         #(ribcage
                                                                           ()
                                                                           ()
                                                                         #(ribcage
                                                                           #(x)
                                                                           #((top))
-                                                                          #("i4453")))
+                                                                          #("i4505")))
                                                                        (hygiene
                                                                          guile))
                                                                     (list '#(syntax-object
                                                                                 #((top)
                                                                                   (top)
                                                                                   (top))
-                                                                                #("i4499"
-                                                                                  "i4500"
-                                                                                  "i4501"))
+                                                                                #("i4551"
+                                                                                  "i4552"
+                                                                                  "i4553"))
                                                                               #(ribcage
                                                                                 #(rest)
                                                                                 #((top))
-                                                                                #("i4495"))
+                                                                                #("i4547"))
                                                                               #(ribcage
                                                                                 ()
                                                                                 ()
                                                                                 #((top)
                                                                                   (top)
                                                                                   (top))
-                                                                                #("i4468"
-                                                                                  "i4469"
-                                                                                  "i4470"))
+                                                                                #("i4520"
+                                                                                  "i4521"
+                                                                                  "i4522"))
                                                                               #(ribcage
                                                                                 #(_
                                                                                   e
                                                                                   (top)
                                                                                   (top)
                                                                                   (top))
-                                                                                #("i4456"
-                                                                                  "i4457"
-                                                                                  "i4458"
-                                                                                  "i4459"))
+                                                                                #("i4508"
+                                                                                  "i4509"
+                                                                                  "i4510"
+                                                                                  "i4511"))
                                                                               #(ribcage
                                                                                 ()
                                                                                 ()
                                                                               #(ribcage
                                                                                 #(x)
                                                                                 #((top))
-                                                                                #("i4453")))
+                                                                                #("i4505")))
                                                                              (hygiene
                                                                                guile))
                                                                           '#(syntax-object
                                                                                 #((top)
                                                                                   (top)
                                                                                   (top))
-                                                                                #("i4499"
-                                                                                  "i4500"
-                                                                                  "i4501"))
+                                                                                #("i4551"
+                                                                                  "i4552"
+                                                                                  "i4553"))
                                                                               #(ribcage
                                                                                 #(rest)
                                                                                 #((top))
-                                                                                #("i4495"))
+                                                                                #("i4547"))
                                                                               #(ribcage
                                                                                 ()
                                                                                 ()
                                                                                 #((top)
                                                                                   (top)
                                                                                   (top))
-                                                                                #("i4468"
-                                                                                  "i4469"
-                                                                                  "i4470"))
+                                                                                #("i4520"
+                                                                                  "i4521"
+                                                                                  "i4522"))
                                                                               #(ribcage
                                                                                 #(_
                                                                                   e
                                                                                   (top)
                                                                                   (top)
                                                                                   (top))
-                                                                                #("i4456"
-                                                                                  "i4457"
-                                                                                  "i4458"
-                                                                                  "i4459"))
+                                                                                #("i4508"
+                                                                                  "i4509"
+                                                                                  "i4510"
+                                                                                  "i4511"))
                                                                               #(ribcage
                                                                                 ()
                                                                                 ()
                                                                               #(ribcage
                                                                                 #(x)
                                                                                 #((top))
-                                                                                #("i4453")))
+                                                                                #("i4505")))
                                                                              (hygiene
                                                                                guile))
                                                                           (list '#(syntax-object
                                                                                       #((top)
                                                                                         (top)
                                                                                         (top))
-                                                                                      #("i4499"
-                                                                                        "i4500"
-                                                                                        "i4501"))
+                                                                                      #("i4551"
+                                                                                        "i4552"
+                                                                                        "i4553"))
                                                                                     #(ribcage
                                                                                       #(rest)
                                                                                       #((top))
-                                                                                      #("i4495"))
+                                                                                      #("i4547"))
                                                                                     #(ribcage
                                                                                       ()
                                                                                       ()
                                                                                       #((top)
                                                                                         (top)
                                                                                         (top))
-                                                                                      #("i4468"
-                                                                                        "i4469"
-                                                                                        "i4470"))
+                                                                                      #("i4520"
+                                                                                        "i4521"
+                                                                                        "i4522"))
                                                                                     #(ribcage
                                                                                       #(_
                                                                                         e
                                                                                         (top)
                                                                                         (top)
                                                                                         (top))
-                                                                                      #("i4456"
-                                                                                        "i4457"
-                                                                                        "i4458"
-                                                                                        "i4459"))
+                                                                                      #("i4508"
+                                                                                        "i4509"
+                                                                                        "i4510"
+                                                                                        "i4511"))
                                                                                     #(ribcage
                                                                                       ()
                                                                                       ()
                                                                                     #(ribcage
                                                                                       #(x)
                                                                                       #((top))
-                                                                                      #("i4453")))
+                                                                                      #("i4505")))
                                                                                    (hygiene
                                                                                      guile))
-                                                                                #{k\ 4502}#))
+                                                                                #{k\ 4554}#))
                                                                     (cons '#(syntax-object
                                                                              begin
                                                                              ((top)
                                                                                 #((top)
                                                                                   (top)
                                                                                   (top))
-                                                                                #("i4499"
-                                                                                  "i4500"
-                                                                                  "i4501"))
+                                                                                #("i4551"
+                                                                                  "i4552"
+                                                                                  "i4553"))
                                                                               #(ribcage
                                                                                 #(rest)
                                                                                 #((top))
-                                                                                #("i4495"))
+                                                                                #("i4547"))
                                                                               #(ribcage
                                                                                 ()
                                                                                 ()
                                                                                 #((top)
                                                                                   (top)
                                                                                   (top))
-                                                                                #("i4468"
-                                                                                  "i4469"
-                                                                                  "i4470"))
+                                                                                #("i4520"
+                                                                                  "i4521"
+                                                                                  "i4522"))
                                                                               #(ribcage
                                                                                 #(_
                                                                                   e
                                                                                   (top)
                                                                                   (top)
                                                                                   (top))
-                                                                                #("i4456"
-                                                                                  "i4457"
-                                                                                  "i4458"
-                                                                                  "i4459"))
+                                                                                #("i4508"
+                                                                                  "i4509"
+                                                                                  "i4510"
+                                                                                  "i4511"))
                                                                               #(ribcage
                                                                                 ()
                                                                                 ()
                                                                               #(ribcage
                                                                                 #(x)
                                                                                 #((top))
-                                                                                #("i4453")))
+                                                                                #("i4505")))
                                                                              (hygiene
                                                                                guile))
-                                                                          (cons #{e1\ 4503}#
-                                                                                #{e2\ 4504}#))
-                                                                    #{rest\ 4496}#))
-                                                            #{tmp\ 4498}#)
-                                                     ((lambda (#{_\ 4508}#)
+                                                                          (cons #{e1\ 4555}#
+                                                                                #{e2\ 4556}#))
+                                                                    #{rest\ 4548}#))
+                                                            #{tmp\ 4550}#)
+                                                     ((lambda (#{_\ 4560}#)
                                                         (syntax-violation
                                                           'case
                                                           "bad clause"
-                                                          #{x\ 4452}#
-                                                          #{clause\ 4472}#))
-                                                      #{tmp\ 4497}#)))
+                                                          #{x\ 4504}#
+                                                          #{clause\ 4524}#))
+                                                      #{tmp\ 4549}#)))
                                                  ($sc-dispatch
-                                                   #{tmp\ 4497}#
+                                                   #{tmp\ 4549}#
                                                    '(each-any
                                                       any
                                                       .
                                                       each-any))))
-                                              #{clause\ 4472}#))
-                                           #{tmp\ 4494}#))
-                                        (#{f\ 4471}#
-                                          (car #{clauses\ 4473}#)
-                                          (cdr #{clauses\ 4473}#)))))))
-                          (#{f\ 4471}# #{m1\ 4462}# #{m2\ 4463}#))))
-                     #{tmp\ 4455}#)
+                                              #{clause\ 4524}#))
+                                           #{tmp\ 4546}#))
+                                        (#{f\ 4523}#
+                                          (car #{clauses\ 4525}#)
+                                          (cdr #{clauses\ 4525}#)))))))
+                          (#{f\ 4523}# #{m1\ 4514}# #{m2\ 4515}#))))
+                     #{tmp\ 4507}#)
               (syntax-violation
                 #f
                 "source expression failed to match any pattern"
-                #{tmp\ 4454}#)))
+                #{tmp\ 4506}#)))
           ($sc-dispatch
-            #{tmp\ 4454}#
+            #{tmp\ 4506}#
             '(any any any . each-any))))
-       #{x\ 4452}#))))
+       #{x\ 4504}#))))
 
 (define identifier-syntax
   (make-syntax-transformer
     'identifier-syntax
     'macro
-    (lambda (#{x\ 4509}#)
-      ((lambda (#{tmp\ 4511}#)
-         ((lambda (#{tmp\ 4512}#)
-            (if #{tmp\ 4512}#
-              (apply (lambda (#{_\ 4515}# #{e\ 4516}#)
+    (lambda (#{x\ 4561}#)
+      ((lambda (#{tmp\ 4563}#)
+         ((lambda (#{tmp\ 4564}#)
+            (if #{tmp\ 4564}#
+              (apply (lambda (#{_\ 4567}# #{e\ 4568}#)
                        (list '#(syntax-object
                                 lambda
                                 ((top)
                                  #(ribcage
                                    #(_ e)
                                    #((top) (top))
-                                   #("i4513" "i4514"))
+                                   #("i4565" "i4566"))
                                  #(ribcage () () ())
-                                 #(ribcage #(x) #((top)) #("i4510")))
+                                 #(ribcage #(x) #((top)) #("i4562")))
                                 (hygiene guile))
                              '(#(syntax-object
                                  x
                                   #(ribcage
                                     #(_ e)
                                     #((top) (top))
-                                    #("i4513" "i4514"))
+                                    #("i4565" "i4566"))
                                   #(ribcage () () ())
-                                  #(ribcage #(x) #((top)) #("i4510")))
+                                  #(ribcage #(x) #((top)) #("i4562")))
                                  (hygiene guile)))
                              '#((#(syntax-object
                                    macro-type
                                     #(ribcage
                                       #(_ e)
                                       #((top) (top))
-                                      #("i4513" "i4514"))
+                                      #("i4565" "i4566"))
                                     #(ribcage () () ())
-                                    #(ribcage #(x) #((top)) #("i4510")))
+                                    #(ribcage #(x) #((top)) #("i4562")))
                                    (hygiene guile))
                                  .
                                  #(syntax-object
                                     #(ribcage
                                       #(_ e)
                                       #((top) (top))
-                                      #("i4513" "i4514"))
+                                      #("i4565" "i4566"))
                                     #(ribcage () () ())
-                                    #(ribcage #(x) #((top)) #("i4510")))
+                                    #(ribcage #(x) #((top)) #("i4562")))
                                    (hygiene guile))))
                              (list '#(syntax-object
                                       syntax-case
                                        #(ribcage
                                          #(_ e)
                                          #((top) (top))
-                                         #("i4513" "i4514"))
+                                         #("i4565" "i4566"))
                                        #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i4510")))
+                                       #(ribcage #(x) #((top)) #("i4562")))
                                       (hygiene guile))
                                    '#(syntax-object
                                       x
                                        #(ribcage
                                          #(_ e)
                                          #((top) (top))
-                                         #("i4513" "i4514"))
+                                         #("i4565" "i4566"))
                                        #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i4510")))
+                                       #(ribcage #(x) #((top)) #("i4562")))
                                       (hygiene guile))
                                    '()
                                    (list '#(syntax-object
                                              #(ribcage
                                                #(_ e)
                                                #((top) (top))
-                                               #("i4513" "i4514"))
+                                               #("i4565" "i4566"))
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x)
                                                #((top))
-                                               #("i4510")))
+                                               #("i4562")))
                                             (hygiene guile))
                                          '(#(syntax-object
                                              identifier?
                                               #(ribcage
                                                 #(_ e)
                                                 #((top) (top))
-                                                #("i4513" "i4514"))
+                                                #("i4565" "i4566"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(x)
                                                 #((top))
-                                                #("i4510")))
+                                                #("i4562")))
                                              (hygiene guile))
                                            (#(syntax-object
                                               syntax
                                                #(ribcage
                                                  #(_ e)
                                                  #((top) (top))
-                                                 #("i4513" "i4514"))
+                                                 #("i4565" "i4566"))
                                                #(ribcage () () ())
                                                #(ribcage
                                                  #(x)
                                                  #((top))
-                                                 #("i4510")))
+                                                 #("i4562")))
                                               (hygiene guile))
                                             #(syntax-object
                                               id
                                                #(ribcage
                                                  #(_ e)
                                                  #((top) (top))
-                                                 #("i4513" "i4514"))
+                                                 #("i4565" "i4566"))
                                                #(ribcage () () ())
                                                #(ribcage
                                                  #(x)
                                                  #((top))
-                                                 #("i4510")))
+                                                 #("i4562")))
                                               (hygiene guile))))
                                          (list '#(syntax-object
                                                   syntax
                                                    #(ribcage
                                                      #(_ e)
                                                      #((top) (top))
-                                                     #("i4513" "i4514"))
+                                                     #("i4565" "i4566"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x)
                                                      #((top))
-                                                     #("i4510")))
+                                                     #("i4562")))
                                                   (hygiene guile))
-                                               #{e\ 4516}#))
-                                   (list (cons #{_\ 4515}#
+                                               #{e\ 4568}#))
+                                   (list (cons #{_\ 4567}#
                                                '(#(syntax-object
                                                    x
                                                    ((top)
                                                     #(ribcage
                                                       #(_ e)
                                                       #((top) (top))
-                                                      #("i4513" "i4514"))
+                                                      #("i4565" "i4566"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(x)
                                                       #((top))
-                                                      #("i4510")))
+                                                      #("i4562")))
                                                    (hygiene guile))
                                                  #(syntax-object
                                                    ...
                                                     #(ribcage
                                                       #(_ e)
                                                       #((top) (top))
-                                                      #("i4513" "i4514"))
+                                                      #("i4565" "i4566"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(x)
                                                       #((top))
-                                                      #("i4510")))
+                                                      #("i4562")))
                                                    (hygiene guile))))
                                          (list '#(syntax-object
                                                   syntax
                                                    #(ribcage
                                                      #(_ e)
                                                      #((top) (top))
-                                                     #("i4513" "i4514"))
+                                                     #("i4565" "i4566"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x)
                                                      #((top))
-                                                     #("i4510")))
+                                                     #("i4562")))
                                                   (hygiene guile))
-                                               (cons #{e\ 4516}#
+                                               (cons #{e\ 4568}#
                                                      '(#(syntax-object
                                                          x
                                                          ((top)
                                                           #(ribcage
                                                             #(_ e)
                                                             #((top) (top))
-                                                            #("i4513" "i4514"))
+                                                            #("i4565" "i4566"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(x)
                                                             #((top))
-                                                            #("i4510")))
+                                                            #("i4562")))
                                                          (hygiene guile))
                                                        #(syntax-object
                                                          ...
                                                           #(ribcage
                                                             #(_ e)
                                                             #((top) (top))
-                                                            #("i4513" "i4514"))
+                                                            #("i4565" "i4566"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(x)
                                                             #((top))
-                                                            #("i4510")))
+                                                            #("i4562")))
                                                          (hygiene
                                                            guile)))))))))
-                     #{tmp\ 4512}#)
+                     #{tmp\ 4564}#)
               (syntax-violation
                 #f
                 "source expression failed to match any pattern"
-                #{tmp\ 4511}#)))
-          ($sc-dispatch #{tmp\ 4511}# (quote (any any)))))
-       #{x\ 4509}#))))
+                #{tmp\ 4563}#)))
+          ($sc-dispatch #{tmp\ 4563}# (quote (any any)))))
+       #{x\ 4561}#))))
 
 (define define*
   (make-syntax-transformer
     'define*
     'macro
-    (lambda (#{x\ 4517}#)
-      ((lambda (#{tmp\ 4519}#)
-         ((lambda (#{tmp\ 4520}#)
-            (if #{tmp\ 4520}#
-              (apply (lambda (#{_\ 4526}#
-                              #{id\ 4527}#
-                              #{args\ 4528}#
-                              #{b0\ 4529}#
-                              #{b1\ 4530}#)
+    (lambda (#{x\ 4569}#)
+      ((lambda (#{tmp\ 4571}#)
+         ((lambda (#{tmp\ 4572}#)
+            (if #{tmp\ 4572}#
+              (apply (lambda (#{_\ 4578}#
+                              #{id\ 4579}#
+                              #{args\ 4580}#
+                              #{b0\ 4581}#
+                              #{b1\ 4582}#)
                        (list '#(syntax-object
                                 define
                                 ((top)
                                  #(ribcage
                                    #(_ id args b0 b1)
                                    #((top) (top) (top) (top) (top))
-                                   #("i4521" "i4522" "i4523" "i4524" "i4525"))
+                                   #("i4573" "i4574" "i4575" "i4576" "i4577"))
                                  #(ribcage () () ())
-                                 #(ribcage #(x) #((top)) #("i4518")))
+                                 #(ribcage #(x) #((top)) #("i4570")))
                                 (hygiene guile))
-                             #{id\ 4527}#
+                             #{id\ 4579}#
                              (cons '#(syntax-object
                                       lambda*
                                       ((top)
                                        #(ribcage
                                          #(_ id args b0 b1)
                                          #((top) (top) (top) (top) (top))
-                                         #("i4521"
-                                           "i4522"
-                                           "i4523"
-                                           "i4524"
-                                           "i4525"))
+                                         #("i4573"
+                                           "i4574"
+                                           "i4575"
+                                           "i4576"
+                                           "i4577"))
                                        #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i4518")))
+                                       #(ribcage #(x) #((top)) #("i4570")))
                                       (hygiene guile))
-                                   (cons #{args\ 4528}#
-                                         (cons #{b0\ 4529}# #{b1\ 4530}#)))))
-                     #{tmp\ 4520}#)
-              ((lambda (#{tmp\ 4532}#)
-                 (if (if #{tmp\ 4532}#
-                       (apply (lambda (#{_\ 4536}# #{id\ 4537}# #{val\ 4538}#)
+                                   (cons #{args\ 4580}#
+                                         (cons #{b0\ 4581}# #{b1\ 4582}#)))))
+                     #{tmp\ 4572}#)
+              ((lambda (#{tmp\ 4584}#)
+                 (if (if #{tmp\ 4584}#
+                       (apply (lambda (#{_\ 4588}# #{id\ 4589}# #{val\ 4590}#)
                                 (identifier?
                                   '#(syntax-object
                                      x
                                       #(ribcage
                                         #(_ id val)
                                         #((top) (top) (top))
-                                        #("i4533" "i4534" "i4535"))
+                                        #("i4585" "i4586" "i4587"))
                                       #(ribcage () () ())
-                                      #(ribcage #(x) #((top)) #("i4518")))
+                                      #(ribcage #(x) #((top)) #("i4570")))
                                      (hygiene guile))))
-                              #{tmp\ 4532}#)
+                              #{tmp\ 4584}#)
                        #f)
-                   (apply (lambda (#{_\ 4542}# #{id\ 4543}# #{val\ 4544}#)
+                   (apply (lambda (#{_\ 4594}# #{id\ 4595}# #{val\ 4596}#)
                             (list '#(syntax-object
                                      define
                                      ((top)
                                       #(ribcage
                                         #(_ id val)
                                         #((top) (top) (top))
-                                        #("i4539" "i4540" "i4541"))
+                                        #("i4591" "i4592" "i4593"))
                                       #(ribcage () () ())
-                                      #(ribcage #(x) #((top)) #("i4518")))
+                                      #(ribcage #(x) #((top)) #("i4570")))
                                      (hygiene guile))
-                                  #{id\ 4543}#
-                                  #{val\ 4544}#))
-                          #{tmp\ 4532}#)
+                                  #{id\ 4595}#
+                                  #{val\ 4596}#))
+                          #{tmp\ 4584}#)
                    (syntax-violation
                      #f
                      "source expression failed to match any pattern"
-                     #{tmp\ 4519}#)))
+                     #{tmp\ 4571}#)))
                ($sc-dispatch
-                 #{tmp\ 4519}#
+                 #{tmp\ 4571}#
                  '(any any any)))))
           ($sc-dispatch
-            #{tmp\ 4519}#
+            #{tmp\ 4571}#
             '(any (any . any) any . each-any))))
-       #{x\ 4517}#))))
+       #{x\ 4569}#))))
 
index bd035ef..d82920d 100644 (file)
                               val-exps))))))
 
   (define build-letrec
-    (lambda (src ids vars val-exps body-exp)
+    (lambda (src in-order? ids vars val-exps body-exp)
       (if (null? vars)
           body-exp
           (begin
             (for-each maybe-name-value! ids val-exps)
-            (make-letrec src #f ids vars val-exps body-exp)))))
+            (make-letrec src in-order? ids vars val-exps body-exp)))))
 
 
   ;; FIXME: use a faster gensym
                                            (loop (cdr bs) er r-cache))
                                          (loop (cdr bs) er-cache r-cache)))))
                              (set-cdr! r (extend-env labels bindings (cdr r)))
-                             (build-letrec no-source
+                             (build-letrec no-source #f
                                            (map syntax->datum var-ids)
                                            vars
                                            (map (lambda (x)
                                   (new-vars (map gen-var ids)))
                               (let ((w (make-binding-wrap ids labels w))
                                     (r (extend-var-env labels new-vars r)))
-                                (build-letrec s
+                                (build-letrec s #f
                                               (map syntax->datum ids)
                                               new-vars
                                               (map (lambda (x) (chi x r w mod)) #'(val ...))
                      (_ (syntax-violation 'letrec "bad letrec" (source-wrap e w s mod))))))
 
 
+  (global-extend 'core 'letrec*
+                 (lambda (e r w s mod)
+                   (syntax-case e ()
+                     ((_ ((id val) ...) e1 e2 ...)
+                      (and-map id? #'(id ...))
+                      (let ((ids #'(id ...)))
+                        (if (not (valid-bound-ids? ids))
+                            (syntax-violation 'letrec* "duplicate bound variable" e)
+                            (let ((labels (gen-labels ids))
+                                  (new-vars (map gen-var ids)))
+                              (let ((w (make-binding-wrap ids labels w))
+                                    (r (extend-var-env labels new-vars r)))
+                                (build-letrec s #t
+                                              (map syntax->datum ids)
+                                              new-vars
+                                              (map (lambda (x) (chi x r w mod)) #'(val ...))
+                                              (chi-body #'(e1 e2 ...) 
+                                                        (source-wrap e w s mod) r w mod)))))))
+                     (_ (syntax-violation 'letrec* "bad letrec*" (source-wrap e w s mod))))))
+
+
   (global-extend 'core 'set!
                  (lambda (e r w s mod)
                    (syntax-case e ()