guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] GNU Guile branch, master, updated. release_1-9-10-126-g3


From: Andy Wingo
Subject: [Guile-commits] GNU Guile branch, master, updated. release_1-9-10-126-g3e5ea35
Date: Wed, 19 May 2010 23:00:48 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Guile".

http://git.savannah.gnu.org/cgit/guile.git/commit/?id=3e5ea35c2fa1bb3d21373723e9a51d213cf79187

The branch, master has been updated
       via  3e5ea35c2fa1bb3d21373723e9a51d213cf79187 (commit)
       via  bdf7759c2b1116bd4dfeee725f0bd92fa256a27e (commit)
       via  3d10018e7f7f7db1f9ae2f673a21f45bde0aa11b (commit)
       via  f7b61b39d398fecba5d2d14ca895d75785bf826a (commit)
       via  e1ca91007a26c64f4c9673158e5f88864818defb (commit)
       via  ccbc25f33f6ff4f7463f5ad5bbd5157d7bba26d4 (commit)
       via  dc3e203e075a2713791a1c5593c67b9296214156 (commit)
       via  667361f6cec83a090d0a7e81df8e16e2aafb2403 (commit)
       via  311fbeb7c3d13e863936eb9cdfbc5e6278e832e3 (commit)
      from  12922f0dd1e327e6f0c5693619e1e6d600e6a866 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 3e5ea35c2fa1bb3d21373723e9a51d213cf79187
Author: Andy Wingo <address@hidden>
Date:   Thu May 20 01:00:37 2010 +0200

    %null-pointer properly aligned
    
    * libguile/foreign.c: Allocate %null-pointer on the heap, to assure
      proper alignment.

commit bdf7759c2b1116bd4dfeee725f0bd92fa256a27e
Author: Andy Wingo <address@hidden>
Date:   Wed May 19 23:56:00 2010 +0200

    psyntax produces "expanded" structures directly
    
    * module/ice-9/psyntax.scm: Remove a number of eval-versus-compile
      cases, instead producing "expanded" structures directly, which happen
      to coincide with tree-il.
    
    * module/ice-9/psyntax-pp.scm: Regenerate.

commit 3d10018e7f7f7db1f9ae2f673a21f45bde0aa11b
Author: Andy Wingo <address@hidden>
Date:   Wed May 19 23:37:27 2010 +0200

    expanded type constructors in psyntax
    
    * module/ice-9/psyntax.scm (define-expansion-constructors): Define
      constructors for expanded types.
    
    * module/ice-9/psyntax-pp.scm: Regenerated.

commit f7b61b39d398fecba5d2d14ca895d75785bf826a
Author: Andy Wingo <address@hidden>
Date:   Wed May 19 23:27:14 2010 +0200

    tree-il on expanded-vtables
    
    * module/language/tree-il.scm: In a somewhat daring move, inherit
      the "core" tree-il constructs from %expanded-vtables.

commit e1ca91007a26c64f4c9673158e5f88864818defb
Author: Andy Wingo <address@hidden>
Date:   Wed May 19 23:25:50 2010 +0200

    fix a couple expander naming bugs
    
    * libguile/expand.h:
    * libguile/memoize.c: Fix a couple bugs: it's application-args, not
      application-exps, and public?, not public.

commit ccbc25f33f6ff4f7463f5ad5bbd5157d7bba26d4
Author: Andy Wingo <address@hidden>
Date:   Wed May 19 22:57:52 2010 +0200

    %expanded-vtables is a vector
    
    * libguile/expand.c (scm_init_expand): %expanded-vtables is a vector.

commit dc3e203e075a2713791a1c5593c67b9296214156
Author: Andy Wingo <address@hidden>
Date:   Wed May 19 22:51:31 2010 +0200

    separate boot expansion from memoization
    
    * libguile/Makefile.am:
    * libguile/init.c:
    * libguile/expand.c:
    * libguile/expand.h: Add new expander. The idea is that macroexpansion
      is one thing, and whether to compile or interpret the result of that
      is another thing.
    
    * libguile/memoize.c: Adapt to expand as necessary, and then memoize
      expanded source without worrying about syntax errors.
    
    * module/ice-9/eval.scm (make-general-closure): Allow alt clauses to not
      possess the full make-general-closure arity.

commit 667361f6cec83a090d0a7e81df8e16e2aafb2403
Author: Andy Wingo <address@hidden>
Date:   Tue May 18 22:30:58 2010 +0200

    remove the new scm_memoize_begin, etc
    
    * libguile/memoize.h:
    * libguile/memoize.c: Remove the recently-added scm_memoize_begin,
      scm_memoize_lambda, et al. We'll take a different tack.

commit 311fbeb7c3d13e863936eb9cdfbc5e6278e832e3
Author: Andy Wingo <address@hidden>
Date:   Sun May 16 12:21:27 2010 +0200

    scm_memoize_lambda update
    
    * libguile/memoize.h:
    * libguile/memoize.c (scm_memoize_lambda): Update to memoize
      "full-arity" lambdas.

-----------------------------------------------------------------------

Summary of changes:
 libguile/Makefile.am        |    4 +
 libguile/eval.c             |   39 +-
 libguile/expand.c           | 1253 ++++
 libguile/expand.h           |  346 +
 libguile/foreign.c          |   12 +-
 libguile/init.c             |    2 +
 libguile/memoize.c          | 1418 +---
 libguile/memoize.h          |   15 -
 module/ice-9/eval.scm       |   10 +-
 module/ice-9/psyntax-pp.scm |17176 +++++++++++++++++++++++--------------------
 module/ice-9/psyntax.scm    |  211 +-
 module/language/tree-il.scm |   78 +-
 12 files changed, 11047 insertions(+), 9517 deletions(-)
 create mode 100644 libguile/expand.c
 create mode 100644 libguile/expand.h

diff --git a/libguile/Makefile.am b/libguile/Makefile.am
index a841c9f..90d8b61 100644
--- a/libguile/Makefile.am
+++ b/libguile/Makefile.am
@@ -127,6 +127,7 @@ address@hidden@_la_SOURCES =                                
\
        error.c                                 \
        eval.c                                  \
        evalext.c                               \
+       expand.c                                \
        extensions.c                            \
        feature.c                               \
        fluids.c                                \
@@ -229,6 +230,7 @@ DOT_X_FILES =                                       \
        error.x                                 \
        eval.x                                  \
        evalext.x                               \
+       expand.x                                \
        extensions.x                            \
        feature.x                               \
        fluids.x                                \
@@ -328,6 +330,7 @@ DOT_DOC_FILES =                             \
        error.doc                               \
        eval.doc                                \
        evalext.doc                             \
+       expand.doc                              \
        extensions.doc                          \
        feature.doc                             \
        fluids.doc                              \
@@ -487,6 +490,7 @@ modinclude_HEADERS =                                \
        error.h                                 \
        eval.h                                  \
        evalext.h                               \
+       expand.h                                \
        extensions.h                            \
        feature.h                               \
        filesys.h                               \
diff --git a/libguile/eval.c b/libguile/eval.c
index 7c21060..63808c6 100644
--- a/libguile/eval.c
+++ b/libguile/eval.c
@@ -114,15 +114,26 @@ static scm_t_bits scm_tc16_boot_closure;
 #define BOOT_CLOSURE_IS_REST(x) scm_is_null (CDDDR (BOOT_CLOSURE_CODE (x)))
 /* NB: One may only call the following accessors if the closure is not REST. */
 #define BOOT_CLOSURE_IS_FULL(x) (1)
-#define BOOT_CLOSURE_PARSE_FULL(x,body,nargs,rest,nopt,kw,inits,alt)    \
-  do { SCM mx = BOOT_CLOSURE_CODE (x);                          \
-    body = CAR (mx); mx = CDR (mx);                             \
-    nreq = SCM_I_INUM (CAR (mx)); mx = CDR (mx);                \
-    rest = CAR (mx); mx = CDR (mx);                             \
-    nopt = SCM_I_INUM (CAR (mx)); mx = CDR (mx);                \
-    kw = CAR (mx); mx = CDR (mx);                               \
-    inits = CAR (mx); mx = CDR (mx);                            \
-    alt = CAR (mx);                                             \
+#define BOOT_CLOSURE_PARSE_FULL(fu_,body,nargs,rest,nopt,kw,inits,alt)    \
+  do { SCM fu = fu_;                                            \
+    body = CAR (fu); fu = CDR (fu);                             \
+                                                                \
+    rest = kw = alt = SCM_BOOL_F;                               \
+    inits = SCM_EOL;                                            \
+    nopt = 0;                                                   \
+                                                                \
+    nreq = SCM_I_INUM (CAR (fu)); fu = CDR (fu);                \
+    if (scm_is_pair (fu))                                       \
+      {                                                         \
+        rest = CAR (fu); fu = CDR (fu);                         \
+        if (scm_is_pair (fu))                                   \
+          {                                                     \
+            nopt = SCM_I_INUM (CAR (fu)); fu = CDR (fu);        \
+            kw = CAR (fu); fu = CDR (fu);                       \
+            inits = CAR (fu); fu = CDR (fu);                    \
+            alt = CAR (fu);                                     \
+          }                                                     \
+      }                                                         \
   } while (0)
 static void prepare_boot_closure_env_for_apply (SCM proc, SCM args,
                                                 SCM *out_body, SCM *out_env);
@@ -906,6 +917,7 @@ prepare_boot_closure_env_for_apply (SCM proc, SCM args,
 {
   int nreq = BOOT_CLOSURE_NUM_REQUIRED_ARGS (proc);
   SCM env = BOOT_CLOSURE_ENV (proc);
+  
   if (BOOT_CLOSURE_IS_FIXED (proc)
       || (BOOT_CLOSURE_IS_REST (proc)
           && !BOOT_CLOSURE_HAS_REST_ARGS (proc)))
@@ -931,16 +943,17 @@ prepare_boot_closure_env_for_apply (SCM proc, SCM args,
     {
       int i, argc, nreq, nopt;
       SCM body, rest, kw, inits, alt;
+      SCM mx = BOOT_CLOSURE_CODE (proc);
       
     loop:
-      BOOT_CLOSURE_PARSE_FULL (proc, body, nargs, rest, nopt, kw, inits, alt);
+      BOOT_CLOSURE_PARSE_FULL (mx, body, nargs, rest, nopt, kw, inits, alt);
 
       argc = scm_ilength (args);
       if (argc < nreq)
         {
           if (scm_is_true (alt))
             {
-              proc = alt;
+              mx = alt;
               goto loop;
             }
           else
@@ -950,7 +963,7 @@ prepare_boot_closure_env_for_apply (SCM proc, SCM args,
         {
           if (scm_is_true (alt))
             {
-              proc = alt;
+              mx = alt;
               goto loop;
             }
           else
@@ -1048,7 +1061,7 @@ prepare_boot_closure_env_for_apply (SCM proc, SCM args,
           }
         }
 
-      *out_body = BOOT_CLOSURE_BODY (proc);
+      *out_body = body;
       *out_env = env;
     }
 }
diff --git a/libguile/expand.c b/libguile/expand.c
new file mode 100644
index 0000000..80bc48d
--- /dev/null
+++ b/libguile/expand.c
@@ -0,0 +1,1253 @@
+/* Copyright (C) 
1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010
+ * Free Software Foundation, Inc.
+ * 
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 3 of
+ * the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ */
+
+
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#include "libguile/__scm.h"
+#include "libguile/_scm.h"
+#include "libguile/continuations.h"
+#include "libguile/eq.h"
+#include "libguile/list.h"
+#include "libguile/macros.h"
+#include "libguile/expand.h"
+#include "libguile/modules.h"
+#include "libguile/srcprop.h"
+#include "libguile/ports.h"
+#include "libguile/print.h"
+#include "libguile/strings.h"
+#include "libguile/throw.h"
+#include "libguile/validate.h"
+
+
+
+
+
+SCM scm_exp_vtable_vtable;
+static SCM exp_vtables[SCM_NUM_EXPANDED_TYPES];
+static size_t exp_nfields[SCM_NUM_EXPANDED_TYPES];
+static const char* exp_names[SCM_NUM_EXPANDED_TYPES];
+static const char** exp_field_names[SCM_NUM_EXPANDED_TYPES];
+
+
+#define VOID(src) \
+  SCM_MAKE_EXPANDED_VOID(src)
+#define CONST(src, exp) \
+  SCM_MAKE_EXPANDED_CONST(src, exp)
+#define PRIMITIVE_REF_TYPE(src, name) \
+  SCM_MAKE_EXPANDED_PRIMITIVE_REF_TYPE(src, name)
+#define LEXICAL_REF(src, name, gensym) \
+  SCM_MAKE_EXPANDED_LEXICAL_REF(src, name, gensym)
+#define LEXICAL_SET(src, name, gensym, exp) \
+  SCM_MAKE_EXPANDED_LEXICAL_SET(src, name, gensym, exp)
+#define MODULE_REF(src, mod, name, public) \
+  SCM_MAKE_EXPANDED_MODULE_REF(src, mod, name, public)
+#define MODULE_SET(src, mod, name, public, exp) \
+  SCM_MAKE_EXPANDED_MODULE_SET(src, mod, name, public, exp)
+#define TOPLEVEL_REF(src, name) \
+  SCM_MAKE_EXPANDED_TOPLEVEL_REF(src, name)
+#define TOPLEVEL_SET(src, name, exp) \
+  SCM_MAKE_EXPANDED_TOPLEVEL_SET(src, name, exp)
+#define TOPLEVEL_DEFINE(src, name, exp) \
+  SCM_MAKE_EXPANDED_TOPLEVEL_DEFINE(src, name, exp)
+#define CONDITIONAL(src, test, consequent, alternate) \
+  SCM_MAKE_EXPANDED_CONDITIONAL(src, test, consequent, alternate)
+#define APPLICATION(src, proc, exps) \
+  SCM_MAKE_EXPANDED_APPLICATION(src, proc, exps)
+#define SEQUENCE(src, exps) \
+  SCM_MAKE_EXPANDED_SEQUENCE(src, exps)
+#define LAMBDA(src, meta, body) \
+  SCM_MAKE_EXPANDED_LAMBDA(src, meta, body)
+#define LAMBDA_CASE(src, req, opt, rest, kw, inits, gensyms, body, alternate) \
+  SCM_MAKE_EXPANDED_LAMBDA_CASE(src, req, opt, rest, kw, inits, gensyms, body, 
alternate)
+#define LET(src, names, gensyms, vals, body) \
+  SCM_MAKE_EXPANDED_LET(src, names, gensyms, vals, body)
+#define LETREC(src, names, gensyms, vals, body) \
+  SCM_MAKE_EXPANDED_LETREC(src, names, gensyms, vals, body)
+#define DYNLET(src, fluids, vals, body) \
+  SCM_MAKE_EXPANDED_DYNLET(src, fluids, vals, body)
+
+#define CAR(x)   SCM_CAR(x)
+#define CDR(x)   SCM_CDR(x)
+#define CAAR(x)  SCM_CAAR(x)
+#define CADR(x)  SCM_CADR(x)
+#define CDAR(x)  SCM_CDAR(x)
+#define CDDR(x)  SCM_CDDR(x)
+#define CADDR(x) SCM_CADDR(x)
+#define CDDDR(x) SCM_CDDDR(x)
+#define CADDDR(x) SCM_CADDDR(x)
+
+
+static const char s_bad_expression[] = "Bad expression";
+static const char s_expression[] = "Missing or extra expression in";
+static const char s_missing_expression[] = "Missing expression in";
+static const char s_extra_expression[] = "Extra expression in";
+static const char s_empty_combination[] = "Illegal empty combination";
+static const char s_missing_body_expression[] = "Missing body expression in";
+static const char s_mixed_body_forms[] = "Mixed definitions and expressions 
in";
+static const char s_bad_define[] = "Bad define placement";
+static const char s_missing_clauses[] = "Missing clauses";
+static const char s_misplaced_else_clause[] = "Misplaced else clause";
+static const char s_bad_case_clause[] = "Bad case clause";
+static const char s_bad_case_labels[] = "Bad case labels";
+static const char s_duplicate_case_label[] = "Duplicate case label";
+static const char s_bad_cond_clause[] = "Bad cond clause";
+static const char s_missing_recipient[] = "Missing recipient in";
+static const char s_bad_variable[] = "Bad variable";
+static const char s_bad_bindings[] = "Bad bindings";
+static const char s_bad_binding[] = "Bad binding";
+static const char s_duplicate_binding[] = "Duplicate binding";
+static const char s_bad_exit_clause[] = "Bad exit clause";
+static const char s_bad_formals[] = "Bad formals";
+static const char s_bad_formal[] = "Bad formal";
+static const char s_duplicate_formal[] = "Duplicate formal";
+static const char s_splicing[] = "Non-list result for unquote-splicing";
+static const char s_bad_slot_number[] = "Bad slot number";
+
+static void syntax_error (const char* const, const SCM, const SCM) 
SCM_NORETURN;
+
+SCM_SYMBOL (syntax_error_key, "syntax-error");
+
+/* Shortcut macros to simplify syntax error handling. */
+#define ASSERT_SYNTAX(cond, message, form)             \
+  { if (SCM_UNLIKELY (!(cond)))                        \
+      syntax_error (message, form, SCM_UNDEFINED); }
+#define ASSERT_SYNTAX_2(cond, message, form, expr)     \
+  { if (SCM_UNLIKELY (!(cond)))                        \
+      syntax_error (message, form, expr); }
+
+
+
+
+/* Primitive syntax.  */
+
+#define SCM_SYNTAX(STR, CFN)  \
+SCM_SNARF_HERE(static SCM CFN (SCM xorig, SCM env))                     \
+SCM_SNARF_INIT(scm_c_define (STR, scm_i_make_primitive_macro (STR, CFN)))
+
+
+/* True primitive syntax */
+SCM_SYNTAX ("@", expand_at);
+SCM_SYNTAX ("@@", expand_atat);
+SCM_SYNTAX ("begin", expand_begin);
+SCM_SYNTAX ("define", expand_define);
+SCM_SYNTAX ("with-fluids", expand_with_fluids);
+SCM_SYNTAX ("eval-when", expand_eval_when);
+SCM_SYNTAX ("if", expand_if);
+SCM_SYNTAX ("lambda", expand_lambda);
+SCM_SYNTAX ("let", expand_let);
+SCM_SYNTAX ("quote", expand_quote);
+SCM_SYNTAX ("set!", expand_set_x);
+
+/* Convenient syntax during boot, expands to primitive syntax. Replaced after
+   psyntax boots. */
+SCM_SYNTAX ("and", expand_and);
+SCM_SYNTAX ("cond", expand_cond);
+SCM_SYNTAX ("letrec", expand_letrec);
+SCM_SYNTAX ("let*", expand_letstar);
+SCM_SYNTAX ("or", expand_or);
+SCM_SYNTAX ("lambda*", expand_lambda_star);
+SCM_SYNTAX ("case-lambda", expand_case_lambda);
+SCM_SYNTAX ("case-lambda*", expand_case_lambda_star);
+
+
+SCM_GLOBAL_SYMBOL (scm_sym_apply, "apply");
+SCM_GLOBAL_SYMBOL (scm_sym_arrow, "=>");
+SCM_GLOBAL_SYMBOL (scm_sym_at, "@");
+SCM_GLOBAL_SYMBOL (scm_sym_atat, "@@");
+SCM_GLOBAL_SYMBOL (scm_sym_at_call_with_values, "@call-with-values");
+SCM_GLOBAL_SYMBOL (scm_sym_atapply, "@apply");
+SCM_GLOBAL_SYMBOL (scm_sym_atcall_cc, "@call-with-current-continuation");
+SCM_GLOBAL_SYMBOL (scm_sym_begin, "begin");
+SCM_GLOBAL_SYMBOL (scm_sym_case, "case");
+SCM_GLOBAL_SYMBOL (scm_sym_cond, "cond");
+SCM_GLOBAL_SYMBOL (scm_sym_define, "define");
+SCM_GLOBAL_SYMBOL (scm_sym_at_dynamic_wind, "@dynamic-wind");
+SCM_GLOBAL_SYMBOL (scm_sym_with_fluids, "with-fluids");
+SCM_GLOBAL_SYMBOL (scm_sym_else, "else");
+SCM_GLOBAL_SYMBOL (scm_sym_eval_when, "eval-when");
+SCM_GLOBAL_SYMBOL (scm_sym_if, "if");
+SCM_GLOBAL_SYMBOL (scm_sym_lambda, "lambda");
+SCM_GLOBAL_SYMBOL (scm_sym_let, "let");
+SCM_GLOBAL_SYMBOL (scm_sym_letrec, "letrec");
+SCM_GLOBAL_SYMBOL (scm_sym_letstar, "let*");
+SCM_GLOBAL_SYMBOL (scm_sym_or, "or");
+SCM_GLOBAL_SYMBOL (scm_sym_at_prompt, "@prompt");
+SCM_GLOBAL_SYMBOL (scm_sym_quote, "quote");
+SCM_GLOBAL_SYMBOL (scm_sym_set_x, "set!");
+SCM_SYMBOL (sym_lambda_star, "lambda*");
+SCM_SYMBOL (sym_eval, "eval");
+SCM_SYMBOL (sym_load, "load");
+
+SCM_GLOBAL_SYMBOL (scm_sym_unquote, "unquote");
+SCM_GLOBAL_SYMBOL (scm_sym_quasiquote, "quasiquote");
+SCM_GLOBAL_SYMBOL (scm_sym_uq_splicing, "unquote-splicing");
+
+SCM_KEYWORD (kw_allow_other_keys, "allow-other-keys");
+SCM_KEYWORD (kw_optional, "optional");
+SCM_KEYWORD (kw_key, "key");
+SCM_KEYWORD (kw_rest, "rest");
+
+
+
+
+
+/* Signal a syntax error.  We distinguish between the form that caused the
+ * error and the enclosing expression.  The error message will print out as
+ * shown in the following pattern.  The file name and line number are only
+ * given when they can be determined from the erroneous form or from the
+ * enclosing expression.
+ *
+ * <filename>: In procedure memoization:
+ * <filename>: In file <name>, line <nr>: <error-message> in <expression>.  */
+
+static void 
+syntax_error (const char* const msg, const SCM form, const SCM expr)
+{
+  SCM msg_string = scm_from_locale_string (msg);
+  SCM filename = SCM_BOOL_F;
+  SCM linenr = SCM_BOOL_F;
+  const char *format;
+  SCM args;
+
+  if (scm_is_pair (form))
+    {
+      filename = scm_source_property (form, scm_sym_filename);
+      linenr = scm_source_property (form, scm_sym_line);
+    }
+
+  if (scm_is_false (filename) && scm_is_false (linenr) && scm_is_pair (expr))
+    {
+      filename = scm_source_property (expr, scm_sym_filename);
+      linenr = scm_source_property (expr, scm_sym_line);
+    }
+
+  if (!SCM_UNBNDP (expr))
+    {
+      if (scm_is_true (filename))
+       {
+         format = "In file ~S, line ~S: ~A ~S in expression ~S.";
+         args = scm_list_5 (filename, linenr, msg_string, form, expr);
+       }
+      else if (scm_is_true (linenr))
+       {
+         format = "In line ~S: ~A ~S in expression ~S.";
+         args = scm_list_4 (linenr, msg_string, form, expr);
+       }
+      else
+       {
+         format = "~A ~S in expression ~S.";
+         args = scm_list_3 (msg_string, form, expr);
+       }
+    }
+  else
+    {
+      if (scm_is_true (filename))
+       {
+         format = "In file ~S, line ~S: ~A ~S.";
+         args = scm_list_4 (filename, linenr, msg_string, form);
+       }
+      else if (scm_is_true (linenr))
+       {
+         format = "In line ~S: ~A ~S.";
+         args = scm_list_3 (linenr, msg_string, form);
+       }
+      else
+       {
+         format = "~A ~S.";
+         args = scm_list_2 (msg_string, form);
+       }
+    }
+
+  scm_error (syntax_error_key, "memoization", format, args, SCM_BOOL_F);
+}
+
+
+
+
+
+static int
+expand_env_var_is_free (SCM env, SCM x)
+{
+  for (; scm_is_pair (env); env = CDR (env))
+    if (scm_is_eq (x, CAAR (env)))
+      return 0; /* bound */
+  return 1; /* free */
+}
+
+static SCM
+expand_env_ref_macro (SCM env, SCM x)
+{
+  SCM var;
+  if (!expand_env_var_is_free (env, x))
+    return SCM_BOOL_F; /* lexical */
+
+  var = scm_module_variable (scm_current_module (), x);
+  if (scm_is_true (var) && scm_is_true (scm_variable_bound_p (var))
+      && scm_is_true (scm_macro_p (scm_variable_ref (var))))
+    return scm_variable_ref (var);
+  else
+    return SCM_BOOL_F; /* anything else */
+}
+
+static SCM
+expand_env_lexical_gensym (SCM env, SCM name)
+{
+  for (; scm_is_pair (env); env = CDR (env))
+    if (scm_is_eq (name, CAAR (env)))
+      return CDAR (env); /* bound */
+  return SCM_BOOL_F; /* free */
+}
+
+static SCM
+expand_env_extend (SCM env, SCM names, SCM vars)
+{
+  while (scm_is_pair (names))
+    {
+      env = scm_acons (CAR (names), CAR (vars), env);
+      names = CDR (names);
+      vars = CDR (vars);
+    }
+  return env;
+}
+
+static SCM
+expand (SCM exp, SCM env)
+{
+  if (scm_is_pair (exp))
+    {
+      SCM car;
+      scm_t_macro_primitive trans = NULL;
+      SCM macro = SCM_BOOL_F;
+      
+      car = CAR (exp);
+      if (scm_is_symbol (car))
+        macro = expand_env_ref_macro (env, car);
+      
+      if (scm_is_true (macro))
+        trans = scm_i_macro_primitive (macro);
+
+      if (trans)
+        return trans (exp, env);
+      else
+        {
+          SCM arg_exps = SCM_EOL;
+          SCM args = SCM_EOL;
+          SCM proc = CAR (exp);
+          
+          for (arg_exps = CDR (exp); scm_is_pair (arg_exps);
+               arg_exps = CDR (arg_exps))
+            args = scm_cons (expand (CAR (arg_exps), env), args);
+          if (scm_is_null (arg_exps))
+            return APPLICATION (scm_source_properties (exp),
+                                expand (proc, env),
+                                scm_reverse_x (args, SCM_UNDEFINED));
+          else
+            syntax_error ("expected a proper list", exp, SCM_UNDEFINED);
+        }
+    }
+  else if (scm_is_symbol (exp))
+    {
+      SCM gensym = expand_env_lexical_gensym (env, exp);
+      if (scm_is_true (gensym))
+        return LEXICAL_REF (SCM_BOOL_F, exp, gensym);
+      else
+        return TOPLEVEL_REF (SCM_BOOL_F, exp);
+    }
+  else
+    return CONST (SCM_BOOL_F, exp);
+}
+
+static SCM
+expand_exprs (SCM forms, const SCM env)
+{
+  SCM ret = SCM_EOL;
+
+  for (; !scm_is_null (forms); forms = CDR (forms))
+    ret = scm_cons (expand (CAR (forms), env), ret);
+  return scm_reverse_x (ret, SCM_UNDEFINED);
+}
+
+static SCM
+expand_sequence (const SCM forms, const SCM env)
+{
+  ASSERT_SYNTAX (scm_ilength (forms) >= 1, s_bad_expression,
+                 scm_cons (scm_sym_begin, forms));
+  if (scm_is_null (CDR (forms)))
+    return expand (CAR (forms), env);
+  else
+    return SEQUENCE (SCM_BOOL_F, expand_exprs (forms, env));
+}
+
+
+
+
+
+static SCM
+expand_at (SCM expr, SCM env SCM_UNUSED)
+{
+  ASSERT_SYNTAX (scm_ilength (expr) == 3, s_bad_expression, expr);
+  ASSERT_SYNTAX (scm_ilength (CADR (expr)) > 0, s_bad_expression, expr);
+  ASSERT_SYNTAX (scm_is_symbol (CADDR (expr)), s_bad_expression, expr);
+
+  return MODULE_REF (scm_source_properties (expr),
+                     CADR (expr), CADDR (expr), SCM_BOOL_T);
+}
+
+static SCM
+expand_atat (SCM expr, SCM env SCM_UNUSED)
+{
+  ASSERT_SYNTAX (scm_ilength (expr) == 3, s_bad_expression, expr);
+  ASSERT_SYNTAX (scm_ilength (CADR (expr)) > 0, s_bad_expression, expr);
+  ASSERT_SYNTAX (scm_is_symbol (CADDR (expr)), s_bad_expression, expr);
+
+  return MODULE_REF (scm_source_properties (expr),
+                     CADR (expr), CADDR (expr), SCM_BOOL_F);
+}
+
+static SCM
+expand_and (SCM expr, SCM env)
+{
+  const SCM cdr_expr = CDR (expr);
+
+  if (scm_is_null (cdr_expr))
+    return CONST (SCM_BOOL_F, SCM_BOOL_T);
+
+  ASSERT_SYNTAX (scm_is_pair (cdr_expr), s_bad_expression, expr);
+
+  if (scm_is_null (CDR (cdr_expr)))
+    return expand (CAR (cdr_expr), env);
+  else
+    return CONDITIONAL (scm_source_properties (expr),
+                        expand (CAR (cdr_expr), env),
+                        expand_and (cdr_expr, env),
+                        CONST (SCM_BOOL_F, SCM_BOOL_F));
+}
+
+static SCM
+expand_begin (SCM expr, SCM env)
+{
+  const SCM cdr_expr = CDR (expr);
+  ASSERT_SYNTAX (scm_ilength (cdr_expr) >= 1, s_bad_expression, expr);
+  return expand_sequence (cdr_expr, env);
+}
+
+static SCM
+expand_cond_clauses (SCM clause, SCM rest, int elp, int alp, SCM env)
+{
+  SCM test;
+  const long length = scm_ilength (clause);
+  ASSERT_SYNTAX (length >= 1, s_bad_cond_clause, clause);
+
+  test = CAR (clause);
+  if (scm_is_eq (test, scm_sym_else) && elp)
+    {
+      const int last_clause_p = scm_is_null (rest);
+      ASSERT_SYNTAX (length >= 2, s_bad_cond_clause, clause);
+      ASSERT_SYNTAX (last_clause_p, s_misplaced_else_clause, clause);
+      return expand_sequence (CDR (clause), env);
+    }
+
+  if (scm_is_null (rest))
+    rest = VOID (SCM_BOOL_F);
+  else
+    rest = expand_cond_clauses (CAR (rest), CDR (rest), elp, alp, env);
+
+  if (length >= 2
+      && scm_is_eq (CADR (clause), scm_sym_arrow)
+      && alp)
+    {
+      SCM tmp = scm_gensym (scm_from_locale_string ("cond "));
+      SCM new_env = scm_acons (tmp, tmp, env);
+      ASSERT_SYNTAX (length > 2, s_missing_recipient, clause);
+      ASSERT_SYNTAX (length == 3, s_extra_expression, clause);
+      return LET (SCM_BOOL_F,
+                  scm_list_1 (tmp),
+                  scm_list_1 (tmp),
+                  scm_list_1 (expand (test, env)),
+                  CONDITIONAL (SCM_BOOL_F,
+                               LEXICAL_REF (SCM_BOOL_F, tmp, tmp),
+                               APPLICATION (SCM_BOOL_F,
+                                            expand (CADDR (clause), new_env),
+                                            scm_list_1 (LEXICAL_REF 
(SCM_BOOL_F,
+                                                                     tmp, 
tmp))),
+                               rest));
+    }
+  /* FIXME length == 1 case */
+  else
+    return CONDITIONAL (SCM_BOOL_F,
+                        expand (test, env),
+                        expand_sequence (CDR (clause), env),
+                        rest);
+}
+  
+static SCM
+expand_cond (SCM expr, SCM env)
+{
+  const int else_literal_p = expand_env_var_is_free (env, scm_sym_else);
+  const int arrow_literal_p = expand_env_var_is_free (env, scm_sym_arrow);
+  const SCM clauses = CDR (expr);
+
+  ASSERT_SYNTAX (scm_ilength (clauses) >= 0, s_bad_expression, expr);
+  ASSERT_SYNTAX (scm_ilength (clauses) >= 1, s_missing_clauses, expr);
+
+  return expand_cond_clauses (CAR (clauses), CDR (clauses),
+                              else_literal_p, arrow_literal_p, env);
+}
+
+/* lone forward decl */
+static SCM expand_lambda (SCM expr, SCM env);
+
+/* According to Section 5.2.1 of R5RS we first have to make sure that the
+   variable is bound, and then perform the `(set! variable expression)'
+   operation.  However, EXPRESSION _can_ be evaluated before VARIABLE is
+   bound.  This means that EXPRESSION won't necessarily be able to assign
+   values to VARIABLE as in `(define foo (begin (set! foo 1) (+ foo 1)))'.  */
+static SCM
+expand_define (SCM expr, SCM env)
+{
+  const SCM cdr_expr = CDR (expr);
+  SCM body;
+  SCM variable;
+
+  ASSERT_SYNTAX (scm_ilength (cdr_expr) >= 0, s_bad_expression, expr);
+  ASSERT_SYNTAX (scm_ilength (cdr_expr) >= 2, s_missing_expression, expr);
+  ASSERT_SYNTAX (!scm_is_pair (env), s_bad_define, expr);
+
+  body = CDR (cdr_expr);
+  variable = CAR (cdr_expr);
+
+  if (scm_is_pair (variable))
+    {
+      ASSERT_SYNTAX_2 (scm_is_symbol (CAR (variable)), s_bad_variable, 
variable, expr);
+      return TOPLEVEL_DEFINE
+        (scm_source_properties (expr),
+         CAR (variable),
+         expand_lambda (scm_cons (scm_sym_lambda, scm_cons (CDR (variable), 
body)),
+                        env));
+    }
+  ASSERT_SYNTAX_2 (scm_is_symbol (variable), s_bad_variable, variable, expr);
+  ASSERT_SYNTAX (scm_ilength (body) == 1, s_expression, expr);
+  return TOPLEVEL_DEFINE (scm_source_properties (expr), variable,
+                          expand (CAR (body), env));
+}
+
+static SCM
+expand_with_fluids (SCM expr, SCM env)
+{
+  SCM binds, fluids, vals;
+  ASSERT_SYNTAX (scm_ilength (expr) >= 3, s_bad_expression, expr);
+  binds = CADR (expr);
+  ASSERT_SYNTAX_2 (scm_ilength (binds) >= 0, s_bad_bindings, binds, expr);
+  for (fluids = SCM_EOL, vals = SCM_EOL;
+       scm_is_pair (binds);
+       binds = CDR (binds))
+    {
+      SCM binding = CAR (binds);
+      ASSERT_SYNTAX_2 (scm_ilength (CAR (binds)) == 2, s_bad_binding,
+                       binding, expr);
+      fluids = scm_cons (expand (CAR (binding), env), fluids);
+      vals = scm_cons (expand (CADR (binding), env), vals);
+    }
+
+  return DYNLET (scm_source_properties (expr),
+                 scm_reverse_x (fluids, SCM_UNDEFINED),
+                 scm_reverse_x (vals, SCM_UNDEFINED),
+                 expand_sequence (CDDR (expr), env));
+}
+
+static SCM
+expand_eval_when (SCM expr, SCM env)
+{
+  ASSERT_SYNTAX (scm_ilength (expr) >= 3, s_bad_expression, expr);
+  ASSERT_SYNTAX (scm_ilength (CADR (expr)) > 0, s_bad_expression, expr);
+
+  if (scm_is_true (scm_memq (sym_eval, CADR (expr)))
+      || scm_is_true (scm_memq (sym_load, CADR (expr))))
+    return expand_sequence (CDDR (expr), env);
+  else
+    return VOID (scm_source_properties (expr));
+}
+
+static SCM
+expand_if (SCM expr, SCM env SCM_UNUSED)
+{
+  const SCM cdr_expr = CDR (expr);
+  const long length = scm_ilength (cdr_expr);
+  ASSERT_SYNTAX (length == 2 || length == 3, s_expression, expr);
+  return CONDITIONAL (scm_source_properties (expr),
+                      expand (CADR (expr), env),
+                      expand (CADDR (expr), env),
+                      ((length == 3)
+                       ? expand (CADDDR (expr), env)
+                       : VOID (SCM_BOOL_F)));
+}
+
+/* A helper function for expand_lambda to support checking for duplicate
+ * formal arguments: Return true if OBJ is `eq?' to one of the elements of
+ * LIST or to the CDR of the last cons.  Therefore, LIST may have any of the
+ * forms that a formal argument can have:
+ *   <rest>, (<arg1> ...), (<arg1> ...  .  <rest>) */
+static int
+c_improper_memq (SCM obj, SCM list)
+{
+  for (; scm_is_pair (list); list = CDR (list))
+    {
+      if (scm_is_eq (CAR (list), obj))
+        return 1;
+    }
+  return scm_is_eq (list, obj);
+}
+
+static SCM
+expand_lambda_case (SCM clause, SCM alternate, SCM env)
+{
+  SCM formals;
+  SCM rest;
+  SCM req = SCM_EOL;
+  SCM vars = SCM_EOL;
+  SCM body;
+  int nreq = 0;
+
+  ASSERT_SYNTAX (scm_is_pair (clause) && scm_is_pair (CDR (clause)),
+                 s_bad_expression, scm_cons (scm_sym_lambda, clause));
+
+  /* Before iterating the list of formal arguments, make sure the formals
+   * actually are given as either a symbol or a non-cyclic list.  */
+  formals = CAR (clause);
+  if (scm_is_pair (formals))
+    {
+      /* Dirk:FIXME:: We should check for a cyclic list of formals, and if
+       * detected, report a 'Bad formals' error.  */
+    }
+  else
+    ASSERT_SYNTAX_2 (scm_is_symbol (formals) || scm_is_null (formals),
+                     s_bad_formals, formals, scm_cons (scm_sym_lambda, 
clause));
+
+  /* Now iterate the list of formal arguments to check if all formals are
+   * symbols, and that there are no duplicates.  */
+  while (scm_is_pair (formals))
+    {
+      const SCM formal = CAR (formals);
+      formals = CDR (formals);
+      ASSERT_SYNTAX_2 (scm_is_symbol (formal), s_bad_formal, formal,
+                       scm_cons (scm_sym_lambda, clause));
+      ASSERT_SYNTAX_2 (!c_improper_memq (formal, formals), s_duplicate_formal,
+                       formal, scm_cons (scm_sym_lambda, clause));
+      nreq++;
+      req = scm_cons (formal, req);
+      vars = scm_cons (scm_gensym (SCM_UNDEFINED), vars);
+      env = scm_acons (formal, CAR (vars), env);
+    }
+
+  ASSERT_SYNTAX_2 (scm_is_null (formals) || scm_is_symbol (formals),
+                   s_bad_formal, formals, scm_cons (scm_sym_lambda, clause));
+  if (scm_is_symbol (formals))
+    {
+      rest = formals;
+      vars = scm_cons (scm_gensym (SCM_UNDEFINED), vars);
+      env = scm_acons (rest, CAR (vars), env);
+    }
+  else
+    rest = SCM_BOOL_F;
+  
+  body = expand_sequence (CDR (clause), env);
+  req = scm_reverse_x (req, SCM_UNDEFINED);
+  vars = scm_reverse_x (vars, SCM_UNDEFINED);
+
+  if (scm_is_true (alternate) && !(SCM_EXPANDED_P (alternate) && 
SCM_EXPANDED_TYPE (alternate) == SCM_EXPANDED_LAMBDA_CASE))
+    abort ();
+    
+  return LAMBDA_CASE (SCM_BOOL_F, req, SCM_BOOL_F, rest, SCM_BOOL_F,
+                      SCM_EOL, vars, body, alternate);
+}
+
+static SCM
+expand_lambda (SCM expr, SCM env)
+{
+  return LAMBDA (scm_source_properties (expr),
+                 SCM_EOL,
+                 expand_lambda_case (CDR (expr), SCM_BOOL_F, env));
+}
+
+static SCM
+expand_lambda_star_case (SCM clause, SCM alternate, SCM env)
+{
+  SCM req, opt, kw, allow_other_keys, rest, formals, vars, body, tmp;
+  SCM inits, kw_indices;
+  int nreq, nopt;
+
+  const long length = scm_ilength (clause);
+  ASSERT_SYNTAX (length >= 1, s_bad_expression,
+                 scm_cons (sym_lambda_star, clause));
+  ASSERT_SYNTAX (length >= 2, s_missing_expression,
+                 scm_cons (sym_lambda_star, clause));
+
+  formals = CAR (clause);
+  body = CDR (clause);
+
+  nreq = nopt = 0;
+  req = opt = kw = SCM_EOL;
+  rest = allow_other_keys = SCM_BOOL_F;
+
+  while (scm_is_pair (formals) && scm_is_symbol (CAR (formals)))
+    {
+      nreq++;
+      req = scm_cons (CAR (formals), req);
+      formals = scm_cdr (formals);
+    }
+
+  if (scm_is_pair (formals) && scm_is_eq (CAR (formals), kw_optional))
+    {
+      formals = CDR (formals);
+      while (scm_is_pair (formals)
+             && (scm_is_symbol (CAR (formals)) || scm_is_pair (CAR (formals))))
+        {
+          nopt++;
+          opt = scm_cons (CAR (formals), opt);
+          formals = scm_cdr (formals);
+        }
+    }
+  
+  if (scm_is_pair (formals) && scm_is_eq (CAR (formals), kw_key))
+    {
+      formals = CDR (formals);
+      while (scm_is_pair (formals)
+             && (scm_is_symbol (CAR (formals)) || scm_is_pair (CAR (formals))))
+        {
+          kw = scm_cons (CAR (formals), kw);
+          formals = scm_cdr (formals);
+        }
+    }
+  
+  if (scm_is_pair (formals) && scm_is_eq (CAR (formals), kw_allow_other_keys))
+    {
+      formals = CDR (formals);
+      allow_other_keys = SCM_BOOL_T;
+    }
+  
+  if (scm_is_pair (formals) && scm_is_eq (CAR (formals), kw_rest))
+    {
+      ASSERT_SYNTAX (scm_ilength (formals) == 2, s_bad_formals,
+                     CAR (clause));
+      rest = CADR (formals);
+    }
+  else if (scm_is_symbol (formals))
+    rest = formals;
+  else
+    {
+      ASSERT_SYNTAX (scm_is_null (formals), s_bad_formals, CAR (clause));
+      rest = SCM_BOOL_F;
+    }
+  
+  /* Now, iterate through them a second time, building up an expansion-time
+     environment, checking, expanding and canonicalizing the opt/kw init forms,
+     and eventually memoizing the body as well. Note that the rest argument, if
+     any, is expanded before keyword args, thus necessitating the second
+     pass.
+
+     Also note that the specific environment during expansion of init
+     expressions here needs to coincide with the environment when psyntax
+     expands. A lot of effort for something that is only used in the bootstrap
+     expandr, you say? Yes. Yes it is.
+  */
+
+  vars = SCM_EOL;
+  req = scm_reverse_x (req, SCM_EOL);
+  for (tmp = req; scm_is_pair (tmp); tmp = scm_cdr (tmp))
+    {
+      vars = scm_cons (scm_gensym (SCM_UNDEFINED), vars);
+      env = scm_acons (CAR (tmp), CAR (vars), env);
+    }
+  
+  /* Build up opt inits and env */
+  inits = SCM_EOL;
+  opt = scm_reverse_x (opt, SCM_EOL);
+  for (tmp = opt; scm_is_pair (tmp); tmp = scm_cdr (tmp))
+    {
+      SCM x = CAR (tmp);
+      vars = scm_cons (scm_gensym (SCM_UNDEFINED), vars);
+      env = scm_acons (x, CAR (vars), env);
+      if (scm_is_symbol (x))
+        inits = scm_cons (CONST (SCM_BOOL_F, SCM_BOOL_F), inits);
+      else
+        {
+          ASSERT_SYNTAX (scm_ilength (x) == 2 && scm_is_symbol (CAR (x)),
+                         s_bad_formals, CAR (clause));
+          inits = scm_cons (expand (CADR (x), env), inits);
+        }
+      env = scm_acons (scm_is_symbol (x) ? x : CAR (x), CAR (vars), env);
+    }
+  if (scm_is_null (opt))
+    opt = SCM_BOOL_F;
+      
+  /* Process rest before keyword args */
+  if (scm_is_true (rest))
+    {
+      vars = scm_cons (scm_gensym (SCM_UNDEFINED), vars);
+      env = scm_acons (rest, CAR (vars), env);
+    }
+
+  /* Build up kw inits, env, and kw-indices alist */
+  if (scm_is_null (kw))
+    kw = SCM_BOOL_F;
+  else
+    {
+      int idx = nreq + nopt + (scm_is_true (rest) ? 1 : 0);
+
+      kw_indices = SCM_EOL;
+      kw = scm_reverse_x (kw, SCM_UNDEFINED);
+      for (tmp = kw; scm_is_pair (tmp); tmp = scm_cdr (tmp))
+        {
+          SCM x, sym, k, init;
+          x = CAR (tmp);
+          if (scm_is_symbol (x))
+            {
+              sym = x;
+              init = SCM_BOOL_F;
+              k = scm_symbol_to_keyword (sym);
+            }
+          else if (scm_ilength (x) == 2 && scm_is_symbol (CAR (x)))
+            {
+              sym = CAR (x);
+              init = CADR (x);
+              k = scm_symbol_to_keyword (sym);
+            }
+          else if (scm_ilength (x) == 3 && scm_is_symbol (CAR (x))
+                   && scm_is_keyword (CADDR (x)))
+            {
+              sym = CAR (x);
+              init = CADR (x);
+              k = CADDR (x);
+            }
+          else
+            syntax_error (s_bad_formals, CAR (clause), SCM_UNDEFINED);
+
+          kw_indices = scm_acons (k, SCM_I_MAKINUM (idx++), kw_indices);
+          inits = scm_cons (expand (init, env), inits);
+          vars = scm_cons (scm_gensym (SCM_UNDEFINED), vars);
+          env = scm_acons (sym, CAR (vars), env);
+        }
+      kw_indices = scm_reverse_x (kw_indices, SCM_UNDEFINED);
+      kw = scm_cons (allow_other_keys, kw_indices);
+    }
+
+  /* We should check for no duplicates, but given that psyntax does this
+     already, we can punt on it here... */
+
+  vars = scm_reverse_x (vars, SCM_UNDEFINED);
+  inits = scm_reverse_x (inits, SCM_UNDEFINED);
+  body = expand_sequence (body, env);
+
+  return LAMBDA_CASE (SCM_BOOL_F, req, opt, rest, kw, inits, vars, body,
+                      alternate);
+}
+
+static SCM
+expand_lambda_star (SCM expr, SCM env)
+{
+  return LAMBDA (scm_source_properties (expr),
+                 SCM_EOL,
+                 expand_lambda_star_case (CDR (expr), SCM_BOOL_F, env));
+}
+
+static SCM
+expand_case_lambda_clauses (SCM expr, SCM rest, SCM env)
+{
+  SCM alt;
+
+  if (scm_is_pair (rest))
+    alt = expand_case_lambda_clauses (CAR (rest), CDR (rest), env);
+  else
+    alt = SCM_BOOL_F;
+  
+  return expand_lambda_case (expr, alt, env);
+}
+
+static SCM
+expand_case_lambda (SCM expr, SCM env)
+{
+  ASSERT_SYNTAX (scm_is_pair (CDR (expr)), s_missing_expression, expr);
+
+  return LAMBDA (scm_source_properties (expr),
+                 SCM_EOL,
+                 expand_case_lambda_clauses (CADR (expr), CDDR (expr), env));
+}
+
+static SCM
+expand_case_lambda_star_clauses (SCM expr, SCM rest, SCM env)
+{
+  SCM alt;
+
+  if (scm_is_pair (rest))
+    alt = expand_case_lambda_star_clauses (CAR (rest), CDR (rest), env);
+  else
+    alt = SCM_BOOL_F;
+  
+  return expand_lambda_star_case (expr, alt, env);
+}
+
+static SCM
+expand_case_lambda_star (SCM expr, SCM env)
+{
+  ASSERT_SYNTAX (scm_is_pair (CDR (expr)), s_missing_expression, expr);
+
+  return LAMBDA (scm_source_properties (expr),
+                 SCM_EOL,
+                 expand_case_lambda_star_clauses (CADR (expr), CDDR (expr), 
env));
+}
+
+/* Check if the format of the bindings is ((<symbol> <init-form>) ...).  */
+static void
+check_bindings (const SCM bindings, const SCM expr)
+{
+  SCM binding_idx;
+
+  ASSERT_SYNTAX_2 (scm_ilength (bindings) >= 0,
+                   s_bad_bindings, bindings, expr);
+
+  binding_idx = bindings;
+  for (; !scm_is_null (binding_idx); binding_idx = CDR (binding_idx))
+    {
+      SCM name;         /* const */
+
+      const SCM binding = CAR (binding_idx);
+      ASSERT_SYNTAX_2 (scm_ilength (binding) == 2,
+                       s_bad_binding, binding, expr);
+
+      name = CAR (binding);
+      ASSERT_SYNTAX_2 (scm_is_symbol (name), s_bad_variable, name, expr);
+    }
+}
+
+/* The bindings, which must have the format ((v1 i1) (v2 i2) ... (vn in)), are
+ * transformed to the lists (vn .. v2 v1) and (i1 i2 ... in). If a duplicate
+ * variable name is detected, an error is signalled. */
+static void
+transform_bindings (const SCM bindings, const SCM expr,
+                    SCM *const names, SCM *const vars, SCM *const initptr)
+{
+  SCM rnames = SCM_EOL;
+  SCM rvars = SCM_EOL;
+  SCM rinits = SCM_EOL;
+  SCM binding_idx = bindings;
+  for (; !scm_is_null (binding_idx); binding_idx = CDR (binding_idx))
+    {
+      const SCM binding = CAR (binding_idx);
+      const SCM CDR_binding = CDR (binding);
+      const SCM name = CAR (binding);
+      ASSERT_SYNTAX_2 (scm_is_false (scm_c_memq (name, rnames)),
+                       s_duplicate_binding, name, expr);
+      rnames = scm_cons (name, rnames);
+      rvars = scm_cons (scm_gensym (SCM_UNDEFINED), rvars);
+      rinits = scm_cons (CAR (CDR_binding), rinits);
+    }
+  *names = scm_reverse_x (rnames, SCM_UNDEFINED);
+  *vars = scm_reverse_x (rvars, SCM_UNDEFINED);
+  *initptr = scm_reverse_x (rinits, SCM_UNDEFINED);
+}
+
+/* FIXME: Remove named let in this boot expander. */
+static SCM
+expand_named_let (const SCM expr, SCM env)
+{
+  SCM var_names, var_syms, inits;
+  SCM inner_env;
+  SCM name_sym;
+
+  const SCM cdr_expr = CDR (expr);
+  const SCM name = CAR (cdr_expr);
+  const SCM cddr_expr = CDR (cdr_expr);
+  const SCM bindings = CAR (cddr_expr);
+  check_bindings (bindings, expr);
+
+  transform_bindings (bindings, expr, &var_names, &var_syms, &inits);
+  name_sym = scm_gensym (SCM_UNDEFINED);
+  inner_env = scm_acons (name, name_sym, env);
+  inner_env = expand_env_extend (inner_env, var_names, var_syms);
+
+  return LETREC
+    (scm_source_properties (expr),
+     scm_list_1 (name), scm_list_1 (name_sym),
+     scm_list_1 (LAMBDA (SCM_BOOL_F,
+                         SCM_EOL,
+                         LAMBDA_CASE (SCM_BOOL_F, var_names, SCM_BOOL_F, 
SCM_BOOL_F,
+                                      SCM_BOOL_F, SCM_BOOL_F, var_syms,
+                                      expand_sequence (CDDDR (expr), 
inner_env),
+                                      SCM_BOOL_F))),
+     APPLICATION (SCM_BOOL_F,
+                  LEXICAL_REF (SCM_BOOL_F, name, name_sym),
+                  expand_exprs (inits, env)));
+}
+
+static SCM
+expand_let (SCM expr, SCM env)
+{
+  SCM bindings;
+
+  const SCM cdr_expr = CDR (expr);
+  const long length = scm_ilength (cdr_expr);
+  ASSERT_SYNTAX (length >= 0, s_bad_expression, expr);
+  ASSERT_SYNTAX (length >= 2, s_missing_expression, expr);
+
+  bindings = CAR (cdr_expr);
+  if (scm_is_symbol (bindings))
+    {
+      ASSERT_SYNTAX (length >= 3, s_missing_expression, expr);
+      return expand_named_let (expr, env);
+    }
+
+  check_bindings (bindings, expr);
+  if (scm_is_null (bindings))
+    return expand_sequence (CDDR (expr), env);
+  else
+    {
+      SCM var_names, var_syms, inits;
+      transform_bindings (bindings, expr, &var_names, &var_syms, &inits);
+      return LET (SCM_BOOL_F,
+                  var_names, var_syms, expand_exprs (inits, env),
+                  expand_sequence (CDDR (expr),
+                                   expand_env_extend (env, var_names,
+                                                      var_syms)));
+    }
+}
+
+static SCM
+expand_letrec (SCM expr, SCM env)
+{
+  SCM bindings;
+
+  const SCM cdr_expr = CDR (expr);
+  const long length = scm_ilength (cdr_expr);
+  ASSERT_SYNTAX (length >= 0, s_bad_expression, expr);
+  ASSERT_SYNTAX (length >= 2, s_missing_expression, expr);
+
+  bindings = CAR (cdr_expr);
+  check_bindings (bindings, expr);
+  if (scm_is_null (bindings))
+    return expand_sequence (CDDR (expr), env);
+  else
+    {
+      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,
+                     var_names, var_syms, expand_exprs (inits, env),
+                     expand_sequence (CDDR (expr), env));
+    }
+}
+
+static SCM
+expand_letstar_clause (SCM bindings, SCM body, SCM env SCM_UNUSED)
+{
+  if (scm_is_null (bindings))
+    return expand_sequence (body, env);
+  else
+    {
+      SCM bind, name, sym, init;
+
+      ASSERT_SYNTAX (scm_is_pair (bindings), s_bad_expression, bindings);
+      bind = CAR (bindings);
+      ASSERT_SYNTAX (scm_ilength (bind) == 2, s_bad_binding, bind);
+      name = CAR (bind);
+      sym = scm_gensym (SCM_UNDEFINED);
+      init = CADR (bind);
+      
+      return LET (SCM_BOOL_F, scm_list_1 (name), scm_list_1 (sym),
+                  scm_list_1 (expand (init, env)),
+                  expand_letstar_clause (CDR (bindings), body,
+                                         scm_acons (name, sym, env)));
+    }
+}
+
+static SCM
+expand_letstar (SCM expr, SCM env SCM_UNUSED)
+{
+  const SCM cdr_expr = CDR (expr);
+  ASSERT_SYNTAX (scm_ilength (cdr_expr) >= 0, s_bad_expression, expr);
+  ASSERT_SYNTAX (scm_ilength (cdr_expr) >= 2, s_missing_expression, expr);
+
+  return expand_letstar_clause (CADR (expr), CDDR (expr), env);
+}
+
+static SCM
+expand_or (SCM expr, SCM env SCM_UNUSED)
+{
+  SCM tail = CDR (expr);
+  const long length = scm_ilength (tail);
+
+  ASSERT_SYNTAX (length >= 0, s_bad_expression, expr);
+
+  if (scm_is_null (CDR (expr)))
+    return CONST (SCM_BOOL_F, SCM_BOOL_F);
+  else
+    {
+      SCM tmp = scm_gensym (SCM_UNDEFINED);
+      return LET (SCM_BOOL_F,
+                  scm_list_1 (tmp), scm_list_1 (tmp),
+                  scm_list_1 (expand (CADR (expr), env)),
+                  CONDITIONAL (SCM_BOOL_F,
+                               LEXICAL_REF (SCM_BOOL_F, tmp, tmp),
+                               LEXICAL_REF (SCM_BOOL_F, tmp, tmp),
+                               expand_or (CDR (expr),
+                                          scm_acons (tmp, tmp, env))));
+    }
+}
+
+static SCM
+expand_quote (SCM expr, SCM env SCM_UNUSED)
+{
+  SCM quotee;
+
+  const SCM cdr_expr = CDR (expr);
+  ASSERT_SYNTAX (scm_ilength (cdr_expr) >= 0, s_bad_expression, expr);
+  ASSERT_SYNTAX (scm_ilength (cdr_expr) == 1, s_expression, expr);
+  quotee = CAR (cdr_expr);
+  return CONST (scm_source_properties (expr), quotee);
+}
+
+static SCM
+expand_set_x (SCM expr, SCM env)
+{
+  SCM variable;
+  SCM vmem;
+
+  const SCM cdr_expr = CDR (expr);
+  ASSERT_SYNTAX (scm_ilength (cdr_expr) >= 0, s_bad_expression, expr);
+  ASSERT_SYNTAX (scm_ilength (cdr_expr) == 2, s_expression, expr);
+  variable = CAR (cdr_expr);
+  vmem = expand (variable, env);
+  
+  switch (SCM_EXPANDED_TYPE (vmem))
+    {
+    case SCM_EXPANDED_LEXICAL_REF:
+      return LEXICAL_SET (scm_source_properties (expr),
+                          SCM_EXPANDED_REF (vmem, LEXICAL_REF, NAME),
+                          SCM_EXPANDED_REF (vmem, LEXICAL_REF, GENSYM),
+                          expand (CADDR (expr), env));
+    case SCM_EXPANDED_TOPLEVEL_REF:
+      return TOPLEVEL_SET (scm_source_properties (expr),
+                           SCM_EXPANDED_REF (vmem, TOPLEVEL_REF, NAME),
+                           expand (CADDR (expr), env));
+    case SCM_EXPANDED_MODULE_REF:
+      return MODULE_SET (scm_source_properties (expr),
+                         SCM_EXPANDED_REF (vmem, MODULE_REF, MOD),
+                         SCM_EXPANDED_REF (vmem, MODULE_REF, NAME),
+                         SCM_EXPANDED_REF (vmem, MODULE_REF, PUBLIC),
+                         expand (CADDR (expr), env));
+    default:
+      syntax_error (s_bad_variable, variable, expr);
+    }
+}
+
+
+
+
+SCM_DEFINE (scm_macroexpand, "macroexpand*", 1, 0, 0, 
+            (SCM exp),
+           "Expand the expression @var{exp}.")
+#define FUNC_NAME s_scm_macroexpand
+{
+  return expand (exp, scm_current_module ());
+}
+#undef FUNC_NAME
+
+
+ 
+
+#define DEFINE_NAMES(type)                                              \
+  {                                                                     \
+    static const char *fields[] = SCM_EXPANDED_##type##_FIELD_NAMES;    \
+    exp_field_names[SCM_EXPANDED_##type] = fields;                      \
+    exp_names[SCM_EXPANDED_##type] = SCM_EXPANDED_##type##_TYPE_NAME;   \
+    exp_nfields[SCM_EXPANDED_##type] = SCM_NUM_EXPANDED_##type##_FIELDS; \
+  }
+
+static SCM
+make_exp_vtable (size_t n)
+{
+  SCM layout, printer, name, code, fields;
+  
+  layout = scm_string_to_symbol
+    (scm_string_append (scm_make_list (scm_from_size_t (exp_nfields[n]),
+                                       scm_from_locale_string ("pw"))));
+  printer = SCM_BOOL_F;
+  name = scm_from_locale_symbol (exp_names[n]);
+  code = scm_from_size_t (n);
+  fields = SCM_EOL;
+  {
+    size_t m = exp_nfields[n];
+    while (m--)
+      fields = scm_cons (scm_from_locale_symbol (exp_field_names[n][m]), 
fields);
+  }
+
+  return scm_c_make_struct (scm_exp_vtable_vtable, 0, 5,
+                            SCM_UNPACK (layout), SCM_UNPACK (printer), 
SCM_UNPACK (name),
+                            SCM_UNPACK (code), SCM_UNPACK (fields));
+}
+
+void
+scm_init_expand ()
+{
+  size_t n;
+  SCM exp_vtable_list = SCM_EOL;
+
+  DEFINE_NAMES (VOID);
+  DEFINE_NAMES (CONST);
+  DEFINE_NAMES (PRIMITIVE_REF);
+  DEFINE_NAMES (LEXICAL_REF);
+  DEFINE_NAMES (LEXICAL_SET);
+  DEFINE_NAMES (MODULE_REF);
+  DEFINE_NAMES (MODULE_SET);
+  DEFINE_NAMES (TOPLEVEL_REF);
+  DEFINE_NAMES (TOPLEVEL_SET);
+  DEFINE_NAMES (TOPLEVEL_DEFINE);
+  DEFINE_NAMES (CONDITIONAL);
+  DEFINE_NAMES (APPLICATION);
+  DEFINE_NAMES (SEQUENCE);
+  DEFINE_NAMES (LAMBDA);
+  DEFINE_NAMES (LAMBDA_CASE);
+  DEFINE_NAMES (LET);
+  DEFINE_NAMES (LETREC);
+  DEFINE_NAMES (DYNLET);
+
+  scm_exp_vtable_vtable =
+    scm_make_vtable (scm_from_locale_string (SCM_VTABLE_BASE_LAYOUT "pwuwpw"),
+                     SCM_BOOL_F);
+
+  for (n = 0; n < SCM_NUM_EXPANDED_TYPES; n++)
+    exp_vtables[n] = make_exp_vtable (n);
+  
+  /* Now walk back down, consing in reverse. */
+  while (n--)
+    exp_vtable_list = scm_cons (exp_vtables[n], exp_vtable_list);
+
+  scm_c_define ("%expanded-vtables", scm_vector (exp_vtable_list));
+  
+#include "libguile/expand.x"
+}
+
+/*
+  Local Variables:
+  c-file-style: "gnu"
+  End:
+*/
diff --git a/libguile/expand.h b/libguile/expand.h
new file mode 100644
index 0000000..32b978b
--- /dev/null
+++ b/libguile/expand.h
@@ -0,0 +1,346 @@
+/* classes: h_files */
+
+#ifndef SCM_EXPAND_H
+#define SCM_EXPAND_H
+
+/* Copyright (C) 2010
+ * Free Software Foundation, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 3 of
+ * the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ */
+
+
+
+#include "libguile/__scm.h"
+
+
+
+
+#ifdef BUILDING_LIBGUILE
+
+/* All private for now. Ask if you want to use this. Surely this should be
+   auto-generated by something; for now I wrangle it with keyboard macros. */
+
+typedef enum
+  {
+    SCM_EXPANDED_VOID,
+    SCM_EXPANDED_CONST,
+    SCM_EXPANDED_PRIMITIVE_REF,
+    SCM_EXPANDED_LEXICAL_REF,
+    SCM_EXPANDED_LEXICAL_SET,
+    SCM_EXPANDED_MODULE_REF,
+    SCM_EXPANDED_MODULE_SET,
+    SCM_EXPANDED_TOPLEVEL_REF,
+    SCM_EXPANDED_TOPLEVEL_SET,
+    SCM_EXPANDED_TOPLEVEL_DEFINE,
+    SCM_EXPANDED_CONDITIONAL,
+    SCM_EXPANDED_APPLICATION,
+    SCM_EXPANDED_SEQUENCE,
+    SCM_EXPANDED_LAMBDA,
+    SCM_EXPANDED_LAMBDA_CASE,
+    SCM_EXPANDED_LET,
+    SCM_EXPANDED_LETREC,
+    SCM_EXPANDED_DYNLET,
+    SCM_NUM_EXPANDED_TYPES,
+  } scm_t_expanded_type;
+
+
+
+
+
+/* {Expanded Source}
+ */
+
+SCM_INTERNAL SCM scm_exp_vtable_vtable;
+
+enum
+  {
+    SCM_EXPANDED_TYPE_NAME = scm_vtable_offset_user,
+    SCM_EXPANDED_TYPE_CODE,
+    SCM_EXPANDED_TYPE_FIELDS,
+  };
+
+#define SCM_EXPANDED_P(x) \
+  (SCM_STRUCTP (x) && (SCM_STRUCT_VTABLE (SCM_STRUCT_VTABLE (x)) == 
scm_exp_vtable_vtable))
+#define SCM_EXPANDED_REF(x,type,field) \
+  (scm_struct_ref (x, SCM_I_MAKINUM (SCM_EXPANDED_##type##_##field)))
+#define SCM_EXPANDED_TYPE(x) \
+  SCM_STRUCT_DATA_REF (SCM_STRUCT_VTABLE (x), SCM_EXPANDED_TYPE_CODE)
+
+
+
+
+
+#define SCM_EXPANDED_VOID_TYPE_NAME "void"
+#define SCM_EXPANDED_VOID_FIELD_NAMES \
+  { "src" }  
+enum
+  {
+    SCM_EXPANDED_VOID_SRC,
+    SCM_NUM_EXPANDED_VOID_FIELDS,
+  };
+#define SCM_MAKE_EXPANDED_VOID(src) \
+  scm_c_make_struct (exp_vtables[SCM_EXPANDED_VOID], 0, 
SCM_NUM_EXPANDED_VOID_FIELDS, SCM_UNPACK (src))
+
+#define SCM_EXPANDED_CONST_TYPE_NAME "const"
+#define SCM_EXPANDED_CONST_FIELD_NAMES          \
+  { "src", "exp", }
+enum
+  {
+    SCM_EXPANDED_CONST_SRC,
+    SCM_EXPANDED_CONST_EXP,
+    SCM_NUM_EXPANDED_CONST_FIELDS,
+  };
+#define SCM_MAKE_EXPANDED_CONST(src, exp) \
+  scm_c_make_struct (exp_vtables[SCM_EXPANDED_CONST], 0, 
SCM_NUM_EXPANDED_CONST_FIELDS, SCM_UNPACK (src), SCM_UNPACK (exp))
+
+#define SCM_EXPANDED_PRIMITIVE_REF_TYPE_NAME "primitive-ref"
+#define SCM_EXPANDED_PRIMITIVE_REF_FIELD_NAMES  \
+  { "src", "name", }
+enum
+  {
+    SCM_EXPANDED_PRIMITIVE_REF_SRC,
+    SCM_EXPANDED_PRIMITIVE_REF_NAME,
+    SCM_NUM_EXPANDED_PRIMITIVE_REF_FIELDS,
+  };
+#define SCM_MAKE_EXPANDED_PRIMITIVE_REF(src, name) \
+  scm_c_make_struct (exp_vtables[SCM_EXPANDED_PRIMITIVE_REF], 0, 
SCM_NUM_EXPANDED_PRIMITIVE_REF_FIELDS, SCM_UNPACK (src), SCM_UNPACK (name))
+
+#define SCM_EXPANDED_LEXICAL_REF_TYPE_NAME "lexical-ref"
+#define SCM_EXPANDED_LEXICAL_REF_FIELD_NAMES    \
+  { "src", "name", "gensym", }
+enum
+  {
+    SCM_EXPANDED_LEXICAL_REF_SRC,
+    SCM_EXPANDED_LEXICAL_REF_NAME,
+    SCM_EXPANDED_LEXICAL_REF_GENSYM,
+    SCM_NUM_EXPANDED_LEXICAL_REF_FIELDS,
+  };
+#define SCM_MAKE_EXPANDED_LEXICAL_REF(src, name, gensym) \
+  scm_c_make_struct (exp_vtables[SCM_EXPANDED_LEXICAL_REF], 0, 
SCM_NUM_EXPANDED_LEXICAL_REF_FIELDS, SCM_UNPACK (src), SCM_UNPACK (name), 
SCM_UNPACK (gensym))
+
+#define SCM_EXPANDED_LEXICAL_SET_TYPE_NAME "lexical-set"
+#define SCM_EXPANDED_LEXICAL_SET_FIELD_NAMES    \
+  { "src", "name", "gensym", "exp", }
+enum
+  {
+    SCM_EXPANDED_LEXICAL_SET_SRC,
+    SCM_EXPANDED_LEXICAL_SET_NAME,
+    SCM_EXPANDED_LEXICAL_SET_GENSYM,
+    SCM_EXPANDED_LEXICAL_SET_EXP,
+    SCM_NUM_EXPANDED_LEXICAL_SET_FIELDS,
+  };
+#define SCM_MAKE_EXPANDED_LEXICAL_SET(src, name, gensym, exp) \
+  scm_c_make_struct (exp_vtables[SCM_EXPANDED_LEXICAL_SET], 0, 
SCM_NUM_EXPANDED_LEXICAL_SET_FIELDS, SCM_UNPACK (src), SCM_UNPACK (name), 
SCM_UNPACK (gensym), SCM_UNPACK (exp))
+
+#define SCM_EXPANDED_MODULE_REF_TYPE_NAME "module-ref"
+#define SCM_EXPANDED_MODULE_REF_FIELD_NAMES     \
+  { "src", "mod", "name", "public?", }
+enum
+  {
+    SCM_EXPANDED_MODULE_REF_SRC,
+    SCM_EXPANDED_MODULE_REF_MOD,
+    SCM_EXPANDED_MODULE_REF_NAME,
+    SCM_EXPANDED_MODULE_REF_PUBLIC,
+    SCM_NUM_EXPANDED_MODULE_REF_FIELDS,
+  };
+#define SCM_MAKE_EXPANDED_MODULE_REF(src, mod, name, public) \
+  scm_c_make_struct (exp_vtables[SCM_EXPANDED_MODULE_REF], 0, 
SCM_NUM_EXPANDED_MODULE_REF_FIELDS, SCM_UNPACK (src), SCM_UNPACK (mod), 
SCM_UNPACK (name), SCM_UNPACK (public))
+
+#define SCM_EXPANDED_MODULE_SET_TYPE_NAME "module-set"
+#define SCM_EXPANDED_MODULE_SET_FIELD_NAMES     \
+  { "src", "mod", "name", "public?", "exp", }
+enum
+  {
+    SCM_EXPANDED_MODULE_SET_SRC,
+    SCM_EXPANDED_MODULE_SET_MOD,
+    SCM_EXPANDED_MODULE_SET_NAME,
+    SCM_EXPANDED_MODULE_SET_PUBLIC,
+    SCM_EXPANDED_MODULE_SET_EXP,
+    SCM_NUM_EXPANDED_MODULE_SET_FIELDS,
+  };
+#define SCM_MAKE_EXPANDED_MODULE_SET(src, mod, name, public, exp) \
+  scm_c_make_struct (exp_vtables[SCM_EXPANDED_MODULE_SET], 0, 
SCM_NUM_EXPANDED_MODULE_SET_FIELDS, SCM_UNPACK (src), SCM_UNPACK (mod), 
SCM_UNPACK (name), SCM_UNPACK (public), SCM_UNPACK (exp))
+
+#define SCM_EXPANDED_TOPLEVEL_REF_TYPE_NAME "toplevel-ref"
+#define SCM_EXPANDED_TOPLEVEL_REF_FIELD_NAMES   \
+  { "src", "name", }
+enum
+  {
+    SCM_EXPANDED_TOPLEVEL_REF_SRC,
+    SCM_EXPANDED_TOPLEVEL_REF_NAME,
+    SCM_NUM_EXPANDED_TOPLEVEL_REF_FIELDS,
+  };
+#define SCM_MAKE_EXPANDED_TOPLEVEL_REF(src, name) \
+  scm_c_make_struct (exp_vtables[SCM_EXPANDED_TOPLEVEL_REF], 0, 
SCM_NUM_EXPANDED_TOPLEVEL_REF_FIELDS, SCM_UNPACK (src), SCM_UNPACK (name))
+
+#define SCM_EXPANDED_TOPLEVEL_SET_TYPE_NAME "toplevel-set"
+#define SCM_EXPANDED_TOPLEVEL_SET_FIELD_NAMES   \
+  { "src", "name", "exp", }
+enum
+  {
+    SCM_EXPANDED_TOPLEVEL_SET_SRC,
+    SCM_EXPANDED_TOPLEVEL_SET_NAME,
+    SCM_EXPANDED_TOPLEVEL_SET_EXP,
+    SCM_NUM_EXPANDED_TOPLEVEL_SET_FIELDS,
+  };
+#define SCM_MAKE_EXPANDED_TOPLEVEL_SET(src, name, exp) \
+  scm_c_make_struct (exp_vtables[SCM_EXPANDED_TOPLEVEL_SET], 0, 
SCM_NUM_EXPANDED_TOPLEVEL_SET_FIELDS, SCM_UNPACK (src), SCM_UNPACK (name), 
SCM_UNPACK (exp))
+
+#define SCM_EXPANDED_TOPLEVEL_DEFINE_TYPE_NAME "toplevel-define"
+#define SCM_EXPANDED_TOPLEVEL_DEFINE_FIELD_NAMES        \
+  { "src", "name", "exp", }
+enum
+  {
+    SCM_EXPANDED_TOPLEVEL_DEFINE_SRC,
+    SCM_EXPANDED_TOPLEVEL_DEFINE_NAME,
+    SCM_EXPANDED_TOPLEVEL_DEFINE_EXP,
+    SCM_NUM_EXPANDED_TOPLEVEL_DEFINE_FIELDS,
+  };
+#define SCM_MAKE_EXPANDED_TOPLEVEL_DEFINE(src, name, exp) \
+  scm_c_make_struct (exp_vtables[SCM_EXPANDED_TOPLEVEL_DEFINE], 0, 
SCM_NUM_EXPANDED_TOPLEVEL_DEFINE_FIELDS, SCM_UNPACK (src), SCM_UNPACK (name), 
SCM_UNPACK (exp))
+
+#define SCM_EXPANDED_CONDITIONAL_TYPE_NAME "conditional"
+#define SCM_EXPANDED_CONDITIONAL_FIELD_NAMES    \
+  { "src", "test", "consequent", "alternate", }
+enum
+  {
+    SCM_EXPANDED_CONDITIONAL_SRC,
+    SCM_EXPANDED_CONDITIONAL_TEST,
+    SCM_EXPANDED_CONDITIONAL_CONSEQUENT,
+    SCM_EXPANDED_CONDITIONAL_ALTERNATE,
+    SCM_NUM_EXPANDED_CONDITIONAL_FIELDS,
+  };
+#define SCM_MAKE_EXPANDED_CONDITIONAL(src, test, consequent, alternate) \
+  scm_c_make_struct (exp_vtables[SCM_EXPANDED_CONDITIONAL], 0, 
SCM_NUM_EXPANDED_CONDITIONAL_FIELDS, SCM_UNPACK (src), SCM_UNPACK (test), 
SCM_UNPACK (consequent), SCM_UNPACK (alternate))
+
+#define SCM_EXPANDED_APPLICATION_TYPE_NAME "application"
+#define SCM_EXPANDED_APPLICATION_FIELD_NAMES    \
+  { "src", "proc", "args", }
+enum
+  {
+    SCM_EXPANDED_APPLICATION_SRC,
+    SCM_EXPANDED_APPLICATION_PROC,
+    SCM_EXPANDED_APPLICATION_ARGS,
+    SCM_NUM_EXPANDED_APPLICATION_FIELDS,
+  };
+#define SCM_MAKE_EXPANDED_APPLICATION(src, proc, args) \
+  scm_c_make_struct (exp_vtables[SCM_EXPANDED_APPLICATION], 0, 
SCM_NUM_EXPANDED_APPLICATION_FIELDS, SCM_UNPACK (src), SCM_UNPACK (proc), 
SCM_UNPACK (args))
+
+#define SCM_EXPANDED_SEQUENCE_TYPE_NAME "sequence"
+#define SCM_EXPANDED_SEQUENCE_FIELD_NAMES       \
+  {  "src", "exps", }
+enum
+  {
+    SCM_EXPANDED_SEQUENCE_SRC,
+    SCM_EXPANDED_SEQUENCE_EXPS,
+    SCM_NUM_EXPANDED_SEQUENCE_FIELDS,
+  };
+#define SCM_MAKE_EXPANDED_SEQUENCE(src, exps) \
+  scm_c_make_struct (exp_vtables[SCM_EXPANDED_SEQUENCE], 0, 
SCM_NUM_EXPANDED_SEQUENCE_FIELDS, SCM_UNPACK (src), SCM_UNPACK (exps))
+
+#define SCM_EXPANDED_LAMBDA_TYPE_NAME "lambda"
+#define SCM_EXPANDED_LAMBDA_FIELD_NAMES         \
+  { "src", "meta", "body", }
+enum
+  {
+    SCM_EXPANDED_LAMBDA_SRC,
+    SCM_EXPANDED_LAMBDA_META,
+    SCM_EXPANDED_LAMBDA_BODY,
+    SCM_NUM_EXPANDED_LAMBDA_FIELDS,
+  };
+#define SCM_MAKE_EXPANDED_LAMBDA(src, meta, body) \
+  scm_c_make_struct (exp_vtables[SCM_EXPANDED_LAMBDA], 0, 
SCM_NUM_EXPANDED_LAMBDA_FIELDS, SCM_UNPACK (src), SCM_UNPACK (meta), SCM_UNPACK 
(body))
+
+#define SCM_EXPANDED_LAMBDA_CASE_TYPE_NAME "lambda-case"
+#define SCM_EXPANDED_LAMBDA_CASE_FIELD_NAMES    \
+  { "src", "req", "opt", "rest", "kw", "inits", "gensyms", "body", 
"alternate", }
+enum
+  {
+    SCM_EXPANDED_LAMBDA_CASE_SRC,
+    SCM_EXPANDED_LAMBDA_CASE_REQ,
+    SCM_EXPANDED_LAMBDA_CASE_OPT,
+    SCM_EXPANDED_LAMBDA_CASE_REST,
+    SCM_EXPANDED_LAMBDA_CASE_KW,
+    SCM_EXPANDED_LAMBDA_CASE_INITS,
+    SCM_EXPANDED_LAMBDA_CASE_GENSYMS,
+    SCM_EXPANDED_LAMBDA_CASE_BODY,
+    SCM_EXPANDED_LAMBDA_CASE_ALTERNATE,
+    SCM_NUM_EXPANDED_LAMBDA_CASE_FIELDS,
+  };
+#define SCM_MAKE_EXPANDED_LAMBDA_CASE(src, req, opt, rest, kw, inits, gensyms, 
body, alternate) \
+  scm_c_make_struct (exp_vtables[SCM_EXPANDED_LAMBDA_CASE], 0, 
SCM_NUM_EXPANDED_LAMBDA_CASE_FIELDS, SCM_UNPACK (src), SCM_UNPACK (req), 
SCM_UNPACK (opt), SCM_UNPACK (rest), SCM_UNPACK (kw), SCM_UNPACK (inits), 
SCM_UNPACK (gensyms), SCM_UNPACK (body), SCM_UNPACK (alternate))
+
+#define SCM_EXPANDED_LET_TYPE_NAME "let"
+#define SCM_EXPANDED_LET_FIELD_NAMES            \
+  { "src", "names", "gensyms", "vals", "body", }
+enum
+  {
+    SCM_EXPANDED_LET_SRC,
+    SCM_EXPANDED_LET_NAMES,
+    SCM_EXPANDED_LET_GENSYMS,
+    SCM_EXPANDED_LET_VALS,
+    SCM_EXPANDED_LET_BODY,
+    SCM_NUM_EXPANDED_LET_FIELDS,
+  };
+#define SCM_MAKE_EXPANDED_LET(src, names, gensyms, vals, body) \
+  scm_c_make_struct (exp_vtables[SCM_EXPANDED_LET], 0, 
SCM_NUM_EXPANDED_LET_FIELDS, SCM_UNPACK (src), SCM_UNPACK (names), SCM_UNPACK 
(gensyms), SCM_UNPACK (vals), SCM_UNPACK (body))
+
+#define SCM_EXPANDED_LETREC_TYPE_NAME "letrec"
+#define SCM_EXPANDED_LETREC_FIELD_NAMES         \
+  { "src", "names", "gensyms", "vals", "body", }
+enum
+  {
+    SCM_EXPANDED_LETREC_SRC,
+    SCM_EXPANDED_LETREC_NAMES,
+    SCM_EXPANDED_LETREC_GENSYMS,
+    SCM_EXPANDED_LETREC_VALS,
+    SCM_EXPANDED_LETREC_BODY,
+    SCM_NUM_EXPANDED_LETREC_FIELDS,
+  };
+#define SCM_MAKE_EXPANDED_LETREC(src, names, gensyms, vals, body) \
+  scm_c_make_struct (exp_vtables[SCM_EXPANDED_LETREC], 0, 
SCM_NUM_EXPANDED_LETREC_FIELDS, SCM_UNPACK (src), SCM_UNPACK (names), 
SCM_UNPACK (gensyms), SCM_UNPACK (vals), SCM_UNPACK (body))
+
+#define SCM_EXPANDED_DYNLET_TYPE_NAME "dynlet"
+#define SCM_EXPANDED_DYNLET_FIELD_NAMES         \
+  { "src", "fluids", "vals", "body", }
+enum
+  {
+    SCM_EXPANDED_DYNLET_SRC,
+    SCM_EXPANDED_DYNLET_FLUIDS,
+    SCM_EXPANDED_DYNLET_VALS,
+    SCM_EXPANDED_DYNLET_BODY,
+    SCM_NUM_EXPANDED_DYNLET_FIELDS,
+  };
+#define SCM_MAKE_EXPANDED_DYNLET(src, fluids, vals, body) \
+  scm_c_make_struct (exp_vtables[SCM_EXPANDED_DYNLET], 0, 
SCM_NUM_EXPANDED_DYNLET_FIELDS, SCM_UNPACK (src), SCM_UNPACK (fluids), 
SCM_UNPACK (vals), SCM_UNPACK (body))
+
+#endif /* BUILDING_LIBGUILE */
+
+
+
+SCM_INTERNAL SCM scm_macroexpand (SCM exp);
+
+SCM_INTERNAL void scm_init_expand (void);
+
+
+#endif  /* SCM_EXPAND_H */
+
+/*
+  Local Variables:
+  c-file-style: "gnu"
+  End:
+*/
diff --git a/libguile/foreign.c b/libguile/foreign.c
index eaeea6c..a58634a 100644
--- a/libguile/foreign.c
+++ b/libguile/foreign.c
@@ -55,11 +55,7 @@ SCM_SYMBOL (sym_null, "%null-pointer");
 SCM_SYMBOL (sym_null_pointer_error, "null-pointer-error");
 
 /* The cell representing the null pointer.  */
-static const scm_t_bits null_pointer[2] =
-  {
-    scm_tc7_foreign | (SCM_FOREIGN_TYPE_VOID << 8UL),
-    0
-  };
+static SCM null_pointer;
 
 /* Raise a null pointer dereference error.  */
 static void
@@ -172,7 +168,7 @@ SCM_DEFINE (scm_foreign_set_x, "foreign-set!", 2, 0, 0,
 
   SCM_VALIDATE_FOREIGN (1, foreign);
 
-  if (SCM_UNLIKELY (scm_is_eq (foreign, PTR2SCM (&null_pointer))))
+  if (SCM_UNLIKELY (scm_is_eq (foreign, null_pointer)))
     /* Attempting to modify the pointer value of NULL_POINTER (which is
        read-only anyway), so raise an error.  */
     null_pointer_error (FUNC_NAME);
@@ -1095,7 +1091,9 @@ scm_init_foreign (void)
 #endif
              );
 
-  scm_define (sym_null, PTR2SCM (&null_pointer));
+  null_pointer = scm_cell (scm_tc7_foreign | (SCM_FOREIGN_TYPE_VOID << 8UL),
+                           0);
+  scm_define (sym_null, null_pointer);
 }
 
 void
diff --git a/libguile/init.c b/libguile/init.c
index 0d4f8c2..6313b65 100644
--- a/libguile/init.c
+++ b/libguile/init.c
@@ -54,6 +54,7 @@
 #include "libguile/error.h"
 #include "libguile/eval.h"
 #include "libguile/evalext.h"
+#include "libguile/expand.h"
 #include "libguile/feature.h"
 #include "libguile/filesys.h"
 #include "libguile/fluids.h"
@@ -546,6 +547,7 @@ scm_i_init_guile (SCM_STACKITEM *base)
   scm_init_guardians (); /* requires smob_prehistory */
   scm_init_vports ();
   scm_init_standard_ports ();  /* Requires fports */
+  scm_init_expand ();   /* Requires structs */
   scm_init_memoize ();  /* Requires smob_prehistory */
   scm_init_eval ();     /* Requires smob_prehistory */
   scm_init_load_path ();
diff --git a/libguile/memoize.c b/libguile/memoize.c
index 544de7c..bacd097 100644
--- a/libguile/memoize.c
+++ b/libguile/memoize.c
@@ -27,6 +27,7 @@
 #include "libguile/_scm.h"
 #include "libguile/continuations.h"
 #include "libguile/eq.h"
+#include "libguile/expand.h"
 #include "libguile/list.h"
 #include "libguile/macros.h"
 #include "libguile/memoize.h"
@@ -53,117 +54,7 @@
 #define CADDDR(x) SCM_CADDDR(x)
 
 
-static const char s_bad_expression[] = "Bad expression";
-static const char s_expression[] = "Missing or extra expression in";
-static const char s_missing_expression[] = "Missing expression in";
-static const char s_extra_expression[] = "Extra expression in";
-static const char s_empty_combination[] = "Illegal empty combination";
-static const char s_missing_body_expression[] = "Missing body expression in";
-static const char s_mixed_body_forms[] = "Mixed definitions and expressions 
in";
-static const char s_bad_define[] = "Bad define placement";
-static const char s_missing_clauses[] = "Missing clauses";
-static const char s_misplaced_else_clause[] = "Misplaced else clause";
-static const char s_bad_case_clause[] = "Bad case clause";
-static const char s_bad_case_labels[] = "Bad case labels";
-static const char s_duplicate_case_label[] = "Duplicate case label";
-static const char s_bad_cond_clause[] = "Bad cond clause";
-static const char s_missing_recipient[] = "Missing recipient in";
-static const char s_bad_variable[] = "Bad variable";
-static const char s_bad_bindings[] = "Bad bindings";
-static const char s_bad_binding[] = "Bad binding";
-static const char s_duplicate_binding[] = "Duplicate binding";
-static const char s_bad_exit_clause[] = "Bad exit clause";
-static const char s_bad_formals[] = "Bad formals";
-static const char s_bad_formal[] = "Bad formal";
-static const char s_duplicate_formal[] = "Duplicate formal";
-static const char s_splicing[] = "Non-list result for unquote-splicing";
-static const char s_bad_slot_number[] = "Bad slot number";
-
-
-/* Signal a syntax error.  We distinguish between the form that caused the
- * error and the enclosing expression.  The error message will print out as
- * shown in the following pattern.  The file name and line number are only
- * given when they can be determined from the erroneous form or from the
- * enclosing expression.
- *
- * <filename>: In procedure memoization:
- * <filename>: In file <name>, line <nr>: <error-message> in <expression>.  */
-
-SCM_SYMBOL (syntax_error_key, "syntax-error");
-
-/* The prototype is needed to indicate that the function does not return.  */
-static void
-syntax_error (const char* const, const SCM, const SCM) SCM_NORETURN;
-
-static void 
-syntax_error (const char* const msg, const SCM form, const SCM expr)
-{
-  SCM msg_string = scm_from_locale_string (msg);
-  SCM filename = SCM_BOOL_F;
-  SCM linenr = SCM_BOOL_F;
-  const char *format;
-  SCM args;
-
-  if (scm_is_pair (form))
-    {
-      filename = scm_source_property (form, scm_sym_filename);
-      linenr = scm_source_property (form, scm_sym_line);
-    }
-
-  if (scm_is_false (filename) && scm_is_false (linenr) && scm_is_pair (expr))
-    {
-      filename = scm_source_property (expr, scm_sym_filename);
-      linenr = scm_source_property (expr, scm_sym_line);
-    }
-
-  if (!SCM_UNBNDP (expr))
-    {
-      if (scm_is_true (filename))
-       {
-         format = "In file ~S, line ~S: ~A ~S in expression ~S.";
-         args = scm_list_5 (filename, linenr, msg_string, form, expr);
-       }
-      else if (scm_is_true (linenr))
-       {
-         format = "In line ~S: ~A ~S in expression ~S.";
-         args = scm_list_4 (linenr, msg_string, form, expr);
-       }
-      else
-       {
-         format = "~A ~S in expression ~S.";
-         args = scm_list_3 (msg_string, form, expr);
-       }
-    }
-  else
-    {
-      if (scm_is_true (filename))
-       {
-         format = "In file ~S, line ~S: ~A ~S.";
-         args = scm_list_4 (filename, linenr, msg_string, form);
-       }
-      else if (scm_is_true (linenr))
-       {
-         format = "In line ~S: ~A ~S.";
-         args = scm_list_3 (linenr, msg_string, form);
-       }
-      else
-       {
-         format = "~A ~S.";
-         args = scm_list_2 (msg_string, form);
-       }
-    }
-
-  scm_error (syntax_error_key, "memoization", format, args, SCM_BOOL_F);
-}
-
-
-/* Shortcut macros to simplify syntax error handling. */
-#define ASSERT_SYNTAX(cond, message, form)             \
-  { if (SCM_UNLIKELY (!(cond)))                        \
-      syntax_error (message, form, SCM_UNDEFINED); }
-#define ASSERT_SYNTAX_2(cond, message, form, expr)     \
-  { if (SCM_UNLIKELY (!(cond)))                        \
-      syntax_error (message, form, expr); }
+SCM_SYMBOL (sym_case_lambda_star, "case-lambda*");
 
 
 
@@ -262,993 +153,246 @@ scm_print_memoized (SCM memoized, SCM port, 
scm_print_state *pstate)
   return 1;
 }
 
-static SCM scm_m_at (SCM xorig, SCM env);
-static SCM scm_m_atat (SCM xorig, SCM env);
-static SCM scm_m_and (SCM xorig, SCM env);
-static SCM scm_m_begin (SCM xorig, SCM env);
-static SCM scm_m_cond (SCM xorig, SCM env);
-static SCM scm_m_define (SCM x, SCM env);
-static SCM scm_m_with_fluids (SCM xorig, SCM env);
-static SCM scm_m_eval_when (SCM xorig, SCM env);
-static SCM scm_m_if (SCM xorig, SCM env);
-static SCM scm_m_lambda (SCM xorig, SCM env);
-static SCM scm_m_lambda_star (SCM xorig, SCM env);
-static SCM scm_m_case_lambda (SCM xorig, SCM env);
-static SCM scm_m_case_lambda_star (SCM xorig, SCM env);
-static SCM scm_m_let (SCM xorig, SCM env);
-static SCM scm_m_letrec (SCM xorig, SCM env);
-static SCM scm_m_letstar (SCM xorig, SCM env);
-static SCM scm_m_or (SCM xorig, SCM env);
-static SCM scm_m_quote (SCM xorig, SCM env);
-static SCM scm_m_set_x (SCM xorig, SCM env);
 
 
 
 
-static SCM
-memoize_env_ref_macro (SCM env, SCM x)
-{
-  SCM var;
-  for (; scm_is_pair (env); env = CDR (env))
-    if (scm_is_eq (x, CAR (env)))
-      return SCM_BOOL_F; /* lexical */
-
-  var = scm_module_variable (env, x);
-  if (scm_is_true (var) && scm_is_true (scm_variable_bound_p (var))
-      && (scm_is_true (scm_macro_p (scm_variable_ref (var)))
-          || SCM_MEMOIZER_P (scm_variable_ref (var))))
-    return scm_variable_ref (var);
-  else
-    return SCM_BOOL_F; /* anything else */
-}
-
-static int
-memoize_env_var_is_free (SCM env, SCM x)
-{
-  for (; scm_is_pair (env); env = CDR (env))
-    if (scm_is_eq (x, CAR (env)))
-      return 0; /* bound */
-  return 1; /* free */
-}
-
 static int
-memoize_env_lexical_index (SCM env, SCM x)
+lookup (SCM x, SCM env)
 {
   int i = 0;
   for (; scm_is_pair (env); env = CDR (env), i++)
     if (scm_is_eq (x, CAR (env)))
       return i; /* bound */
-  return -1; /* free */
+  abort ();
 }
 
-static SCM
-memoize_env_extend (SCM env, SCM vars)
-{
-  return scm_append (scm_list_2 (vars, env));
-}
 
-static SCM
-memoize (SCM exp, SCM env)
-{
-  if (scm_is_pair (exp))
-    {
-      SCM car;
-      scm_t_macro_primitive trans = NULL;
-      SCM macro = SCM_BOOL_F, memoizer = SCM_BOOL_F;
-      
-      car = CAR (exp);
-      if (scm_is_symbol (car))
-        macro = memoize_env_ref_macro (env, car);
-      
-      if (scm_is_true (scm_macro_p (macro)))
-        trans = scm_i_macro_primitive (macro);
-      else if (SCM_MEMOIZER_P (macro))
-        memoizer = SCM_MEMOIZER (macro);
+/* Abbreviate SCM_EXPANDED_REF. Copied because I'm not sure about symbol 
pasting */
+#define REF(x,type,field) \
+  (scm_struct_ref (x, SCM_I_MAKINUM (SCM_EXPANDED_##type##_##field)))
 
-      if (trans)
-        return trans (exp, env);
-      else
-        {
-          SCM args = SCM_EOL;
-          int nargs = 0;
-          SCM proc = CAR (exp);
-          
-          for (exp = CDR (exp); scm_is_pair (exp); exp = CDR (exp), nargs++)
-            args = scm_cons (memoize (CAR (exp), env), args);
-          if (scm_is_null (exp))
-            {
-              if (scm_is_true (memoizer))
-                return scm_apply (memoizer, scm_reverse_x (args, 
SCM_UNDEFINED),
-                                  SCM_EOL);
-              else
-                return MAKMEMO_CALL (memoize (proc, env),
-                                     nargs,
-                                     scm_reverse_x (args, SCM_UNDEFINED));
-            }
-        
-          else
-            syntax_error ("expected a proper list", exp, SCM_UNDEFINED);
-        }
-    }
-  else if (scm_is_symbol (exp))
-    {
-      int i = memoize_env_lexical_index (env, exp);
-      if (i < 0)
-        return MAKMEMO_TOP_REF (exp);
-      else
-        return MAKMEMO_LEX_REF (i);
-    }
-  else
-    return MAKMEMO_QUOTE (exp);
-}
+static SCM list_of_guile = SCM_BOOL_F;
 
-static SCM
-memoize_exprs (SCM forms, const SCM env)
-{
-  SCM ret = SCM_EOL;
-
-  for (; !scm_is_null (forms); forms = CDR (forms))
-    ret = scm_cons (memoize (CAR (forms), env), ret);
-  return scm_reverse_x (ret, SCM_UNDEFINED);
-}
+static SCM memoize (SCM exp, SCM env);
 
 static SCM
-memoize_sequence (const SCM forms, const SCM env)
+memoize_exps (SCM exps, SCM env)
 {
-  ASSERT_SYNTAX (scm_ilength (forms) >= 1, s_bad_expression,
-                 scm_cons (scm_sym_begin, forms));
-  if (scm_is_null (CDR (forms)))
-    return memoize (CAR (forms), env);
-  else
-    return MAKMEMO_BEGIN (memoize_exprs (forms, env));
-}
-
-
-
-/* Memoization.  */
-
-#define SCM_SYNTAX(RANAME, STR, CFN)  \
-SCM_SNARF_HERE(static const char RANAME[]=STR)\
-SCM_SNARF_INIT(scm_c_define (RANAME, scm_i_make_primitive_macro (RANAME, CFN)))
-
-
-/* True primitive syntax */
-SCM_SYNTAX (s_at, "@", scm_m_at);
-SCM_SYNTAX (s_atat, "@@", scm_m_atat);
-SCM_SYNTAX (s_begin, "begin", scm_m_begin);
-SCM_SYNTAX (s_define, "define", scm_m_define);
-SCM_SYNTAX (s_with_fluids, "with-fluids", scm_m_with_fluids);
-SCM_SYNTAX (s_eval_when, "eval-when", scm_m_eval_when);
-SCM_SYNTAX (s_if, "if", scm_m_if);
-SCM_SYNTAX (s_lambda, "lambda", scm_m_lambda);
-SCM_SYNTAX (s_let, "let", scm_m_let);
-SCM_SYNTAX (s_quote, "quote", scm_m_quote);
-SCM_SYNTAX (s_set_x, "set!", scm_m_set_x);
-
-/* Convenient syntax during boot, expands to primitive syntax. Replaced after
-   psyntax boots. */
-SCM_SYNTAX (s_and, "and", scm_m_and);
-SCM_SYNTAX (s_cond, "cond", scm_m_cond);
-SCM_SYNTAX (s_letrec, "letrec", scm_m_letrec);
-SCM_SYNTAX (s_letstar, "let*", scm_m_letstar);
-SCM_SYNTAX (s_or, "or", scm_m_or);
-SCM_SYNTAX (s_lambda_star, "lambda*", scm_m_lambda_star);
-SCM_SYNTAX (s_case_lambda, "case-lambda", scm_m_case_lambda);
-SCM_SYNTAX (s_case_lambda_star, "case-lambda*", scm_m_case_lambda_star);
-
-SCM_GLOBAL_SYMBOL (scm_sym_apply, "apply");
-SCM_GLOBAL_SYMBOL (scm_sym_arrow, "=>");
-SCM_GLOBAL_SYMBOL (scm_sym_at, "@");
-SCM_GLOBAL_SYMBOL (scm_sym_atat, "@@");
-SCM_GLOBAL_SYMBOL (scm_sym_at_call_with_values, "@call-with-values");
-SCM_GLOBAL_SYMBOL (scm_sym_atapply, "@apply");
-SCM_GLOBAL_SYMBOL (scm_sym_atcall_cc, "@call-with-current-continuation");
-SCM_GLOBAL_SYMBOL (scm_sym_begin, "begin");
-SCM_GLOBAL_SYMBOL (scm_sym_case, "case");
-SCM_GLOBAL_SYMBOL (scm_sym_cond, "cond");
-SCM_GLOBAL_SYMBOL (scm_sym_define, "define");
-SCM_GLOBAL_SYMBOL (scm_sym_at_dynamic_wind, "@dynamic-wind");
-SCM_GLOBAL_SYMBOL (scm_sym_with_fluids, "with-fluids");
-SCM_GLOBAL_SYMBOL (scm_sym_else, "else");
-SCM_GLOBAL_SYMBOL (scm_sym_eval_when, "eval-when");
-SCM_GLOBAL_SYMBOL (scm_sym_if, "if");
-SCM_GLOBAL_SYMBOL (scm_sym_lambda, "lambda");
-SCM_GLOBAL_SYMBOL (scm_sym_let, "let");
-SCM_GLOBAL_SYMBOL (scm_sym_letrec, "letrec");
-SCM_GLOBAL_SYMBOL (scm_sym_letstar, "let*");
-SCM_GLOBAL_SYMBOL (scm_sym_or, "or");
-SCM_GLOBAL_SYMBOL (scm_sym_at_prompt, "@prompt");
-SCM_GLOBAL_SYMBOL (scm_sym_quote, "quote");
-SCM_GLOBAL_SYMBOL (scm_sym_set_x, "set!");
-SCM_SYMBOL (sym_lambda_star, "lambda*");
-SCM_SYMBOL (sym_case_lambda, "case-lambda");
-SCM_SYMBOL (sym_case_lambda_star, "case-lambda*");
-SCM_SYMBOL (sym_eval, "eval");
-SCM_SYMBOL (sym_load, "load");
-
-SCM_GLOBAL_SYMBOL (scm_sym_unquote, "unquote");
-SCM_GLOBAL_SYMBOL (scm_sym_quasiquote, "quasiquote");
-SCM_GLOBAL_SYMBOL (scm_sym_uq_splicing, "unquote-splicing");
-
-SCM_KEYWORD (kw_allow_other_keys, "allow-other-keys");
-SCM_KEYWORD (kw_optional, "optional");
-SCM_KEYWORD (kw_key, "key");
-SCM_KEYWORD (kw_rest, "rest");
-
-
-static SCM
-scm_m_at (SCM expr, SCM env SCM_UNUSED)
-{
-  ASSERT_SYNTAX (scm_ilength (expr) == 3, s_bad_expression, expr);
-  ASSERT_SYNTAX (scm_ilength (CADR (expr)) > 0, s_bad_expression, expr);
-  ASSERT_SYNTAX (scm_is_symbol (CADDR (expr)), s_bad_expression, expr);
-
-  return MAKMEMO_MOD_REF (CADR (expr), CADDR (expr), SCM_BOOL_T);
-}
-
-static SCM
-scm_m_atat (SCM expr, SCM env SCM_UNUSED)
-{
-  ASSERT_SYNTAX (scm_ilength (expr) == 3, s_bad_expression, expr);
-  ASSERT_SYNTAX (scm_ilength (CADR (expr)) > 0, s_bad_expression, expr);
-  ASSERT_SYNTAX (scm_is_symbol (CADDR (expr)), s_bad_expression, expr);
-
-  return MAKMEMO_MOD_REF (CADR (expr), CADDR (expr), SCM_BOOL_F);
-}
-
-static SCM
-scm_m_and (SCM expr, SCM env)
-{
-  const SCM cdr_expr = CDR (expr);
-
-  if (scm_is_null (cdr_expr))
-    return MAKMEMO_QUOTE (SCM_BOOL_T);
-  ASSERT_SYNTAX (scm_is_pair (cdr_expr), s_bad_expression, expr);
-
-  if (scm_is_null (CDR (cdr_expr)))
-    return memoize (CAR (cdr_expr), env);
-  else
-    return MAKMEMO_IF (memoize (CAR (cdr_expr), env),
-                       scm_m_and (cdr_expr, env),
-                       MAKMEMO_QUOTE (SCM_BOOL_F));
-}
-
-static SCM
-scm_m_begin (SCM expr, SCM env)
-{
-  const SCM cdr_expr = CDR (expr);
-  ASSERT_SYNTAX (scm_ilength (cdr_expr) >= 1, s_bad_expression, expr);
-  return MAKMEMO_BEGIN (memoize_exprs (cdr_expr, env));
-}
-
-static SCM
-scm_m_cond (SCM expr, SCM env)
-{
-  /* Check, whether 'else or '=> is a literal, i. e. not bound to a value. */
-  const int else_literal_p = memoize_env_var_is_free (env, scm_sym_else);
-  const int arrow_literal_p = memoize_env_var_is_free (env, scm_sym_arrow);
-
-  const SCM clauses = CDR (expr);
-  SCM clause_idx;
-  SCM ret, loc;
-
-  ASSERT_SYNTAX (scm_ilength (clauses) >= 0, s_bad_expression, expr);
-  ASSERT_SYNTAX (scm_ilength (clauses) >= 1, s_missing_clauses, expr);
-
-  ret = scm_cons (SCM_UNDEFINED, MAKMEMO_QUOTE (SCM_UNSPECIFIED));
-  loc = ret;
-
-  for (clause_idx = clauses;
-       !scm_is_null (clause_idx);
-       clause_idx = CDR (clause_idx))
-    {
-      SCM test;
-
-      const SCM clause = CAR (clause_idx);
-      const long length = scm_ilength (clause);
-      ASSERT_SYNTAX_2 (length >= 1, s_bad_cond_clause, clause, expr);
-
-      test = CAR (clause);
-      if (scm_is_eq (test, scm_sym_else) && else_literal_p)
-       {
-         const int last_clause_p = scm_is_null (CDR (clause_idx));
-          ASSERT_SYNTAX_2 (length >= 2,
-                           s_bad_cond_clause, clause, expr);
-          ASSERT_SYNTAX_2 (last_clause_p,
-                           s_misplaced_else_clause, clause, expr);
-          SCM_SETCDR (loc,
-                      memoize (scm_cons (scm_sym_begin, CDR (clause)), env));
-       }
-      else if (length >= 2
-               && scm_is_eq (CADR (clause), scm_sym_arrow)
-               && arrow_literal_p)
-        {
-          SCM tmp = scm_gensym (scm_from_locale_string ("cond "));
-          SCM i;
-          SCM new_env = scm_cons (tmp, env);
-          ASSERT_SYNTAX_2 (length > 2, s_missing_recipient, clause, expr);
-          ASSERT_SYNTAX_2 (length == 3, s_extra_expression, clause, expr);
-          i = MAKMEMO_IF (MAKMEMO_LEX_REF (0),
-                          MAKMEMO_CALL (memoize (CADDR (clause),
-                                                 scm_cons (tmp, new_env)),
-                                        1,
-                                        scm_list_1 (MAKMEMO_LEX_REF (0))),
-                          MAKMEMO_QUOTE (SCM_UNSPECIFIED));
-          SCM_SETCDR (loc, 
-                      MAKMEMO_LET (scm_list_1 (memoize (CAR (clause), env)),
-                                   i));
-          env = new_env;
-          loc = scm_last_pair (SCM_MEMOIZED_ARGS (i));
-       }
-      /* FIXME length == 1 case */
-      else
-        {
-          SCM i = MAKMEMO_IF (memoize (CAR (clause), env),
-                              memoize (scm_cons (scm_sym_begin, CDR (clause)), 
env),
-                              MAKMEMO_QUOTE (SCM_UNSPECIFIED));
-          SCM_SETCDR (loc, i);
-          loc = scm_last_pair (SCM_MEMOIZED_ARGS (i));
-        }
-    }
-
-  return CDR (ret);
-}
-
-/* According to Section 5.2.1 of R5RS we first have to make sure that the
-   variable is bound, and then perform the `(set! variable expression)'
-   operation.  However, EXPRESSION _can_ be evaluated before VARIABLE is
-   bound.  This means that EXPRESSION won't necessarily be able to assign
-   values to VARIABLE as in `(define foo (begin (set! foo 1) (+ foo 1)))'.  */
-static SCM
-scm_m_define (SCM expr, SCM env)
-{
-  const SCM cdr_expr = CDR (expr);
-  SCM body;
-  SCM variable;
-
-  ASSERT_SYNTAX (scm_ilength (cdr_expr) >= 0, s_bad_expression, expr);
-  ASSERT_SYNTAX (scm_ilength (cdr_expr) >= 2, s_missing_expression, expr);
-  ASSERT_SYNTAX (!scm_is_pair (env), s_bad_define, expr);
-
-  body = CDR (cdr_expr);
-  variable = CAR (cdr_expr);
-
-  if (scm_is_pair (variable))
-    {
-      ASSERT_SYNTAX_2 (scm_is_symbol (CAR (variable)), s_bad_variable, 
variable, expr);
-      return MAKMEMO_DEFINE (CAR (variable),
-                             memoize (scm_cons (scm_sym_lambda,
-                                                scm_cons (CDR (variable), 
body)),
-                                      env));
-    }
-  ASSERT_SYNTAX_2 (scm_is_symbol (variable), s_bad_variable, variable, expr);
-  ASSERT_SYNTAX (scm_ilength (body) == 1, s_expression, expr);
-  return MAKMEMO_DEFINE (variable, memoize (CAR (body), env));
-}
-
-static SCM
-scm_m_with_fluids (SCM expr, SCM env)
-{
-  SCM binds, fluids, vals;
-  ASSERT_SYNTAX (scm_ilength (expr) >= 3, s_bad_expression, expr);
-  binds = CADR (expr);
-  ASSERT_SYNTAX_2 (scm_ilength (binds) >= 0, s_bad_bindings, binds, expr);
-  for (fluids = SCM_EOL, vals = SCM_EOL;
-       scm_is_pair (binds);
-       binds = CDR (binds))
-    {
-      SCM binding = CAR (binds);
-      ASSERT_SYNTAX_2 (scm_ilength (CAR (binds)) == 2, s_bad_binding,
-                       binding, expr);
-      fluids = scm_cons (memoize (CAR (binding), env), fluids);
-      vals = scm_cons (memoize (CADR (binding), env), vals);
-    }
-
-  return MAKMEMO_WITH_FLUIDS (scm_reverse_x (fluids, SCM_UNDEFINED),
-                              scm_reverse_x (vals, SCM_UNDEFINED),
-                              memoize_sequence (CDDR (expr), env));
-}
-
-static SCM
-scm_m_eval_when (SCM expr, SCM env)
-{
-  ASSERT_SYNTAX (scm_ilength (expr) >= 3, s_bad_expression, expr);
-  ASSERT_SYNTAX (scm_ilength (CADR (expr)) > 0, s_bad_expression, expr);
-
-  if (scm_is_true (scm_memq (sym_eval, CADR (expr)))
-      || scm_is_true (scm_memq (sym_load, CADR (expr))))
-    return MAKMEMO_BEGIN (memoize_exprs (CDDR (expr), env));
-  else
-    return MAKMEMO_QUOTE (SCM_UNSPECIFIED);
-}
-
-static SCM
-scm_m_if (SCM expr, SCM env SCM_UNUSED)
-{
-  const SCM cdr_expr = CDR (expr);
-  const long length = scm_ilength (cdr_expr);
-  ASSERT_SYNTAX (length == 2 || length == 3, s_expression, expr);
-  return MAKMEMO_IF (memoize (CADR (expr), env),
-                     memoize (CADDR (expr), env),
-                     ((length == 3)
-                      ? memoize (CADDDR (expr), env)
-                      : MAKMEMO_QUOTE (SCM_UNSPECIFIED)));
-}
-
-/* A helper function for memoize_lambda to support checking for duplicate
- * formal arguments: Return true if OBJ is `eq?' to one of the elements of
- * LIST or to the CDR of the last cons.  Therefore, LIST may have any of the
- * forms that a formal argument can have:
- *   <rest>, (<arg1> ...), (<arg1> ...  .  <rest>) */
-static int
-c_improper_memq (SCM obj, SCM list)
-{
-  for (; scm_is_pair (list); list = CDR (list))
-    {
-      if (scm_is_eq (CAR (list), obj))
-        return 1;
-    }
-  return scm_is_eq (list, obj);
-}
-
-static SCM
-scm_m_lambda (SCM expr, SCM env SCM_UNUSED)
-{
-  SCM formals;
-  SCM formals_idx;
-  SCM formal_vars = SCM_EOL;
-  SCM body;
-  int nreq = 0;
-
-  const SCM cdr_expr = CDR (expr);
-  const long length = scm_ilength (cdr_expr);
-  ASSERT_SYNTAX (length >= 0, s_bad_expression, expr);
-  ASSERT_SYNTAX (length >= 2, s_missing_expression, expr);
-
-  /* Before iterating the list of formal arguments, make sure the formals
-   * actually are given as either a symbol or a non-cyclic list.  */
-  formals = CAR (cdr_expr);
-  if (scm_is_pair (formals))
-    {
-      /* Dirk:FIXME:: We should check for a cyclic list of formals, and if
-       * detected, report a 'Bad formals' error.  */
-    }
-  else
-    {
-      ASSERT_SYNTAX_2 (scm_is_symbol (formals) || scm_is_null (formals),
-                       s_bad_formals, formals, expr);
-    }
-
-  /* Now iterate the list of formal arguments to check if all formals are
-   * symbols, and that there are no duplicates.  */
-  formals_idx = formals;
-  while (scm_is_pair (formals_idx))
-    {
-      const SCM formal = CAR (formals_idx);
-      const SCM next_idx = CDR (formals_idx);
-      ASSERT_SYNTAX_2 (scm_is_symbol (formal), s_bad_formal, formal, expr);
-      ASSERT_SYNTAX_2 (!c_improper_memq (formal, next_idx),
-                       s_duplicate_formal, formal, expr);
-      nreq++;
-      formal_vars = scm_cons (formal, formal_vars);
-      formals_idx = next_idx;
-    }
-  ASSERT_SYNTAX_2 (scm_is_null (formals_idx) || scm_is_symbol (formals_idx),
-                   s_bad_formal, formals_idx, expr);
-  if (scm_is_symbol (formals_idx))
-    formal_vars = scm_cons (formals_idx, formal_vars);
-
-  body = memoize_sequence (CDDR (expr), memoize_env_extend (env, formal_vars));
-
-  if (scm_is_symbol (formals_idx))
-    return MAKMEMO_LAMBDA (body, REST_ARITY (nreq, SCM_BOOL_T));
-  else
-    return MAKMEMO_LAMBDA (body, FIXED_ARITY (nreq));
-}
-
-static SCM
-scm_m_lambda_star (SCM expr, SCM env)
-{
-  SCM req, opt, kw, allow_other_keys, rest, formals, body;
-  SCM inits, kw_indices;
-  int nreq, nopt;
-
-  const long length = scm_ilength (expr);
-  ASSERT_SYNTAX (length >= 1, s_bad_expression, expr);
-  ASSERT_SYNTAX (length >= 3, s_missing_expression, expr);
-
-  formals = CADR (expr);
-  body = CDDR (expr);
-
-  nreq = nopt = 0;
-  req = opt = kw = SCM_EOL;
-  rest = allow_other_keys = SCM_BOOL_F;
-
-  while (scm_is_pair (formals) && scm_is_symbol (CAR (formals)))
-    {
-      nreq++;
-      req = scm_cons (CAR (formals), req);
-      formals = scm_cdr (formals);
-    }
-
-  if (scm_is_pair (formals) && scm_is_eq (CAR (formals), kw_optional))
-    {
-      formals = CDR (formals);
-      while (scm_is_pair (formals)
-             && (scm_is_symbol (CAR (formals)) || scm_is_pair (CAR (formals))))
-        {
-          nopt++;
-          opt = scm_cons (CAR (formals), opt);
-          formals = scm_cdr (formals);
-        }
-    }
-  
-  if (scm_is_pair (formals) && scm_is_eq (CAR (formals), kw_key))
-    {
-      formals = CDR (formals);
-      while (scm_is_pair (formals)
-             && (scm_is_symbol (CAR (formals)) || scm_is_pair (CAR (formals))))
-        {
-          kw = scm_cons (CAR (formals), kw);
-          formals = scm_cdr (formals);
-        }
-    }
-  
-  if (scm_is_pair (formals) && scm_is_eq (CAR (formals), kw_allow_other_keys))
-    {
-      formals = CDR (formals);
-      allow_other_keys = SCM_BOOL_T;
-    }
-  
-  if (scm_is_pair (formals) && scm_is_eq (CAR (formals), kw_rest))
-    {
-      if (scm_ilength (formals) != 2)
-        syntax_error (s_bad_formals, CADR (expr), expr);
-      else
-        rest = CADR (formals);
-    }
-  else if (scm_is_symbol (formals))
-    rest = formals;
-  else if (!scm_is_null (formals))
-    syntax_error (s_bad_formals, CADR (expr), expr);
-  else
-    rest = SCM_BOOL_F;
-  
-  /* Now, iterate through them a second time, building up an expansion-time
-     environment, checking, expanding and canonicalizing the opt/kw init forms,
-     and eventually memoizing the body as well. Note that the rest argument, if
-     any, is expanded before keyword args, thus necessitating the second
-     pass.
-
-     Also note that the specific environment during expansion of init
-     expressions here needs to coincide with the environment when psyntax
-     expands. A lot of effort for something that is only used in the bootstrap
-     memoizer, you say? Yes. Yes it is.
-  */
-
-  inits = SCM_EOL;
-
-  /* nreq is already set, and req is already reversed: simply extend. */
-  env = memoize_env_extend (env, req);
-  
-  /* Build up opt inits and env */
-  opt = scm_reverse_x (opt, SCM_EOL);
-  while (scm_is_pair (opt))
-    {
-      SCM x = CAR (opt);
-      if (scm_is_symbol (x))
-        inits = scm_cons (MAKMEMO_QUOTE (SCM_BOOL_F), inits);
-      else if (scm_ilength (x) == 2 && scm_is_symbol (CAR (x)))
-        inits = scm_cons (memoize (CADR (x), env), inits);
-      else
-        syntax_error (s_bad_formals, CADR (expr), expr);
-      env = scm_cons (scm_is_symbol (x) ? x : CAR (x), env);
-      opt = CDR (opt);
-    }
-      
-  /* Process rest before keyword args */
-  if (scm_is_true (rest))
-    env = scm_cons (rest, env);
-
-  /* Build up kw inits, env, and kw-indices alist */
-  if (scm_is_null (kw))
-    kw_indices = SCM_BOOL_F;
-  else
-    {
-      int idx = nreq + nopt + (scm_is_true (rest) ? 1 : 0);
-
-      kw_indices = SCM_EOL;
-      kw = scm_reverse_x (kw, SCM_EOL);
-      while (scm_is_pair (kw))
-        {
-          SCM x, sym, k, init;
-          x = CAR (kw);
-          if (scm_is_symbol (x))
-            {
-              sym = x;
-              init = SCM_BOOL_F;
-              k = scm_symbol_to_keyword (sym);
-            }
-          else if (scm_ilength (x) == 2 && scm_is_symbol (CAR (x)))
-            {
-              sym = CAR (x);
-              init = CADR (x);
-              k = scm_symbol_to_keyword (sym);
-            }
-          else if (scm_ilength (x) == 3 && scm_is_symbol (CAR (x))
-                   && scm_is_keyword (CADDR (x)))
-            {
-              sym = CAR (x);
-              init = CADR (x);
-              k = CADDR (x);
-            }
-          else
-            syntax_error (s_bad_formals, CADR (expr), expr);
-
-          kw_indices = scm_acons (k, SCM_I_MAKINUM (idx++), kw_indices);
-          inits = scm_cons (memoize (init, env), inits);
-          env = scm_cons (sym, env);
-          kw = CDR (kw);
-        }
-      kw_indices = scm_cons (allow_other_keys,
-                             scm_reverse_x (kw_indices, SCM_UNDEFINED));
-    }
-
-  /* We should check for no duplicates, but given that psyntax does this
-     already, we can punt on it here... */
-
-  inits = scm_reverse_x (inits, SCM_UNDEFINED);
-  body = memoize_sequence (body, env);
-
-  if (scm_is_false (kw_indices) && scm_is_false (rest) && !nopt)
-    return MAKMEMO_LAMBDA (body, FIXED_ARITY (nreq));
-  if (scm_is_false (kw_indices) && !nopt)
-    return MAKMEMO_LAMBDA (body, REST_ARITY (nreq, SCM_BOOL_T));
-  else
-    return MAKMEMO_LAMBDA (body, FULL_ARITY (nreq, rest, nopt, kw_indices, 
inits,
-                                             SCM_BOOL_F));
-}
-
-static SCM
-patch_case_lambda (SCM a, SCM b)
-{
-  SCM mx, body, rest, kw_indices, inits;
-  int nreq, nopt;
-
-  mx = SCM_SMOB_OBJECT_1 (a);
-  body = CAR (mx);
-  mx = CDR (mx);
-
-  if (scm_is_null (CDR (mx)))
-    {
-      nreq = scm_to_int16 (CAR (mx));
-      rest = SCM_BOOL_F;
-      nopt = 0;
-      kw_indices = SCM_BOOL_F;
-      inits = SCM_EOL;
-    }
-  else if (scm_is_null (CDDR (mx)))
-    {
-      nreq = scm_to_int16 (CAR (mx));
-      rest = CADR (mx);
-      nopt = 0;
-      kw_indices = SCM_BOOL_F;
-      inits = SCM_EOL;
-    }
-  else
-    {
-      nreq = scm_to_int16 (CAR (mx));
-      rest = CADR (mx);
-      nopt = scm_to_int16 (CADDR (mx));
-      kw_indices = CADDDR (mx);
-      inits = CADR (CDDDR (mx));
-    }
-
-  return MAKMEMO_LAMBDA
-    (body, FULL_ARITY (nreq, rest, nopt, kw_indices, inits, b));
+  SCM ret;
+  for (ret = SCM_EOL; scm_is_pair (exps); exps = CDR (exps))
+    ret = scm_cons (memoize (CAR (exps), env), ret);
+  return scm_reverse_x (ret, SCM_UNDEFINED);
 }
-
-static SCM
-scm_m_case_lambda (SCM expr, SCM env)
-{
-  SCM ret, clauses;
-
-  const long length = scm_ilength (expr);
-  ASSERT_SYNTAX (length >= 1, s_bad_expression, expr);
-  ASSERT_SYNTAX (length >= 2, s_missing_expression, expr);
-
-  clauses = scm_reverse (CDR (expr));
-  ret = SCM_BOOL_F;
   
-  for (; scm_is_pair (clauses); clauses = CDR (clauses))
-    ret = patch_case_lambda
-      (scm_m_lambda (scm_cons (scm_sym_lambda, CAR (clauses)), env), ret);
-  
-  return ret;
-}
-
 static SCM
-scm_m_case_lambda_star (SCM expr, SCM env)
-{
-  SCM ret, clauses;
-
-  const long length = scm_ilength (expr);
-  ASSERT_SYNTAX (length >= 1, s_bad_expression, expr);
-  ASSERT_SYNTAX (length >= 2, s_missing_expression, expr);
-
-  clauses = scm_reverse (CDR (expr));
-  ret = SCM_BOOL_F;
-  
-  for (; scm_is_pair (clauses); clauses = CDR (clauses))
-    ret = patch_case_lambda
-      (scm_m_lambda_star (scm_cons (sym_lambda_star, CAR (clauses)), env), 
ret);
-  
-  return ret;
-}
-
-/* Check if the format of the bindings is ((<symbol> <init-form>) ...).  */
-static void
-check_bindings (const SCM bindings, const SCM expr)
+memoize (SCM exp, SCM env)
 {
-  SCM binding_idx;
-
-  ASSERT_SYNTAX_2 (scm_ilength (bindings) >= 0,
-                   s_bad_bindings, bindings, expr);
+  if (!SCM_EXPANDED_P (exp))
+    abort ();
 
-  binding_idx = bindings;
-  for (; !scm_is_null (binding_idx); binding_idx = CDR (binding_idx))
+  switch (SCM_EXPANDED_TYPE (exp))
     {
-      SCM name;         /* const */
-
-      const SCM binding = CAR (binding_idx);
-      ASSERT_SYNTAX_2 (scm_ilength (binding) == 2,
-                       s_bad_binding, binding, expr);
-
-      name = CAR (binding);
-      ASSERT_SYNTAX_2 (scm_is_symbol (name), s_bad_variable, name, expr);
-    }
-}
+    case SCM_EXPANDED_VOID:
+      return MAKMEMO_QUOTE (SCM_UNSPECIFIED);
+      
+    case SCM_EXPANDED_CONST:
+      return MAKMEMO_QUOTE (REF (exp, CONST, EXP));
 
-/* The bindings, which must have the format ((v1 i1) (v2 i2) ... (vn in)), are
- * transformed to the lists (vn .. v2 v1) and (i1 i2 ... in). If a duplicate
- * variable name is detected, an error is signalled. */
-static int
-transform_bindings (const SCM bindings, const SCM expr,
-                    SCM *const rvarptr, SCM *const initptr)
-{
-  SCM rvariables = SCM_EOL;
-  SCM rinits = SCM_EOL;
-  SCM binding_idx = bindings;
-  int n = 0;
-  for (; !scm_is_null (binding_idx); binding_idx = CDR (binding_idx))
-    {
-      const SCM binding = CAR (binding_idx);
-      const SCM CDR_binding = CDR (binding);
-      const SCM name = CAR (binding);
-      ASSERT_SYNTAX_2 (scm_is_false (scm_c_memq (name, rvariables)),
-                       s_duplicate_binding, name, expr);
-      rvariables = scm_cons (name, rvariables);
-      rinits = scm_cons (CAR (CDR_binding), rinits);
-      n++;
-    }
-  *rvarptr = rvariables;
-  *initptr = scm_reverse_x (rinits, SCM_UNDEFINED);
-  return n;
-}
+    case SCM_EXPANDED_PRIMITIVE_REF:
+      if (scm_is_eq (scm_current_module (), scm_the_root_module ()))
+        return MAKMEMO_TOP_REF (REF (exp, PRIMITIVE_REF, NAME));
+      else
+        return MAKMEMO_MOD_REF (list_of_guile, REF (exp, PRIMITIVE_REF, NAME),
+                                SCM_BOOL_F);
+                                
+    case SCM_EXPANDED_LEXICAL_REF:
+      return MAKMEMO_LEX_REF (lookup (REF (exp, LEXICAL_REF, GENSYM), env));
+
+    case SCM_EXPANDED_LEXICAL_SET:
+      return MAKMEMO_LEX_SET (lookup (REF (exp, LEXICAL_SET, GENSYM), env),
+                              memoize (REF (exp, LEXICAL_SET, EXP), env));
+
+    case SCM_EXPANDED_MODULE_REF:
+      return MAKMEMO_MOD_REF (REF (exp, MODULE_REF, MOD),
+                              REF (exp, MODULE_REF, NAME),
+                              REF (exp, MODULE_REF, PUBLIC));
+
+    case SCM_EXPANDED_MODULE_SET:
+      return MAKMEMO_MOD_SET (memoize (REF (exp, MODULE_SET, EXP), env),
+                              REF (exp, MODULE_SET, MOD),
+                              REF (exp, MODULE_SET, NAME),
+                              REF (exp, MODULE_SET, PUBLIC));
+
+    case SCM_EXPANDED_TOPLEVEL_REF:
+      return MAKMEMO_TOP_REF (REF (exp, TOPLEVEL_REF, NAME));
+
+    case SCM_EXPANDED_TOPLEVEL_SET:
+      return MAKMEMO_TOP_SET (REF (exp, TOPLEVEL_SET, NAME),
+                              memoize (REF (exp, TOPLEVEL_SET, EXP), env));
+
+    case SCM_EXPANDED_TOPLEVEL_DEFINE:
+      return MAKMEMO_DEFINE (REF (exp, TOPLEVEL_DEFINE, NAME),
+                             memoize (REF (exp, TOPLEVEL_DEFINE, EXP), env));
+
+    case SCM_EXPANDED_CONDITIONAL:
+      return MAKMEMO_IF (memoize (REF (exp, CONDITIONAL, TEST), env),
+                         memoize (REF (exp, CONDITIONAL, CONSEQUENT), env),
+                         memoize (REF (exp, CONDITIONAL, ALTERNATE), env));
+
+    case SCM_EXPANDED_APPLICATION:
+      {
+        SCM proc, args;
 
-/* This function is a helper function for memoize_let.  It transforms
- * (let name ((var init) ...) body ...) into
- * ((letrec ((name (lambda (var ...) body ...))) name) init ...)
- * and memoizes the expression.  It is assumed that the caller has checked
- * that name is a symbol and that there are bindings and a body.  */
-static SCM
-memoize_named_let (const SCM expr, SCM env)
-{
-  SCM rvariables;
-  SCM inits;
-  int nreq;
-
-  const SCM cdr_expr = CDR (expr);
-  const SCM name = CAR (cdr_expr);
-  const SCM cddr_expr = CDR (cdr_expr);
-  const SCM bindings = CAR (cddr_expr);
-  check_bindings (bindings, expr);
-
-  nreq = transform_bindings (bindings, expr, &rvariables, &inits);
-
-  env = scm_cons (name, env);
-  return MAKMEMO_LET
-    (scm_list_1 (MAKMEMO_QUOTE (SCM_UNDEFINED)),
-     MAKMEMO_BEGIN
-     (scm_list_2 (MAKMEMO_LEX_SET
-                  (0,
-                   MAKMEMO_LAMBDA (memoize_sequence
-                                   (CDDDR (expr),
-                                    memoize_env_extend (env, rvariables)),
-                                   FIXED_ARITY (nreq))),
-                  MAKMEMO_CALL (MAKMEMO_LEX_REF (0),
-                                nreq,
-                                memoize_exprs (inits, env)))));
-}
+        proc = REF (exp, APPLICATION, PROC);
+        args = memoize_exps (REF (exp, APPLICATION, ARGS), env);
 
-/* (let ((v1 i1) (v2 i2) ...) body) with variables v1 .. vn and initializers
- * i1 .. in is transformed to (address@hidden (vn ... v2 v1) (i1 i2 ...) 
body).  */
-static SCM
-scm_m_let (SCM expr, SCM env)
-{
-  SCM bindings;
+        if (SCM_EXPANDED_TYPE (proc) == SCM_EXPANDED_TOPLEVEL_REF)
+          {
+            SCM var = scm_module_variable (scm_current_module (),
+                                           REF (proc, TOPLEVEL_REF, NAME));
+            if (SCM_VARIABLEP (var))
+              {
+                SCM val = SCM_VARIABLE_REF (var);
+                if (SCM_MEMOIZER_P (val))
+                  return scm_apply (SCM_SMOB_OBJECT_1 (val), args, SCM_EOL);
+              }
+          }
+        /* otherwise we all fall down here */
+        return MAKMEMO_CALL (memoize (proc, env), scm_ilength (args), args);
+      }
 
-  const SCM cdr_expr = CDR (expr);
-  const long length = scm_ilength (cdr_expr);
-  ASSERT_SYNTAX (length >= 0, s_bad_expression, expr);
-  ASSERT_SYNTAX (length >= 2, s_missing_expression, expr);
+    case SCM_EXPANDED_SEQUENCE:
+      return MAKMEMO_BEGIN (memoize_exps (REF (exp, SEQUENCE, EXPS), env));
 
-  bindings = CAR (cdr_expr);
-  if (scm_is_symbol (bindings))
-    {
-      ASSERT_SYNTAX (length >= 3, s_missing_expression, expr);
-      return memoize_named_let (expr, env);
-    }
+    case SCM_EXPANDED_LAMBDA:
+      /* The body will be a lambda-case. */
+      return memoize (REF (exp, LAMBDA, BODY), env);
 
-  check_bindings (bindings, expr);
-  if (scm_is_null (bindings))
-    return memoize_sequence (CDDR (expr), env);
-  else
-    {
-      SCM rvariables;
-      SCM inits;
-      transform_bindings (bindings, expr, &rvariables, &inits);
-      return MAKMEMO_LET (memoize_exprs (inits, env),
-                          memoize_sequence (CDDR (expr),
-                                            memoize_env_extend (env, 
rvariables)));
-    }
-}
+    case SCM_EXPANDED_LAMBDA_CASE:
+      {
+        SCM req, rest, opt, kw, inits, vars, body, alt;
+        SCM walk, minits, arity, new_env;
+        int nreq, nopt;
+
+        req = REF (exp, LAMBDA_CASE, REQ);
+        rest = REF (exp, LAMBDA_CASE, REST);
+        opt = REF (exp, LAMBDA_CASE, OPT);
+        kw = REF (exp, LAMBDA_CASE, KW);
+        inits = REF (exp, LAMBDA_CASE, INITS);
+        vars = REF (exp, LAMBDA_CASE, GENSYMS);
+        body = REF (exp, LAMBDA_CASE, BODY);
+        alt = REF (exp, LAMBDA_CASE, ALTERNATE);
+
+        nreq = scm_ilength (req);
+        nopt = scm_is_pair (opt) ? scm_ilength (opt) : 0;
+
+        /* The vars are the gensyms, according to the divine plan. But we need
+           to memoize the inits within their appropriate environment,
+           complicating things. */
+        new_env = env;
+        for (walk = req; scm_is_pair (walk);
+             walk = CDR (walk), vars = CDR (vars))
+          new_env = scm_cons (CAR (vars), new_env);
+
+        minits = SCM_EOL;
+        for (walk = opt; scm_is_pair (walk);
+             walk = CDR (walk), vars = CDR (vars), inits = CDR (inits))
+          {
+            minits = scm_cons (memoize (CAR (inits), new_env), minits);
+            new_env = scm_cons (CAR (vars), new_env);
+          }
 
-static SCM
-scm_m_letrec (SCM expr, SCM env)
-{
-  SCM bindings;
+        if (scm_is_true (rest))
+          {
+            new_env = scm_cons (CAR (vars), new_env);
+            vars = CDR (vars);
+          }
 
-  const SCM cdr_expr = CDR (expr);
-  ASSERT_SYNTAX (scm_ilength (cdr_expr) >= 0, s_bad_expression, expr);
-  ASSERT_SYNTAX (scm_ilength (cdr_expr) >= 2, s_missing_expression, expr);
+        for (; scm_is_pair (inits); vars = CDR (vars), inits = CDR (inits))
+          {
+            minits = scm_cons (memoize (CAR (inits), new_env), minits);
+            new_env = scm_cons (CAR (vars), new_env);
+          }
+        if (!scm_is_null (vars))
+          abort ();
 
-  bindings = CAR (cdr_expr);
-  if (scm_is_null (bindings))
-    return memoize_sequence (CDDR (expr), env);
-  else
-    {
-      SCM rvariables;
-      SCM inits;
-      SCM v, i;
-      SCM undefs = SCM_EOL;
-      SCM vals = SCM_EOL;
-      SCM sets = SCM_EOL;
-      SCM new_env;
-      int offset;
-      int n = transform_bindings (bindings, expr, &rvariables, &inits);
-      offset = n;
-      new_env = memoize_env_extend (env, rvariables);
-      for (v = scm_reverse (rvariables), i = inits; scm_is_pair (v);
-           v = CDR (v), i = CDR (i), n--)
-        {
-          undefs = scm_cons (MAKMEMO_QUOTE (SCM_UNDEFINED), undefs);
-          vals = scm_cons (memoize (CAR (i), new_env), vals);
-          sets = scm_cons (MAKMEMO_LEX_SET ((n-1) + offset,
-                                            MAKMEMO_LEX_REF (n-1)),
-                           sets);
-        }
-      return MAKMEMO_LET
-        (undefs,
-         MAKMEMO_BEGIN (scm_list_2 (MAKMEMO_LET (scm_reverse (vals),
-                                                 MAKMEMO_BEGIN (sets)),
-                                    memoize_sequence (CDDR (expr),
-                                                      new_env))));
-    }
-}
+        minits = scm_reverse_x (minits, SCM_UNDEFINED);
 
-static SCM
-scm_m_letstar (SCM expr, SCM env SCM_UNUSED)
-{
-  SCM bindings;
+        if (scm_is_false (alt) && scm_is_false (kw) && scm_is_false (opt))
+          {
+            if (scm_is_false (rest))
+              arity = FIXED_ARITY (nreq);
+            else
+              arity = REST_ARITY (nreq, SCM_BOOL_T);
+          }
+        else if (scm_is_true (alt))
+          arity = FULL_ARITY (nreq, rest, nopt, kw, minits,
+                              SCM_MEMOIZED_ARGS (memoize (alt, env)));
+        else
+          arity = FULL_ARITY (nreq, rest, nopt, kw, minits, SCM_BOOL_F);
 
-  const SCM cdr_expr = CDR (expr);
-  ASSERT_SYNTAX (scm_ilength (cdr_expr) >= 0, s_bad_expression, expr);
-  ASSERT_SYNTAX (scm_ilength (cdr_expr) >= 2, s_missing_expression, expr);
+        return MAKMEMO_LAMBDA (memoize (body, new_env), arity);
+      }
 
-  bindings = CAR (cdr_expr);
-  if (scm_is_null (bindings))
-    return memoize_sequence (CDDR (expr), env);
-  else
-    {
-      SCM rvariables;
-      SCM variables;
-      SCM inits;
-      SCM ret, loc;
-      transform_bindings (bindings, expr, &rvariables, &inits);
-      variables = scm_reverse (rvariables);
-      ret = scm_cons (SCM_UNDEFINED, SCM_UNSPECIFIED);
-      loc = ret;
-      for (; scm_is_pair (variables);
-           variables = CDR (variables), inits = CDR (inits))
-        { SCM x = MAKMEMO_LET (scm_list_1 (memoize (CAR (inits), env)),
-                               MAKMEMO_QUOTE (SCM_UNSPECIFIED));
-          SCM_SETCDR (loc, x);
-          loc = scm_last_pair (SCM_MEMOIZED_ARGS (x));
-          env = scm_cons (CAR (variables), env);
-        }
-      SCM_SETCDR (loc, memoize_sequence (CDDR (expr), env));
-      return CDR (ret);
-    }
-}
+    case SCM_EXPANDED_LET:
+      {
+        SCM vars, exps, body, inits, new_env;
+        
+        vars = REF (exp, LET, GENSYMS);
+        exps = REF (exp, LET, VALS);
+        body = REF (exp, LET, BODY);
+        
+        inits = SCM_EOL;
+        new_env = env;
+        for (; scm_is_pair (vars); vars = CDR (vars), exps = CDR (exps))
+          {
+            new_env = scm_cons (CAR (vars), new_env);
+            inits = scm_cons (memoize (CAR (exps), env), inits);
+          }
 
-static SCM
-scm_m_or (SCM expr, SCM env SCM_UNUSED)
-{
-  SCM tail = CDR (expr);
-  SCM ret, loc;
-  const long length = scm_ilength (tail);
+        return MAKMEMO_LET (scm_reverse_x (inits, SCM_UNDEFINED),
+                            memoize (body, new_env));
+      }
 
-  ASSERT_SYNTAX (length >= 0, s_bad_expression, expr);
+    case SCM_EXPANDED_LETREC:
+      {
+        SCM vars, exps, body, undefs, inits, sets, new_env;
+        int i, nvars;
+        
+        vars = REF (exp, LET, GENSYMS);
+        exps = REF (exp, LET, VALS);
+        body = REF (exp, LET, BODY);
+        nvars = i = scm_ilength (vars);
+        inits = undefs = sets = SCM_EOL;
+        new_env = env;
+
+        for (; scm_is_pair (vars); vars = CDR (vars), i--)
+          {
+            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);
+          }
 
-  ret = scm_cons (SCM_UNDEFINED, SCM_UNSPECIFIED);
-  loc = ret;
-  for (; scm_is_pair (tail); tail = CDR (tail))
-    {
-      SCM tmp = scm_gensym (scm_from_locale_string ("cond "));
-      SCM x = MAKMEMO_IF (MAKMEMO_LEX_REF (0),
-                          MAKMEMO_LEX_REF (0),
-                          MAKMEMO_QUOTE (SCM_UNSPECIFIED));
-      SCM new_env = scm_cons (tmp, env);
-      SCM_SETCDR (loc, MAKMEMO_LET (scm_list_1 (memoize (CAR (tail),
-                                                         env)),
-                                    x));
-      env = new_env;
-      loc = scm_last_pair (SCM_MEMOIZED_ARGS (x));
-    }
-  SCM_SETCDR (loc, MAKMEMO_QUOTE (SCM_BOOL_F));
-  return CDR (ret);
-}
+        for (; scm_is_pair (exps); exps = CDR (exps))
+          inits = scm_cons (memoize (CAR (exps), new_env), inits);
+        inits = scm_reverse_x (inits, SCM_UNDEFINED);
 
-static SCM
-scm_m_quote (SCM expr, SCM env SCM_UNUSED)
-{
-  SCM quotee;
+        return MAKMEMO_LET
+          (undefs,
+           MAKMEMO_BEGIN (scm_list_2 (MAKMEMO_LET (inits, MAKMEMO_BEGIN 
(sets)),
+                                      memoize (body, new_env))));
+      }
 
-  const SCM cdr_expr = CDR (expr);
-  ASSERT_SYNTAX (scm_ilength (cdr_expr) >= 0, s_bad_expression, expr);
-  ASSERT_SYNTAX (scm_ilength (cdr_expr) == 1, s_expression, expr);
-  quotee = CAR (cdr_expr);
-  return MAKMEMO_QUOTE (quotee);
-}
+    case SCM_EXPANDED_DYNLET:
+      return MAKMEMO_WITH_FLUIDS (memoize_exps (REF (exp, DYNLET, FLUIDS), 
env),
+                                  memoize_exps (REF (exp, DYNLET, VALS), env),
+                                  memoize (REF (exp, DYNLET, BODY), env));
 
-static SCM
-scm_m_set_x (SCM expr, SCM env)
-{
-  SCM variable;
-  SCM vmem;
-
-  const SCM cdr_expr = CDR (expr);
-  ASSERT_SYNTAX (scm_ilength (cdr_expr) >= 0, s_bad_expression, expr);
-  ASSERT_SYNTAX (scm_ilength (cdr_expr) == 2, s_expression, expr);
-  variable = CAR (cdr_expr);
-  vmem = memoize (variable, env);
-  
-  switch (SCM_MEMOIZED_TAG (vmem))
-    {
-    case SCM_M_LEXICAL_REF:
-      return MAKMEMO_LEX_SET (SCM_I_INUM (SCM_MEMOIZED_ARGS (vmem)),
-                              memoize (CADDR (expr), env));
-    case SCM_M_TOPLEVEL_REF:
-      return MAKMEMO_TOP_SET (variable,
-                              memoize (CADDR (expr), env));
-    case SCM_M_MODULE_REF:
-      return MAKMEMO_MOD_SET (memoize (CADDR (expr), env),
-                              CAR (SCM_MEMOIZED_ARGS (vmem)),
-                              CADR (SCM_MEMOIZED_ARGS (vmem)),
-                              CDDR (SCM_MEMOIZED_ARGS (vmem)));
     default:
-      syntax_error (s_bad_variable, variable, expr);
+      abort ();
     }
 }
 
@@ -1260,6 +404,8 @@ SCM_DEFINE (scm_memoize_expression, "memoize-expression", 
1, 0, 0,
            "Memoize the expression @var{exp}.")
 #define FUNC_NAME s_scm_memoize_expression
 {
+  if (!SCM_EXPANDED_P (exp))
+    exp = scm_macroexpand (exp);
   return memoize (exp, scm_current_module ());
 }
 #undef FUNC_NAME
@@ -1334,167 +480,6 @@ static SCM m_prompt (SCM tag, SCM exp, SCM handler)
 }
 #undef FUNC_NAME
 
-SCM_DEFINE (scm_memoizer_p, "memoizer?", 1, 0, 0,
-            (SCM x), "")
-{
-  return scm_from_bool (SCM_MEMOIZER_P (x));
-}
-
-SCM_DEFINE (scm_memoizer, "memoizer", 1, 0, 0,
-            (SCM memoizer), "")
-{
-  SCM_ASSERT (SCM_MEMOIZER_P (memoizer), memoizer, 1, "memoizer?");
-  return SCM_MEMOIZER (memoizer);
-}
-
-
-
-
-#define SCM_VALIDATE_MEMOIZED_LIST(n, exps)                             \
-  {                                                                     \
-    SCM walk;                                                           \
-    for (walk = exps; scm_is_pair (walk); walk = scm_cdr (walk))        \
-      SCM_ASSERT (SCM_MEMOIZED_P (scm_car (walk)), exps, n, FUNC_NAME); \
-    SCM_ASSERT (scm_is_null (walk), exps, n, FUNC_NAME);                \
-  }
-
-SCM_DEFINE (scm_memoize_begin, "memoize-begin", 1, 0, 0,
-            (SCM exps), "")
-#define FUNC_NAME s_scm_memoize_begin
-{
-  SCM_VALIDATE_MEMOIZED_LIST (1, exps);
-  return MAKMEMO_BEGIN (exps);
-}
-#undef FUNC_NAME
-
-SCM_DEFINE (scm_memoize_if, "memoize-if", 3, 0, 0,
-            (SCM test, SCM then, SCM else_), "")
-#define FUNC_NAME s_scm_memoize_if
-{
-  SCM_VALIDATE_MEMOIZED (1, test);
-  SCM_VALIDATE_MEMOIZED (2, then);
-  SCM_VALIDATE_MEMOIZED (3, else_);
-  return MAKMEMO_IF (test, then, else_);
-}
-#undef FUNC_NAME
-
-SCM_DEFINE (scm_memoize_lambda, "memoize-lambda", 3, 0, 0,
-            (SCM nreq, SCM rest, SCM body), "")
-#define FUNC_NAME s_scm_memoize_lambda
-{
-  SCM_VALIDATE_BOOL (2, rest);
-  SCM_VALIDATE_MEMOIZED (3, body);
-  return MAKMEMO_LAMBDA (body, REST_ARITY (scm_to_uint16 (nreq), rest));
-}
-#undef FUNC_NAME
-
-SCM_DEFINE (scm_memoize_let, "memoize-let", 2, 0, 0,
-            (SCM inits, SCM body), "")
-#define FUNC_NAME s_scm_memoize_let
-{
-  SCM_VALIDATE_MEMOIZED_LIST (1, inits);
-  SCM_VALIDATE_MEMOIZED (2, body);
-  return MAKMEMO_LET (inits, body);
-}
-#undef FUNC_NAME
-
-SCM_DEFINE (scm_memoize_quote, "memoize-quote", 1, 0, 0,
-            (SCM exp), "")
-#define FUNC_NAME s_scm_memoize_quote
-{
-  return MAKMEMO_QUOTE (exp);
-}
-#undef FUNC_NAME
-
-SCM_DEFINE (scm_memoize_define, "memoize-define", 2, 0, 0,
-            (SCM var, SCM val), "")
-#define FUNC_NAME s_scm_memoize_define
-{
-  SCM_VALIDATE_SYMBOL (1, var);
-  SCM_VALIDATE_MEMOIZED (2, val);
-  return MAKMEMO_DEFINE (var, val);
-}
-#undef FUNC_NAME
-
-SCM_DEFINE (scm_memoize_with_fluids, "memoize-with-fluids", 3, 0, 0,
-            (SCM fluids, SCM vals, SCM expr), "")
-#define FUNC_NAME s_scm_memoize_with_fluids
-{
-  SCM_VALIDATE_MEMOIZED_LIST (1, fluids);
-  SCM_VALIDATE_MEMOIZED_LIST (2, vals);
-  SCM_ASSERT (scm_ilength (fluids) == scm_ilength (vals), vals, 2, FUNC_NAME);
-  SCM_VALIDATE_MEMOIZED (3, expr);
-  return MAKMEMO_WITH_FLUIDS (fluids, vals, expr);
-}
-#undef FUNC_NAME
-
-SCM_DEFINE (scm_memoize_call, "memoize-call", 3, 0, 0,
-            (SCM proc, SCM nargs, SCM args), "")
-#define FUNC_NAME s_scm_memoize_call
-{
-  SCM_VALIDATE_MEMOIZED (1, proc);
-  SCM_VALIDATE_MEMOIZED_LIST (3, args);
-  return MAKMEMO_CALL (proc, scm_to_uint16 (nargs), args);
-}
-#undef FUNC_NAME
-
-SCM_DEFINE (scm_memoize_lexical_ref, "memoize-lexical-ref", 1, 0, 0,
-            (SCM n), "")
-#define FUNC_NAME s_scm_memoize_lexical_ref
-{
-  return MAKMEMO_LEX_REF (scm_to_uint16 (n));
-}
-#undef FUNC_NAME
-
-SCM_DEFINE (scm_memoize_lexical_set, "memoize-lexical-set!", 2, 0, 0,
-            (SCM n, SCM val), "")
-#define FUNC_NAME s_scm_memoize_lexical_set
-{
-  SCM_VALIDATE_MEMOIZED (1, val);
-  return MAKMEMO_LEX_SET (n, val);
-}
-#undef FUNC_NAME
-
-SCM_DEFINE (scm_memoize_toplevel_ref, "memoize-toplevel-ref", 1, 0, 0,
-            (SCM var), "")
-#define FUNC_NAME s_scm_memoize_toplevel_ref
-{
-  SCM_VALIDATE_SYMBOL (1, var);
-  return MAKMEMO_TOP_REF (var);
-}
-#undef FUNC_NAME
-
-SCM_DEFINE (scm_memoize_toplevel_set, "memoize-toplevel-set!", 2, 0, 0,
-            (SCM var, SCM val), "")
-#define FUNC_NAME s_scm_memoize_toplevel_set
-{
-  SCM_VALIDATE_SYMBOL (1, var);
-  SCM_VALIDATE_MEMOIZED (2, val);
-  return MAKMEMO_TOP_SET (var, val);
-}
-#undef FUNC_NAME
-
-SCM_DEFINE (scm_memoize_module_ref, "memoize-module-ref", 3, 0, 0,
-            (SCM mod, SCM var, SCM public), "")
-#define FUNC_NAME s_scm_memoize_module_ref
-{
-  SCM_VALIDATE_SYMBOL (2, var);
-  SCM_VALIDATE_BOOL (3, public);
-  return MAKMEMO_MOD_REF (mod, var, public);
-}
-#undef FUNC_NAME
-
-SCM_DEFINE (scm_memoize_module_set, "memoize-module-set!", 4, 0, 0,
-            (SCM val, SCM mod, SCM var, SCM public), "")
-#define FUNC_NAME s_scm_memoize_module_set
-{
-  SCM_VALIDATE_MEMOIZED (1, val);
-  SCM_VALIDATE_SYMBOL (3, var);
-  SCM_VALIDATE_BOOL (4, public);
-  return MAKMEMO_MOD_SET (val, mod, var, public);
-}
-#undef FUNC_NAME
-
 
 
 
@@ -1820,6 +805,7 @@ scm_init_memoize ()
 
   scm_c_define ("macroexpand",
                 scm_variable_ref (scm_c_lookup ("memoize-expression")));
+  list_of_guile = scm_list_1 (scm_from_locale_symbol ("guile"));
 }
 
 /*
diff --git a/libguile/memoize.h b/libguile/memoize.h
index c04031e..d4802a9 100644
--- a/libguile/memoize.h
+++ b/libguile/memoize.h
@@ -107,21 +107,6 @@ SCM_API SCM scm_memoized_p (SCM obj);
 SCM_INTERNAL SCM scm_memoizer_p (SCM obj);
 SCM_INTERNAL SCM scm_memoizer (SCM obj);
 
-SCM_INTERNAL SCM scm_memoize_begin (SCM exps);
-SCM_INTERNAL SCM scm_memoize_if (SCM test, SCM then, SCM else_);
-SCM_INTERNAL SCM scm_memoize_lambda (SCM nreq, SCM rest, SCM body);
-SCM_INTERNAL SCM scm_memoize_let (SCM inits, SCM body);
-SCM_INTERNAL SCM scm_memoize_quote (SCM exp);
-SCM_INTERNAL SCM scm_memoize_define (SCM var, SCM val);
-SCM_INTERNAL SCM scm_memoize_with_fluids (SCM fluids, SCM vals, SCM expr);
-SCM_INTERNAL SCM scm_memoize_call (SCM proc, SCM nargs, SCM args);
-SCM_INTERNAL SCM scm_memoize_lexical_ref (SCM n);
-SCM_INTERNAL SCM scm_memoize_lexical_set (SCM n, SCM val);
-SCM_INTERNAL SCM scm_memoize_toplevel_ref (SCM var);
-SCM_INTERNAL SCM scm_memoize_toplevel_set (SCM var, SCM val);
-SCM_INTERNAL SCM scm_memoize_module_ref (SCM mod, SCM var, SCM public);
-SCM_INTERNAL SCM scm_memoize_module_set (SCM val, SCM mod, SCM var, SCM 
public);
-
 SCM_INTERNAL void scm_init_memoize (void);
 
 
diff --git a/module/ice-9/eval.scm b/module/ice-9/eval.scm
index e6e5f17..460369e 100644
--- a/module/ice-9/eval.scm
+++ b/module/ice-9/eval.scm
@@ -223,7 +223,15 @@
     (define (make-general-closure env body nreq rest? nopt kw inits alt)
       (define alt-proc
         (and alt
-             (apply make-general-closure env (memoized-expression-data alt))))
+             (let* ((body (car alt))
+                    (nreq (cadr alt))
+                    (rest (if (null? (cddr alt)) #f (caddr alt)))
+                    (tail (and (pair? (cddr alt)) (pair? (cdddr alt)) (cdddr 
alt)))
+                    (nopt (if tail (car tail) 0))
+                    (kw (and tail (cadr tail)))
+                    (inits (if tail (caddr tail) '()))
+                    (alt (and tail (cadddr tail))))
+               (make-general-closure env body nreq rest nopt kw inits alt))))
       (lambda %args
         (let lp ((env env)
                  (nreq* nreq)
diff --git a/module/ice-9/psyntax-pp.scm b/module/ice-9/psyntax-pp.scm
index f9ee8f8..8145801 100644
--- a/module/ice-9/psyntax-pp.scm
+++ b/module/ice-9/psyntax-pp.scm
@@ -1,643 +1,657 @@
 (eval-when (compile) (set-current-module (resolve-module (quote (guile)))))
 (if #f #f)
 
-(letrec ((#{and-map*\ 466}#
-           (lambda (#{f\ 528}# #{first\ 529}# . #{rest\ 530}#)
-             (let ((#{t\ 536}# (null? #{first\ 529}#)))
-               (if #{t\ 536}#
-                 #{t\ 536}#
-                 (if (null? #{rest\ 530}#)
-                   (letrec ((#{andmap\ 540}#
-                              (lambda (#{first\ 541}#)
-                                (let ((#{x\ 544}# (car #{first\ 541}#))
-                                      (#{first\ 545}# (cdr #{first\ 541}#)))
-                                  (if (null? #{first\ 545}#)
-                                    (#{f\ 528}# #{x\ 544}#)
-                                    (if (#{f\ 528}# #{x\ 544}#)
-                                      (#{andmap\ 540}# #{first\ 545}#)
+(letrec ((#{and-map*\ 12627}#
+           (lambda (#{f\ 12741}# #{first\ 12742}# . #{rest\ 12743}#)
+             (let ((#{t\ 12749}# (null? #{first\ 12742}#)))
+               (if #{t\ 12749}#
+                 #{t\ 12749}#
+                 (if (null? #{rest\ 12743}#)
+                   (letrec ((#{andmap\ 12753}#
+                              (lambda (#{first\ 12754}#)
+                                (let ((#{x\ 12757}# (car #{first\ 12754}#))
+                                      (#{first\ 12758}#
+                                        (cdr #{first\ 12754}#)))
+                                  (if (null? #{first\ 12758}#)
+                                    (#{f\ 12741}# #{x\ 12757}#)
+                                    (if (#{f\ 12741}# #{x\ 12757}#)
+                                      (#{andmap\ 12753}# #{first\ 12758}#)
                                       #f))))))
-                     (#{andmap\ 540}# #{first\ 529}#))
-                   (letrec ((#{andmap\ 551}#
-                              (lambda (#{first\ 552}# #{rest\ 553}#)
-                                (let ((#{x\ 558}# (car #{first\ 552}#))
-                                      (#{xr\ 559}# (map car #{rest\ 553}#))
-                                      (#{first\ 560}# (cdr #{first\ 552}#))
-                                      (#{rest\ 561}# (map cdr #{rest\ 553}#)))
-                                  (if (null? #{first\ 560}#)
-                                    (apply #{f\ 528}#
-                                           (cons #{x\ 558}# #{xr\ 559}#))
-                                    (if (apply #{f\ 528}#
-                                               (cons #{x\ 558}# #{xr\ 559}#))
-                                      (#{andmap\ 551}#
-                                        #{first\ 560}#
-                                        #{rest\ 561}#)
+                     (#{andmap\ 12753}# #{first\ 12742}#))
+                   (letrec ((#{andmap\ 12764}#
+                              (lambda (#{first\ 12765}# #{rest\ 12766}#)
+                                (let ((#{x\ 12771}# (car #{first\ 12765}#))
+                                      (#{xr\ 12772}# (map car #{rest\ 12766}#))
+                                      (#{first\ 12773}# (cdr #{first\ 12765}#))
+                                      (#{rest\ 12774}#
+                                        (map cdr #{rest\ 12766}#)))
+                                  (if (null? #{first\ 12773}#)
+                                    (apply #{f\ 12741}#
+                                           (cons #{x\ 12771}# #{xr\ 12772}#))
+                                    (if (apply #{f\ 12741}#
+                                               (cons #{x\ 12771}#
+                                                     #{xr\ 12772}#))
+                                      (#{andmap\ 12764}#
+                                        #{first\ 12773}#
+                                        #{rest\ 12774}#)
                                       #f))))))
-                     (#{andmap\ 551}# #{first\ 529}# #{rest\ 530}#))))))))
-  (letrec ((#{lambda-var-list\ 781}#
-             (lambda (#{vars\ 996}#)
-               (letrec ((#{lvl\ 1002}#
-                          (lambda (#{vars\ 1003}# #{ls\ 1004}# #{w\ 1005}#)
-                            (if (pair? #{vars\ 1003}#)
-                              (#{lvl\ 1002}#
-                                (cdr #{vars\ 1003}#)
-                                (cons (#{wrap\ 735}#
-                                        (car #{vars\ 1003}#)
-                                        #{w\ 1005}#
+                     (#{andmap\ 12764}#
+                       #{first\ 12742}#
+                       #{rest\ 12743}#))))))))
+  (letrec ((#{lambda-var-list\ 13031}#
+             (lambda (#{vars\ 13246}#)
+               (letrec ((#{lvl\ 13252}#
+                          (lambda (#{vars\ 13253}# #{ls\ 13254}# #{w\ 13255}#)
+                            (if (pair? #{vars\ 13253}#)
+                              (#{lvl\ 13252}#
+                                (cdr #{vars\ 13253}#)
+                                (cons (#{wrap\ 12985}#
+                                        (car #{vars\ 13253}#)
+                                        #{w\ 13255}#
                                         #f)
-                                      #{ls\ 1004}#)
-                                #{w\ 1005}#)
-                              (if (#{id?\ 666}# #{vars\ 1003}#)
-                                (cons (#{wrap\ 735}#
-                                        #{vars\ 1003}#
-                                        #{w\ 1005}#
+                                      #{ls\ 13254}#)
+                                #{w\ 13255}#)
+                              (if (#{id?\ 12916}# #{vars\ 13253}#)
+                                (cons (#{wrap\ 12985}#
+                                        #{vars\ 13253}#
+                                        #{w\ 13255}#
                                         #f)
-                                      #{ls\ 1004}#)
-                                (if (null? #{vars\ 1003}#)
-                                  #{ls\ 1004}#
-                                  (if (#{syntax-object?\ 630}# #{vars\ 1003}#)
-                                    (#{lvl\ 1002}#
-                                      (#{syntax-object-expression\ 632}#
-                                        #{vars\ 1003}#)
-                                      #{ls\ 1004}#
-                                      (#{join-wraps\ 717}#
-                                        #{w\ 1005}#
-                                        (#{syntax-object-wrap\ 634}#
-                                          #{vars\ 1003}#)))
-                                    (cons #{vars\ 1003}# #{ls\ 1004}#))))))))
-                 (#{lvl\ 1002}#
-                   #{vars\ 996}#
+                                      #{ls\ 13254}#)
+                                (if (null? #{vars\ 13253}#)
+                                  #{ls\ 13254}#
+                                  (if (#{syntax-object?\ 12880}#
+                                        #{vars\ 13253}#)
+                                    (#{lvl\ 13252}#
+                                      (#{syntax-object-expression\ 12882}#
+                                        #{vars\ 13253}#)
+                                      #{ls\ 13254}#
+                                      (#{join-wraps\ 12967}#
+                                        #{w\ 13255}#
+                                        (#{syntax-object-wrap\ 12884}#
+                                          #{vars\ 13253}#)))
+                                    (cons #{vars\ 13253}# #{ls\ 13254}#))))))))
+                 (#{lvl\ 13252}#
+                   #{vars\ 13246}#
                    '()
                    '(())))))
-           (#{gen-var\ 779}#
-             (lambda (#{id\ 1016}#)
-               (let ((#{id\ 1019}#
-                       (if (#{syntax-object?\ 630}# #{id\ 1016}#)
-                         (#{syntax-object-expression\ 632}# #{id\ 1016}#)
-                         #{id\ 1016}#)))
+           (#{gen-var\ 13029}#
+             (lambda (#{id\ 13266}#)
+               (let ((#{id\ 13269}#
+                       (if (#{syntax-object?\ 12880}# #{id\ 13266}#)
+                         (#{syntax-object-expression\ 12882}#
+                           #{id\ 13266}#)
+                         #{id\ 13266}#)))
                  (gensym
-                   (string-append (symbol->string #{id\ 1019}#) " ")))))
-           (#{strip\ 777}#
-             (lambda (#{x\ 1021}# #{w\ 1022}#)
+                   (string-append
+                     (symbol->string #{id\ 13269}#)
+                     " ")))))
+           (#{strip\ 13027}#
+             (lambda (#{x\ 13271}# #{w\ 13272}#)
                (if (memq 'top
-                         (#{wrap-marks\ 673}# #{w\ 1022}#))
-                 #{x\ 1021}#
-                 (letrec ((#{f\ 1028}#
-                            (lambda (#{x\ 1029}#)
-                              (if (#{syntax-object?\ 630}# #{x\ 1029}#)
-                                (#{strip\ 777}#
-                                  (#{syntax-object-expression\ 632}#
-                                    #{x\ 1029}#)
-                                  (#{syntax-object-wrap\ 634}# #{x\ 1029}#))
-                                (if (pair? #{x\ 1029}#)
-                                  (let ((#{a\ 1036}#
-                                          (#{f\ 1028}# (car #{x\ 1029}#)))
-                                        (#{d\ 1037}#
-                                          (#{f\ 1028}# (cdr #{x\ 1029}#))))
-                                    (if (if (eq? #{a\ 1036}# (car #{x\ 1029}#))
-                                          (eq? #{d\ 1037}# (cdr #{x\ 1029}#))
+                         (#{wrap-marks\ 12923}# #{w\ 13272}#))
+                 #{x\ 13271}#
+                 (letrec ((#{f\ 13278}#
+                            (lambda (#{x\ 13279}#)
+                              (if (#{syntax-object?\ 12880}# #{x\ 13279}#)
+                                (#{strip\ 13027}#
+                                  (#{syntax-object-expression\ 12882}#
+                                    #{x\ 13279}#)
+                                  (#{syntax-object-wrap\ 12884}# #{x\ 13279}#))
+                                (if (pair? #{x\ 13279}#)
+                                  (let ((#{a\ 13286}#
+                                          (#{f\ 13278}# (car #{x\ 13279}#)))
+                                        (#{d\ 13287}#
+                                          (#{f\ 13278}# (cdr #{x\ 13279}#))))
+                                    (if (if (eq? #{a\ 13286}#
+                                                 (car #{x\ 13279}#))
+                                          (eq? #{d\ 13287}# (cdr #{x\ 13279}#))
                                           #f)
-                                      #{x\ 1029}#
-                                      (cons #{a\ 1036}# #{d\ 1037}#)))
-                                  (if (vector? #{x\ 1029}#)
-                                    (let ((#{old\ 1043}#
-                                            (vector->list #{x\ 1029}#)))
-                                      (let ((#{new\ 1045}#
-                                              (map #{f\ 1028}# #{old\ 1043}#)))
-                                        (if (#{and-map*\ 466}#
+                                      #{x\ 13279}#
+                                      (cons #{a\ 13286}# #{d\ 13287}#)))
+                                  (if (vector? #{x\ 13279}#)
+                                    (let ((#{old\ 13293}#
+                                            (vector->list #{x\ 13279}#)))
+                                      (let ((#{new\ 13295}#
+                                              (map #{f\ 13278}#
+                                                   #{old\ 13293}#)))
+                                        (if (#{and-map*\ 12627}#
                                               eq?
-                                              #{old\ 1043}#
-                                              #{new\ 1045}#)
-                                          #{x\ 1029}#
-                                          (list->vector #{new\ 1045}#))))
-                                    #{x\ 1029}#))))))
-                   (#{f\ 1028}# #{x\ 1021}#)))))
-           (#{chi-lambda-case\ 775}#
-             (lambda (#{e\ 1047}#
-                      #{r\ 1048}#
-                      #{w\ 1049}#
-                      #{s\ 1050}#
-                      #{mod\ 1051}#
-                      #{get-formals\ 1052}#
-                      #{clauses\ 1053}#)
-               (letrec ((#{expand-body\ 1068}#
-                          (lambda (#{req\ 1069}#
-                                   #{opt\ 1070}#
-                                   #{rest\ 1071}#
-                                   #{kw\ 1072}#
-                                   #{body\ 1073}#
-                                   #{vars\ 1074}#
-                                   #{r*\ 1075}#
-                                   #{w*\ 1076}#
-                                   #{inits\ 1077}#
-                                   #{meta\ 1078}#)
-                            ((lambda (#{tmp\ 1089}#)
-                               ((lambda (#{tmp\ 1090}#)
-                                  (if (if #{tmp\ 1090}#
-                                        (apply (lambda (#{docstring\ 1094}#
-                                                        #{e1\ 1095}#
-                                                        #{e2\ 1096}#)
+                                              #{old\ 13293}#
+                                              #{new\ 13295}#)
+                                          #{x\ 13279}#
+                                          (list->vector #{new\ 13295}#))))
+                                    #{x\ 13279}#))))))
+                   (#{f\ 13278}# #{x\ 13271}#)))))
+           (#{chi-lambda-case\ 13025}#
+             (lambda (#{e\ 13297}#
+                      #{r\ 13298}#
+                      #{w\ 13299}#
+                      #{s\ 13300}#
+                      #{mod\ 13301}#
+                      #{get-formals\ 13302}#
+                      #{clauses\ 13303}#)
+               (letrec ((#{expand-body\ 13318}#
+                          (lambda (#{req\ 13319}#
+                                   #{opt\ 13320}#
+                                   #{rest\ 13321}#
+                                   #{kw\ 13322}#
+                                   #{body\ 13323}#
+                                   #{vars\ 13324}#
+                                   #{r*\ 13325}#
+                                   #{w*\ 13326}#
+                                   #{inits\ 13327}#
+                                   #{meta\ 13328}#)
+                            ((lambda (#{tmp\ 13339}#)
+                               ((lambda (#{tmp\ 13340}#)
+                                  (if (if #{tmp\ 13340}#
+                                        (apply (lambda (#{docstring\ 13344}#
+                                                        #{e1\ 13345}#
+                                                        #{e2\ 13346}#)
                                                  (string?
                                                    (syntax->datum
-                                                     #{docstring\ 1094}#)))
-                                               #{tmp\ 1090}#)
+                                                     #{docstring\ 13344}#)))
+                                               #{tmp\ 13340}#)
                                         #f)
-                                    (apply (lambda (#{docstring\ 1100}#
-                                                    #{e1\ 1101}#
-                                                    #{e2\ 1102}#)
-                                             (#{expand-body\ 1068}#
-                                               #{req\ 1069}#
-                                               #{opt\ 1070}#
-                                               #{rest\ 1071}#
-                                               #{kw\ 1072}#
-                                               (cons #{e1\ 1101}# #{e2\ 1102}#)
-                                               #{vars\ 1074}#
-                                               #{r*\ 1075}#
-                                               #{w*\ 1076}#
-                                               #{inits\ 1077}#
+                                    (apply (lambda (#{docstring\ 13350}#
+                                                    #{e1\ 13351}#
+                                                    #{e2\ 13352}#)
+                                             (#{expand-body\ 13318}#
+                                               #{req\ 13319}#
+                                               #{opt\ 13320}#
+                                               #{rest\ 13321}#
+                                               #{kw\ 13322}#
+                                               (cons #{e1\ 13351}#
+                                                     #{e2\ 13352}#)
+                                               #{vars\ 13324}#
+                                               #{r*\ 13325}#
+                                               #{w*\ 13326}#
+                                               #{inits\ 13327}#
                                                (append
-                                                 #{meta\ 1078}#
+                                                 #{meta\ 13328}#
                                                  (list (cons 'documentation
                                                              (syntax->datum
-                                                               #{docstring\ 
1100}#))))))
-                                           #{tmp\ 1090}#)
-                                    ((lambda (#{tmp\ 1105}#)
-                                       (if #{tmp\ 1105}#
-                                         (apply (lambda (#{k\ 1110}#
-                                                         #{v\ 1111}#
-                                                         #{e1\ 1112}#
-                                                         #{e2\ 1113}#)
-                                                  (#{expand-body\ 1068}#
-                                                    #{req\ 1069}#
-                                                    #{opt\ 1070}#
-                                                    #{rest\ 1071}#
-                                                    #{kw\ 1072}#
-                                                    (cons #{e1\ 1112}#
-                                                          #{e2\ 1113}#)
-                                                    #{vars\ 1074}#
-                                                    #{r*\ 1075}#
-                                                    #{w*\ 1076}#
-                                                    #{inits\ 1077}#
+                                                               #{docstring\ 
13350}#))))))
+                                           #{tmp\ 13340}#)
+                                    ((lambda (#{tmp\ 13355}#)
+                                       (if #{tmp\ 13355}#
+                                         (apply (lambda (#{k\ 13360}#
+                                                         #{v\ 13361}#
+                                                         #{e1\ 13362}#
+                                                         #{e2\ 13363}#)
+                                                  (#{expand-body\ 13318}#
+                                                    #{req\ 13319}#
+                                                    #{opt\ 13320}#
+                                                    #{rest\ 13321}#
+                                                    #{kw\ 13322}#
+                                                    (cons #{e1\ 13362}#
+                                                          #{e2\ 13363}#)
+                                                    #{vars\ 13324}#
+                                                    #{r*\ 13325}#
+                                                    #{w*\ 13326}#
+                                                    #{inits\ 13327}#
                                                     (append
-                                                      #{meta\ 1078}#
+                                                      #{meta\ 13328}#
                                                       (syntax->datum
                                                         (map cons
-                                                             #{k\ 1110}#
-                                                             #{v\ 1111}#)))))
-                                                #{tmp\ 1105}#)
-                                         ((lambda (#{tmp\ 1117}#)
-                                            (if #{tmp\ 1117}#
-                                              (apply (lambda (#{e1\ 1120}#
-                                                              #{e2\ 1121}#)
+                                                             #{k\ 13360}#
+                                                             #{v\ 13361}#)))))
+                                                #{tmp\ 13355}#)
+                                         ((lambda (#{tmp\ 13367}#)
+                                            (if #{tmp\ 13367}#
+                                              (apply (lambda (#{e1\ 13370}#
+                                                              #{e2\ 13371}#)
                                                        (values
-                                                         #{meta\ 1078}#
-                                                         #{req\ 1069}#
-                                                         #{opt\ 1070}#
-                                                         #{rest\ 1071}#
-                                                         #{kw\ 1072}#
-                                                         #{inits\ 1077}#
-                                                         #{vars\ 1074}#
-                                                         (#{chi-body\ 759}#
-                                                           (cons #{e1\ 1120}#
-                                                                 #{e2\ 1121}#)
-                                                           (#{source-wrap\ 
737}#
-                                                             #{e\ 1047}#
-                                                             #{w\ 1049}#
-                                                             #{s\ 1050}#
-                                                             #{mod\ 1051}#)
-                                                           #{r*\ 1075}#
-                                                           #{w*\ 1076}#
-                                                           #{mod\ 1051}#)))
-                                                     #{tmp\ 1117}#)
+                                                         #{meta\ 13328}#
+                                                         #{req\ 13319}#
+                                                         #{opt\ 13320}#
+                                                         #{rest\ 13321}#
+                                                         #{kw\ 13322}#
+                                                         #{inits\ 13327}#
+                                                         #{vars\ 13324}#
+                                                         (#{chi-body\ 13009}#
+                                                           (cons #{e1\ 13370}#
+                                                                 #{e2\ 13371}#)
+                                                           (#{source-wrap\ 
12987}#
+                                                             #{e\ 13297}#
+                                                             #{w\ 13299}#
+                                                             #{s\ 13300}#
+                                                             #{mod\ 13301}#)
+                                                           #{r*\ 13325}#
+                                                           #{w*\ 13326}#
+                                                           #{mod\ 13301}#)))
+                                                     #{tmp\ 13367}#)
                                               (syntax-violation
                                                 #f
                                                 "source expression failed to 
match any pattern"
-                                                #{tmp\ 1089}#)))
+                                                #{tmp\ 13339}#)))
                                           ($sc-dispatch
-                                            #{tmp\ 1089}#
+                                            #{tmp\ 13339}#
                                             '(any . each-any)))))
                                      ($sc-dispatch
-                                       #{tmp\ 1089}#
+                                       #{tmp\ 13339}#
                                        '(#(vector #(each (any . any)))
                                          any
                                          .
                                          each-any)))))
                                 ($sc-dispatch
-                                  #{tmp\ 1089}#
+                                  #{tmp\ 13339}#
                                   '(any any . each-any))))
-                             #{body\ 1073}#)))
-                        (#{expand-kw\ 1066}#
-                          (lambda (#{req\ 1123}#
-                                   #{opt\ 1124}#
-                                   #{rest\ 1125}#
-                                   #{kw\ 1126}#
-                                   #{body\ 1127}#
-                                   #{vars\ 1128}#
-                                   #{r*\ 1129}#
-                                   #{w*\ 1130}#
-                                   #{aok\ 1131}#
-                                   #{out\ 1132}#
-                                   #{inits\ 1133}#)
-                            (if (pair? #{kw\ 1126}#)
-                              ((lambda (#{tmp\ 1147}#)
-                                 ((lambda (#{tmp\ 1148}#)
-                                    (if #{tmp\ 1148}#
-                                      (apply (lambda (#{k\ 1152}#
-                                                      #{id\ 1153}#
-                                                      #{i\ 1154}#)
-                                               (let ((#{v\ 1157}#
-                                                       (#{gen-var\ 779}#
-                                                         #{id\ 1153}#)))
-                                                 (let ((#{l\ 1159}#
-                                                         (#{gen-labels\ 684}#
-                                                           (list #{v\ 
1157}#))))
-                                                   (let ((#{r**\ 1161}#
-                                                           (#{extend-var-env\ 
656}#
-                                                             #{l\ 1159}#
-                                                             (list #{v\ 1157}#)
-                                                             #{r*\ 1129}#)))
-                                                     (let ((#{w**\ 1163}#
-                                                             
(#{make-binding-wrap\ 713}#
-                                                               (list #{id\ 
1153}#)
-                                                               #{l\ 1159}#
-                                                               #{w*\ 1130}#)))
-                                                       (#{expand-kw\ 1066}#
-                                                         #{req\ 1123}#
-                                                         #{opt\ 1124}#
-                                                         #{rest\ 1125}#
-                                                         (cdr #{kw\ 1126}#)
-                                                         #{body\ 1127}#
-                                                         (cons #{v\ 1157}#
-                                                               #{vars\ 1128}#)
-                                                         #{r**\ 1161}#
-                                                         #{w**\ 1163}#
-                                                         #{aok\ 1131}#
+                             #{body\ 13323}#)))
+                        (#{expand-kw\ 13316}#
+                          (lambda (#{req\ 13373}#
+                                   #{opt\ 13374}#
+                                   #{rest\ 13375}#
+                                   #{kw\ 13376}#
+                                   #{body\ 13377}#
+                                   #{vars\ 13378}#
+                                   #{r*\ 13379}#
+                                   #{w*\ 13380}#
+                                   #{aok\ 13381}#
+                                   #{out\ 13382}#
+                                   #{inits\ 13383}#)
+                            (if (pair? #{kw\ 13376}#)
+                              ((lambda (#{tmp\ 13397}#)
+                                 ((lambda (#{tmp\ 13398}#)
+                                    (if #{tmp\ 13398}#
+                                      (apply (lambda (#{k\ 13402}#
+                                                      #{id\ 13403}#
+                                                      #{i\ 13404}#)
+                                               (let ((#{v\ 13407}#
+                                                       (#{gen-var\ 13029}#
+                                                         #{id\ 13403}#)))
+                                                 (let ((#{l\ 13409}#
+                                                         (#{gen-labels\ 12934}#
+                                                           (list #{v\ 
13407}#))))
+                                                   (let ((#{r**\ 13411}#
+                                                           (#{extend-var-env\ 
12906}#
+                                                             #{l\ 13409}#
+                                                             (list #{v\ 
13407}#)
+                                                             #{r*\ 13379}#)))
+                                                     (let ((#{w**\ 13413}#
+                                                             
(#{make-binding-wrap\ 12963}#
+                                                               (list #{id\ 
13403}#)
+                                                               #{l\ 13409}#
+                                                               #{w*\ 13380}#)))
+                                                       (#{expand-kw\ 13316}#
+                                                         #{req\ 13373}#
+                                                         #{opt\ 13374}#
+                                                         #{rest\ 13375}#
+                                                         (cdr #{kw\ 13376}#)
+                                                         #{body\ 13377}#
+                                                         (cons #{v\ 13407}#
+                                                               #{vars\ 13378}#)
+                                                         #{r**\ 13411}#
+                                                         #{w**\ 13413}#
+                                                         #{aok\ 13381}#
                                                          (cons (list 
(syntax->datum
-                                                                       #{k\ 
1152}#)
+                                                                       #{k\ 
13402}#)
                                                                      
(syntax->datum
-                                                                       #{id\ 
1153}#)
-                                                                     #{v\ 
1157}#)
-                                                               #{out\ 1132}#)
-                                                         (cons (#{chi\ 751}#
-                                                                 #{i\ 1154}#
-                                                                 #{r*\ 1129}#
-                                                                 #{w*\ 1130}#
-                                                                 #{mod\ 1051}#)
-                                                               #{inits\ 
1133}#)))))))
-                                             #{tmp\ 1148}#)
+                                                                       #{id\ 
13403}#)
+                                                                     #{v\ 
13407}#)
+                                                               #{out\ 13382}#)
+                                                         (cons (#{chi\ 13001}#
+                                                                 #{i\ 13404}#
+                                                                 #{r*\ 13379}#
+                                                                 #{w*\ 13380}#
+                                                                 #{mod\ 
13301}#)
+                                                               #{inits\ 
13383}#)))))))
+                                             #{tmp\ 13398}#)
                                       (syntax-violation
                                         #f
                                         "source expression failed to match any 
pattern"
-                                        #{tmp\ 1147}#)))
+                                        #{tmp\ 13397}#)))
                                   ($sc-dispatch
-                                    #{tmp\ 1147}#
+                                    #{tmp\ 13397}#
                                     '(any any any))))
-                               (car #{kw\ 1126}#))
-                              (#{expand-body\ 1068}#
-                                #{req\ 1123}#
-                                #{opt\ 1124}#
-                                #{rest\ 1125}#
-                                (if (let ((#{t\ 1167}# #{aok\ 1131}#))
-                                      (if #{t\ 1167}#
-                                        #{t\ 1167}#
-                                        (pair? #{out\ 1132}#)))
-                                  (cons #{aok\ 1131}# (reverse #{out\ 1132}#))
+                               (car #{kw\ 13376}#))
+                              (#{expand-body\ 13318}#
+                                #{req\ 13373}#
+                                #{opt\ 13374}#
+                                #{rest\ 13375}#
+                                (if (let ((#{t\ 13417}# #{aok\ 13381}#))
+                                      (if #{t\ 13417}#
+                                        #{t\ 13417}#
+                                        (pair? #{out\ 13382}#)))
+                                  (cons #{aok\ 13381}#
+                                        (reverse #{out\ 13382}#))
                                   #f)
-                                #{body\ 1127}#
-                                (reverse #{vars\ 1128}#)
-                                #{r*\ 1129}#
-                                #{w*\ 1130}#
-                                (reverse #{inits\ 1133}#)
+                                #{body\ 13377}#
+                                (reverse #{vars\ 13378}#)
+                                #{r*\ 13379}#
+                                #{w*\ 13380}#
+                                (reverse #{inits\ 13383}#)
                                 '()))))
-                        (#{expand-opt\ 1064}#
-                          (lambda (#{req\ 1169}#
-                                   #{opt\ 1170}#
-                                   #{rest\ 1171}#
-                                   #{kw\ 1172}#
-                                   #{body\ 1173}#
-                                   #{vars\ 1174}#
-                                   #{r*\ 1175}#
-                                   #{w*\ 1176}#
-                                   #{out\ 1177}#
-                                   #{inits\ 1178}#)
-                            (if (pair? #{opt\ 1170}#)
-                              ((lambda (#{tmp\ 1191}#)
-                                 ((lambda (#{tmp\ 1192}#)
-                                    (if #{tmp\ 1192}#
-                                      (apply (lambda (#{id\ 1195}# #{i\ 1196}#)
-                                               (let ((#{v\ 1199}#
-                                                       (#{gen-var\ 779}#
-                                                         #{id\ 1195}#)))
-                                                 (let ((#{l\ 1201}#
-                                                         (#{gen-labels\ 684}#
-                                                           (list #{v\ 
1199}#))))
-                                                   (let ((#{r**\ 1203}#
-                                                           (#{extend-var-env\ 
656}#
-                                                             #{l\ 1201}#
-                                                             (list #{v\ 1199}#)
-                                                             #{r*\ 1175}#)))
-                                                     (let ((#{w**\ 1205}#
-                                                             
(#{make-binding-wrap\ 713}#
-                                                               (list #{id\ 
1195}#)
-                                                               #{l\ 1201}#
-                                                               #{w*\ 1176}#)))
-                                                       (#{expand-opt\ 1064}#
-                                                         #{req\ 1169}#
-                                                         (cdr #{opt\ 1170}#)
-                                                         #{rest\ 1171}#
-                                                         #{kw\ 1172}#
-                                                         #{body\ 1173}#
-                                                         (cons #{v\ 1199}#
-                                                               #{vars\ 1174}#)
-                                                         #{r**\ 1203}#
-                                                         #{w**\ 1205}#
+                        (#{expand-opt\ 13314}#
+                          (lambda (#{req\ 13419}#
+                                   #{opt\ 13420}#
+                                   #{rest\ 13421}#
+                                   #{kw\ 13422}#
+                                   #{body\ 13423}#
+                                   #{vars\ 13424}#
+                                   #{r*\ 13425}#
+                                   #{w*\ 13426}#
+                                   #{out\ 13427}#
+                                   #{inits\ 13428}#)
+                            (if (pair? #{opt\ 13420}#)
+                              ((lambda (#{tmp\ 13441}#)
+                                 ((lambda (#{tmp\ 13442}#)
+                                    (if #{tmp\ 13442}#
+                                      (apply (lambda (#{id\ 13445}#
+                                                      #{i\ 13446}#)
+                                               (let ((#{v\ 13449}#
+                                                       (#{gen-var\ 13029}#
+                                                         #{id\ 13445}#)))
+                                                 (let ((#{l\ 13451}#
+                                                         (#{gen-labels\ 12934}#
+                                                           (list #{v\ 
13449}#))))
+                                                   (let ((#{r**\ 13453}#
+                                                           (#{extend-var-env\ 
12906}#
+                                                             #{l\ 13451}#
+                                                             (list #{v\ 
13449}#)
+                                                             #{r*\ 13425}#)))
+                                                     (let ((#{w**\ 13455}#
+                                                             
(#{make-binding-wrap\ 12963}#
+                                                               (list #{id\ 
13445}#)
+                                                               #{l\ 13451}#
+                                                               #{w*\ 13426}#)))
+                                                       (#{expand-opt\ 13314}#
+                                                         #{req\ 13419}#
+                                                         (cdr #{opt\ 13420}#)
+                                                         #{rest\ 13421}#
+                                                         #{kw\ 13422}#
+                                                         #{body\ 13423}#
+                                                         (cons #{v\ 13449}#
+                                                               #{vars\ 13424}#)
+                                                         #{r**\ 13453}#
+                                                         #{w**\ 13455}#
                                                          (cons (syntax->datum
-                                                                 #{id\ 1195}#)
-                                                               #{out\ 1177}#)
-                                                         (cons (#{chi\ 751}#
-                                                                 #{i\ 1196}#
-                                                                 #{r*\ 1175}#
-                                                                 #{w*\ 1176}#
-                                                                 #{mod\ 1051}#)
-                                                               #{inits\ 
1178}#)))))))
-                                             #{tmp\ 1192}#)
+                                                                 #{id\ 13445}#)
+                                                               #{out\ 13427}#)
+                                                         (cons (#{chi\ 13001}#
+                                                                 #{i\ 13446}#
+                                                                 #{r*\ 13425}#
+                                                                 #{w*\ 13426}#
+                                                                 #{mod\ 
13301}#)
+                                                               #{inits\ 
13428}#)))))))
+                                             #{tmp\ 13442}#)
                                       (syntax-violation
                                         #f
                                         "source expression failed to match any 
pattern"
-                                        #{tmp\ 1191}#)))
+                                        #{tmp\ 13441}#)))
                                   ($sc-dispatch
-                                    #{tmp\ 1191}#
+                                    #{tmp\ 13441}#
                                     '(any any))))
-                               (car #{opt\ 1170}#))
-                              (if #{rest\ 1171}#
-                                (let ((#{v\ 1210}#
-                                        (#{gen-var\ 779}# #{rest\ 1171}#)))
-                                  (let ((#{l\ 1212}#
-                                          (#{gen-labels\ 684}#
-                                            (list #{v\ 1210}#))))
-                                    (let ((#{r*\ 1214}#
-                                            (#{extend-var-env\ 656}#
-                                              #{l\ 1212}#
-                                              (list #{v\ 1210}#)
-                                              #{r*\ 1175}#)))
-                                      (let ((#{w*\ 1216}#
-                                              (#{make-binding-wrap\ 713}#
-                                                (list #{rest\ 1171}#)
-                                                #{l\ 1212}#
-                                                #{w*\ 1176}#)))
-                                        (#{expand-kw\ 1066}#
-                                          #{req\ 1169}#
-                                          (if (pair? #{out\ 1177}#)
-                                            (reverse #{out\ 1177}#)
+                               (car #{opt\ 13420}#))
+                              (if #{rest\ 13421}#
+                                (let ((#{v\ 13460}#
+                                        (#{gen-var\ 13029}# #{rest\ 13421}#)))
+                                  (let ((#{l\ 13462}#
+                                          (#{gen-labels\ 12934}#
+                                            (list #{v\ 13460}#))))
+                                    (let ((#{r*\ 13464}#
+                                            (#{extend-var-env\ 12906}#
+                                              #{l\ 13462}#
+                                              (list #{v\ 13460}#)
+                                              #{r*\ 13425}#)))
+                                      (let ((#{w*\ 13466}#
+                                              (#{make-binding-wrap\ 12963}#
+                                                (list #{rest\ 13421}#)
+                                                #{l\ 13462}#
+                                                #{w*\ 13426}#)))
+                                        (#{expand-kw\ 13316}#
+                                          #{req\ 13419}#
+                                          (if (pair? #{out\ 13427}#)
+                                            (reverse #{out\ 13427}#)
                                             #f)
-                                          (syntax->datum #{rest\ 1171}#)
-                                          (if (pair? #{kw\ 1172}#)
-                                            (cdr #{kw\ 1172}#)
-                                            #{kw\ 1172}#)
-                                          #{body\ 1173}#
-                                          (cons #{v\ 1210}# #{vars\ 1174}#)
-                                          #{r*\ 1214}#
-                                          #{w*\ 1216}#
-                                          (if (pair? #{kw\ 1172}#)
-                                            (car #{kw\ 1172}#)
+                                          (syntax->datum #{rest\ 13421}#)
+                                          (if (pair? #{kw\ 13422}#)
+                                            (cdr #{kw\ 13422}#)
+                                            #{kw\ 13422}#)
+                                          #{body\ 13423}#
+                                          (cons #{v\ 13460}# #{vars\ 13424}#)
+                                          #{r*\ 13464}#
+                                          #{w*\ 13466}#
+                                          (if (pair? #{kw\ 13422}#)
+                                            (car #{kw\ 13422}#)
                                             #f)
                                           '()
-                                          #{inits\ 1178}#)))))
-                                (#{expand-kw\ 1066}#
-                                  #{req\ 1169}#
-                                  (if (pair? #{out\ 1177}#)
-                                    (reverse #{out\ 1177}#)
+                                          #{inits\ 13428}#)))))
+                                (#{expand-kw\ 13316}#
+                                  #{req\ 13419}#
+                                  (if (pair? #{out\ 13427}#)
+                                    (reverse #{out\ 13427}#)
                                     #f)
                                   #f
-                                  (if (pair? #{kw\ 1172}#)
-                                    (cdr #{kw\ 1172}#)
-                                    #{kw\ 1172}#)
-                                  #{body\ 1173}#
-                                  #{vars\ 1174}#
-                                  #{r*\ 1175}#
-                                  #{w*\ 1176}#
-                                  (if (pair? #{kw\ 1172}#)
-                                    (car #{kw\ 1172}#)
+                                  (if (pair? #{kw\ 13422}#)
+                                    (cdr #{kw\ 13422}#)
+                                    #{kw\ 13422}#)
+                                  #{body\ 13423}#
+                                  #{vars\ 13424}#
+                                  #{r*\ 13425}#
+                                  #{w*\ 13426}#
+                                  (if (pair? #{kw\ 13422}#)
+                                    (car #{kw\ 13422}#)
                                     #f)
                                   '()
-                                  #{inits\ 1178}#)))))
-                        (#{expand-req\ 1062}#
-                          (lambda (#{req\ 1218}#
-                                   #{opt\ 1219}#
-                                   #{rest\ 1220}#
-                                   #{kw\ 1221}#
-                                   #{body\ 1222}#)
-                            (let ((#{vars\ 1230}#
-                                    (map #{gen-var\ 779}# #{req\ 1218}#))
-                                  (#{labels\ 1231}#
-                                    (#{gen-labels\ 684}# #{req\ 1218}#)))
-                              (let ((#{r*\ 1234}#
-                                      (#{extend-var-env\ 656}#
-                                        #{labels\ 1231}#
-                                        #{vars\ 1230}#
-                                        #{r\ 1048}#))
-                                    (#{w*\ 1235}#
-                                      (#{make-binding-wrap\ 713}#
-                                        #{req\ 1218}#
-                                        #{labels\ 1231}#
-                                        #{w\ 1049}#)))
-                                (#{expand-opt\ 1064}#
-                                  (map syntax->datum #{req\ 1218}#)
-                                  #{opt\ 1219}#
-                                  #{rest\ 1220}#
-                                  #{kw\ 1221}#
-                                  #{body\ 1222}#
-                                  (reverse #{vars\ 1230}#)
-                                  #{r*\ 1234}#
-                                  #{w*\ 1235}#
+                                  #{inits\ 13428}#)))))
+                        (#{expand-req\ 13312}#
+                          (lambda (#{req\ 13468}#
+                                   #{opt\ 13469}#
+                                   #{rest\ 13470}#
+                                   #{kw\ 13471}#
+                                   #{body\ 13472}#)
+                            (let ((#{vars\ 13480}#
+                                    (map #{gen-var\ 13029}# #{req\ 13468}#))
+                                  (#{labels\ 13481}#
+                                    (#{gen-labels\ 12934}# #{req\ 13468}#)))
+                              (let ((#{r*\ 13484}#
+                                      (#{extend-var-env\ 12906}#
+                                        #{labels\ 13481}#
+                                        #{vars\ 13480}#
+                                        #{r\ 13298}#))
+                                    (#{w*\ 13485}#
+                                      (#{make-binding-wrap\ 12963}#
+                                        #{req\ 13468}#
+                                        #{labels\ 13481}#
+                                        #{w\ 13299}#)))
+                                (#{expand-opt\ 13314}#
+                                  (map syntax->datum #{req\ 13468}#)
+                                  #{opt\ 13469}#
+                                  #{rest\ 13470}#
+                                  #{kw\ 13471}#
+                                  #{body\ 13472}#
+                                  (reverse #{vars\ 13480}#)
+                                  #{r*\ 13484}#
+                                  #{w*\ 13485}#
                                   '()
                                   '()))))))
-                 ((lambda (#{tmp\ 1236}#)
-                    ((lambda (#{tmp\ 1237}#)
-                       (if #{tmp\ 1237}#
+                 ((lambda (#{tmp\ 13486}#)
+                    ((lambda (#{tmp\ 13487}#)
+                       (if #{tmp\ 13487}#
                          (apply (lambda () (values (quote ()) #f))
-                                #{tmp\ 1237}#)
-                         ((lambda (#{tmp\ 1238}#)
-                            (if #{tmp\ 1238}#
-                              (apply (lambda (#{args\ 1245}#
-                                              #{e1\ 1246}#
-                                              #{e2\ 1247}#
-                                              #{args*\ 1248}#
-                                              #{e1*\ 1249}#
-                                              #{e2*\ 1250}#)
+                                #{tmp\ 13487}#)
+                         ((lambda (#{tmp\ 13488}#)
+                            (if #{tmp\ 13488}#
+                              (apply (lambda (#{args\ 13495}#
+                                              #{e1\ 13496}#
+                                              #{e2\ 13497}#
+                                              #{args*\ 13498}#
+                                              #{e1*\ 13499}#
+                                              #{e2*\ 13500}#)
                                        (call-with-values
                                          (lambda ()
-                                           (#{get-formals\ 1052}#
-                                             #{args\ 1245}#))
-                                         (lambda (#{req\ 1251}#
-                                                  #{opt\ 1252}#
-                                                  #{rest\ 1253}#
-                                                  #{kw\ 1254}#)
+                                           (#{get-formals\ 13302}#
+                                             #{args\ 13495}#))
+                                         (lambda (#{req\ 13501}#
+                                                  #{opt\ 13502}#
+                                                  #{rest\ 13503}#
+                                                  #{kw\ 13504}#)
                                            (call-with-values
                                              (lambda ()
-                                               (#{expand-req\ 1062}#
-                                                 #{req\ 1251}#
-                                                 #{opt\ 1252}#
-                                                 #{rest\ 1253}#
-                                                 #{kw\ 1254}#
-                                                 (cons #{e1\ 1246}#
-                                                       #{e2\ 1247}#)))
-                                             (lambda (#{meta\ 1260}#
-                                                      #{req\ 1261}#
-                                                      #{opt\ 1262}#
-                                                      #{rest\ 1263}#
-                                                      #{kw\ 1264}#
-                                                      #{inits\ 1265}#
-                                                      #{vars\ 1266}#
-                                                      #{body\ 1267}#)
+                                               (#{expand-req\ 13312}#
+                                                 #{req\ 13501}#
+                                                 #{opt\ 13502}#
+                                                 #{rest\ 13503}#
+                                                 #{kw\ 13504}#
+                                                 (cons #{e1\ 13496}#
+                                                       #{e2\ 13497}#)))
+                                             (lambda (#{meta\ 13510}#
+                                                      #{req\ 13511}#
+                                                      #{opt\ 13512}#
+                                                      #{rest\ 13513}#
+                                                      #{kw\ 13514}#
+                                                      #{inits\ 13515}#
+                                                      #{vars\ 13516}#
+                                                      #{body\ 13517}#)
                                                (call-with-values
                                                  (lambda ()
-                                                   (#{chi-lambda-case\ 775}#
-                                                     #{e\ 1047}#
-                                                     #{r\ 1048}#
-                                                     #{w\ 1049}#
-                                                     #{s\ 1050}#
-                                                     #{mod\ 1051}#
-                                                     #{get-formals\ 1052}#
-                                                     (map (lambda (#{tmp\ 
1278}#
-                                                                   #{tmp\ 
1277}#
-                                                                   #{tmp\ 
1276}#)
-                                                            (cons #{tmp\ 1276}#
-                                                                  (cons #{tmp\ 
1277}#
-                                                                        #{tmp\ 
1278}#)))
-                                                          #{e2*\ 1250}#
-                                                          #{e1*\ 1249}#
-                                                          #{args*\ 1248}#)))
-                                                 (lambda (#{meta*\ 1280}#
-                                                          #{else*\ 1281}#)
+                                                   (#{chi-lambda-case\ 13025}#
+                                                     #{e\ 13297}#
+                                                     #{r\ 13298}#
+                                                     #{w\ 13299}#
+                                                     #{s\ 13300}#
+                                                     #{mod\ 13301}#
+                                                     #{get-formals\ 13302}#
+                                                     (map (lambda (#{tmp\ 
13528}#
+                                                                   #{tmp\ 
13527}#
+                                                                   #{tmp\ 
13526}#)
+                                                            (cons #{tmp\ 
13526}#
+                                                                  (cons #{tmp\ 
13527}#
+                                                                        #{tmp\ 
13528}#)))
+                                                          #{e2*\ 13500}#
+                                                          #{e1*\ 13499}#
+                                                          #{args*\ 13498}#)))
+                                                 (lambda (#{meta*\ 13530}#
+                                                          #{else*\ 13531}#)
                                                    (values
                                                      (append
-                                                       #{meta\ 1260}#
-                                                       #{meta*\ 1280}#)
-                                                     (#{build-lambda-case\ 
612}#
-                                                       #{s\ 1050}#
-                                                       #{req\ 1261}#
-                                                       #{opt\ 1262}#
-                                                       #{rest\ 1263}#
-                                                       #{kw\ 1264}#
-                                                       #{inits\ 1265}#
-                                                       #{vars\ 1266}#
-                                                       #{body\ 1267}#
-                                                       #{else*\ 1281}#)))))))))
-                                     #{tmp\ 1238}#)
+                                                       #{meta\ 13510}#
+                                                       #{meta*\ 13530}#)
+                                                     (#{build-lambda-case\ 
12862}#
+                                                       #{s\ 13300}#
+                                                       #{req\ 13511}#
+                                                       #{opt\ 13512}#
+                                                       #{rest\ 13513}#
+                                                       #{kw\ 13514}#
+                                                       #{inits\ 13515}#
+                                                       #{vars\ 13516}#
+                                                       #{body\ 13517}#
+                                                       #{else*\ 
13531}#)))))))))
+                                     #{tmp\ 13488}#)
                               (syntax-violation
                                 #f
                                 "source expression failed to match any pattern"
-                                #{tmp\ 1236}#)))
+                                #{tmp\ 13486}#)))
                           ($sc-dispatch
-                            #{tmp\ 1236}#
+                            #{tmp\ 13486}#
                             '((any any . each-any)
                               .
                               #(each (any any . each-any)))))))
-                     ($sc-dispatch #{tmp\ 1236}# (quote ()))))
-                  #{clauses\ 1053}#))))
-           (#{lambda*-formals\ 773}#
-             (lambda (#{orig-args\ 1284}#)
-               (letrec ((#{check\ 1295}#
-                          (lambda (#{req\ 1296}#
-                                   #{opt\ 1297}#
-                                   #{rest\ 1298}#
-                                   #{kw\ 1299}#)
-                            (if (#{distinct-bound-ids?\ 731}#
+                     ($sc-dispatch #{tmp\ 13486}# (quote ()))))
+                  #{clauses\ 13303}#))))
+           (#{lambda*-formals\ 13023}#
+             (lambda (#{orig-args\ 13534}#)
+               (letrec ((#{check\ 13545}#
+                          (lambda (#{req\ 13546}#
+                                   #{opt\ 13547}#
+                                   #{rest\ 13548}#
+                                   #{kw\ 13549}#)
+                            (if (#{distinct-bound-ids?\ 12981}#
                                   (append
-                                    #{req\ 1296}#
-                                    (map car #{opt\ 1297}#)
-                                    (if #{rest\ 1298}#
-                                      (list #{rest\ 1298}#)
+                                    #{req\ 13546}#
+                                    (map car #{opt\ 13547}#)
+                                    (if #{rest\ 13548}#
+                                      (list #{rest\ 13548}#)
                                       '())
-                                    (if (pair? #{kw\ 1299}#)
-                                      (map cadr (cdr #{kw\ 1299}#))
+                                    (if (pair? #{kw\ 13549}#)
+                                      (map cadr (cdr #{kw\ 13549}#))
                                       '())))
                               (values
-                                #{req\ 1296}#
-                                #{opt\ 1297}#
-                                #{rest\ 1298}#
-                                #{kw\ 1299}#)
+                                #{req\ 13546}#
+                                #{opt\ 13547}#
+                                #{rest\ 13548}#
+                                #{kw\ 13549}#)
                               (syntax-violation
                                 'lambda*
                                 "duplicate identifier in argument list"
-                                #{orig-args\ 1284}#))))
-                        (#{rest\ 1293}#
-                          (lambda (#{args\ 1307}#
-                                   #{req\ 1308}#
-                                   #{opt\ 1309}#
-                                   #{kw\ 1310}#)
-                            ((lambda (#{tmp\ 1315}#)
-                               ((lambda (#{tmp\ 1316}#)
-                                  (if (if #{tmp\ 1316}#
-                                        (apply (lambda (#{r\ 1318}#)
-                                                 (#{id?\ 666}# #{r\ 1318}#))
-                                               #{tmp\ 1316}#)
+                                #{orig-args\ 13534}#))))
+                        (#{rest\ 13543}#
+                          (lambda (#{args\ 13557}#
+                                   #{req\ 13558}#
+                                   #{opt\ 13559}#
+                                   #{kw\ 13560}#)
+                            ((lambda (#{tmp\ 13565}#)
+                               ((lambda (#{tmp\ 13566}#)
+                                  (if (if #{tmp\ 13566}#
+                                        (apply (lambda (#{r\ 13568}#)
+                                                 (#{id?\ 12916}# #{r\ 13568}#))
+                                               #{tmp\ 13566}#)
                                         #f)
-                                    (apply (lambda (#{r\ 1320}#)
-                                             (#{check\ 1295}#
-                                               #{req\ 1308}#
-                                               #{opt\ 1309}#
-                                               #{r\ 1320}#
-                                               #{kw\ 1310}#))
-                                           #{tmp\ 1316}#)
-                                    ((lambda (#{else\ 1322}#)
+                                    (apply (lambda (#{r\ 13570}#)
+                                             (#{check\ 13545}#
+                                               #{req\ 13558}#
+                                               #{opt\ 13559}#
+                                               #{r\ 13570}#
+                                               #{kw\ 13560}#))
+                                           #{tmp\ 13566}#)
+                                    ((lambda (#{else\ 13572}#)
                                        (syntax-violation
                                          'lambda*
                                          "invalid rest argument"
-                                         #{orig-args\ 1284}#
-                                         #{args\ 1307}#))
-                                     #{tmp\ 1315}#)))
-                                (list #{tmp\ 1315}#)))
-                             #{args\ 1307}#)))
-                        (#{key\ 1291}#
-                          (lambda (#{args\ 1323}#
-                                   #{req\ 1324}#
-                                   #{opt\ 1325}#
-                                   #{rkey\ 1326}#)
-                            ((lambda (#{tmp\ 1331}#)
-                               ((lambda (#{tmp\ 1332}#)
-                                  (if #{tmp\ 1332}#
+                                         #{orig-args\ 13534}#
+                                         #{args\ 13557}#))
+                                     #{tmp\ 13565}#)))
+                                (list #{tmp\ 13565}#)))
+                             #{args\ 13557}#)))
+                        (#{key\ 13541}#
+                          (lambda (#{args\ 13573}#
+                                   #{req\ 13574}#
+                                   #{opt\ 13575}#
+                                   #{rkey\ 13576}#)
+                            ((lambda (#{tmp\ 13581}#)
+                               ((lambda (#{tmp\ 13582}#)
+                                  (if #{tmp\ 13582}#
                                     (apply (lambda ()
-                                             (#{check\ 1295}#
-                                               #{req\ 1324}#
-                                               #{opt\ 1325}#
+                                             (#{check\ 13545}#
+                                               #{req\ 13574}#
+                                               #{opt\ 13575}#
                                                #f
                                                (cons #f
                                                      (reverse
-                                                       #{rkey\ 1326}#))))
-                                           #{tmp\ 1332}#)
-                                    ((lambda (#{tmp\ 1333}#)
-                                       (if (if #{tmp\ 1333}#
-                                             (apply (lambda (#{a\ 1336}#
-                                                             #{b\ 1337}#)
-                                                      (#{id?\ 666}#
-                                                        #{a\ 1336}#))
-                                                    #{tmp\ 1333}#)
+                                                       #{rkey\ 13576}#))))
+                                           #{tmp\ 13582}#)
+                                    ((lambda (#{tmp\ 13583}#)
+                                       (if (if #{tmp\ 13583}#
+                                             (apply (lambda (#{a\ 13586}#
+                                                             #{b\ 13587}#)
+                                                      (#{id?\ 12916}#
+                                                        #{a\ 13586}#))
+                                                    #{tmp\ 13583}#)
                                              #f)
-                                         (apply (lambda (#{a\ 1340}#
-                                                         #{b\ 1341}#)
-                                                  ((lambda (#{tmp\ 1343}#)
-                                                     ((lambda (#{k\ 1345}#)
-                                                        (#{key\ 1291}#
-                                                          #{b\ 1341}#
-                                                          #{req\ 1324}#
-                                                          #{opt\ 1325}#
-                                                          (cons (cons #{k\ 
1345}#
-                                                                      (cons 
#{a\ 1340}#
+                                         (apply (lambda (#{a\ 13590}#
+                                                         #{b\ 13591}#)
+                                                  ((lambda (#{tmp\ 13593}#)
+                                                     ((lambda (#{k\ 13595}#)
+                                                        (#{key\ 13541}#
+                                                          #{b\ 13591}#
+                                                          #{req\ 13574}#
+                                                          #{opt\ 13575}#
+                                                          (cons (cons #{k\ 
13595}#
+                                                                      (cons 
#{a\ 13590}#
                                                                             
'(#(syntax-object
                                                                                
 #f
                                                                                
 ((top)
                                                                                
  #(ribcage
                                                                                
    #(k)
                                                                                
    #((top))
-                                                                               
    #("i1344"))
+                                                                               
    #("i13594"))
                                                                                
  #(ribcage
                                                                                
    #(a
                                                                                
      b)
                                                                                
    #((top)
                                                                                
      (top))
-                                                                               
    #("i1338"
-                                                                               
      "i1339"))
+                                                                               
    #("i13588"
+                                                                               
      "i13589"))
                                                                                
  #(ribcage
                                                                                
    ()
                                                                                
    ()
@@ -651,10 +665,10 @@
                                                                                
      (top)
                                                                                
      (top)
                                                                                
      (top))
-                                                                               
    #("i1327"
-                                                                               
      "i1328"
-                                                                               
      "i1329"
-                                                                               
      "i1330"))
+                                                                               
    #("i13577"
+                                                                               
      "i13578"
+                                                                               
      "i13579"
+                                                                               
      "i13580"))
                                                                                
  #(ribcage
                                                                                
    (check rest
                                                                                
           key
@@ -665,15 +679,15 @@
                                                                                
     (top)
                                                                                
     (top)
                                                                                
     (top))
-                                                                               
    ("i1294"
-                                                                               
     "i1292"
-                                                                               
     "i1290"
-                                                                               
     "i1288"
-                                                                               
     "i1286"))
+                                                                               
    ("i13544"
+                                                                               
     "i13542"
+                                                                               
     "i13540"
+                                                                               
     "i13538"
+                                                                               
     "i13536"))
                                                                                
  #(ribcage
                                                                                
    #(orig-args)
                                                                                
    #((top))
-                                                                               
    #("i1285"))
+                                                                               
    #("i13535"))
                                                                                
  #(ribcage
                                                                                
    (lambda-var-list
                                                                                
      gen-var
@@ -791,6 +805,24 @@
                                                                                
      fx=
                                                                                
      fx-
                                                                                
      fx+
+                                                                               
      make-dynlet
+                                                                               
      make-letrec
+                                                                               
      make-let
+                                                                               
      make-lambda-case
+                                                                               
      make-lambda
+                                                                               
      make-sequence
+                                                                               
      make-application
+                                                                               
      make-conditional
+                                                                               
      make-toplevel-define
+                                                                               
      make-toplevel-set
+                                                                               
      make-toplevel-ref
+                                                                               
      make-module-set
+                                                                               
      make-module-ref
+                                                                               
      make-lexical-set
+                                                                               
      make-lexical-ref
+                                                                               
      make-primitive-ref
+                                                                               
      make-const
+                                                                               
      make-void
                                                                                
      *mode*)
                                                                                
    ((top)
                                                                                
     (top)
@@ -908,350 +940,391 @@
                                                                                
     (top)
                                                                                
     (top)
                                                                                
     (top)
+                                                                               
     (top)
+                                                                               
     (top)
+                                                                               
     (top)
+                                                                               
     (top)
+                                                                               
     (top)
+                                                                               
     (top)
+                                                                               
     (top)
+                                                                               
     (top)
+                                                                               
     (top)
+                                                                               
     (top)
+                                                                               
     (top)
+                                                                               
     (top)
+                                                                               
     (top)
+                                                                               
     (top)
+                                                                               
     (top)
+                                                                               
     (top)
+                                                                               
     (top)
+                                                                               
     (top)
                                                                                
     (top))
-                                                                               
    ("i780"
-                                                                               
     "i778"
-                                                                               
     "i776"
-                                                                               
     "i774"
-                                                                               
     "i772"
-                                                                               
     "i770"
-                                                                               
     "i768"
-                                                                               
     "i766"
-                                                                               
     "i764"
-                                                                               
     "i762"
-                                                                               
     "i760"
-                                                                               
     "i758"
-                                                                               
     "i756"
-                                                                               
     "i754"
-                                                                               
     "i752"
-                                                                               
     "i750"
-                                                                               
     "i748"
-                                                                               
     "i746"
-                                                                               
     "i744"
-                                                                               
     "i742"
-                                                                               
     "i740"
-                                                                               
     "i738"
-                                                                               
     "i736"
-                                                                               
     "i734"
-                                                                               
     "i732"
-                                                                               
     "i730"
-                                                                               
     "i728"
-                                                                               
     "i726"
-                                                                               
     "i724"
-                                                                               
     "i722"
-                                                                               
     "i720"
-                                                                               
     "i718"
-                                                                               
     "i716"
-                                                                               
     "i714"
-                                                                               
     "i712"
-                                                                               
     "i710"
-                                                                               
     "i709"
-                                                                               
     "i708"
-                                                                               
     "i706"
-                                                                               
     "i705"
-                                                                               
     "i704"
-                                                                               
     "i703"
-                                                                               
     "i702"
-                                                                               
     "i700"
-                                                                               
     "i698"
-                                                                               
     "i696"
-                                                                               
     "i694"
-                                                                               
     "i692"
-                                                                               
     "i690"
-                                                                               
     "i688"
-                                                                               
     "i686"
-                                                                               
     "i683"
-                                                                               
     "i681"
-                                                                               
     "i680"
-                                                                               
     "i679"
-                                                                               
     "i678"
-                                                                               
     "i677"
-                                                                               
     "i676"
-                                                                               
     "i674"
-                                                                               
     "i672"
-                                                                               
     "i670"
-                                                                               
     "i668"
-                                                                               
     "i667"
-                                                                               
     "i665"
-                                                                               
     "i663"
-                                                                               
     "i661"
-                                                                               
     "i659"
-                                                                               
     "i657"
-                                                                               
     "i655"
-                                                                               
     "i653"
-                                                                               
     "i652"
-                                                                               
     "i650"
-                                                                               
     "i648"
-                                                                               
     "i647"
-                                                                               
     "i646"
-                                                                               
     "i644"
-                                                                               
     "i643"
-                                                                               
     "i641"
-                                                                               
     "i639"
-                                                                               
     "i637"
-                                                                               
     "i635"
-                                                                               
     "i633"
-                                                                               
     "i631"
-                                                                               
     "i629"
-                                                                               
     "i627"
-                                                                               
     "i625"
-                                                                               
     "i623"
-                                                                               
     "i621"
-                                                                               
     "i619"
-                                                                               
     "i617"
-                                                                               
     "i615"
-                                                                               
     "i613"
-                                                                               
     "i611"
-                                                                               
     "i609"
-                                                                               
     "i607"
-                                                                               
     "i605"
-                                                                               
     "i603"
-                                                                               
     "i601"
-                                                                               
     "i599"
-                                                                               
     "i597"
-                                                                               
     "i595"
-                                                                               
     "i593"
-                                                                               
     "i591"
-                                                                               
     "i589"
-                                                                               
     "i587"
-                                                                               
     "i585"
-                                                                               
     "i583"
-                                                                               
     "i581"
-                                                                               
     "i579"
-                                                                               
     "i578"
-                                                                               
     "i576"
-                                                                               
     "i574"
-                                                                               
     "i572"
-                                                                               
     "i570"
-                                                                               
     "i568"
-                                                                               
     "i566"
-                                                                               
     "i564"))
+                                                                               
    ("i13030"
+                                                                               
     "i13028"
+                                                                               
     "i13026"
+                                                                               
     "i13024"
+                                                                               
     "i13022"
+                                                                               
     "i13020"
+                                                                               
     "i13018"
+                                                                               
     "i13016"
+                                                                               
     "i13014"
+                                                                               
     "i13012"
+                                                                               
     "i13010"
+                                                                               
     "i13008"
+                                                                               
     "i13006"
+                                                                               
     "i13004"
+                                                                               
     "i13002"
+                                                                               
     "i13000"
+                                                                               
     "i12998"
+                                                                               
     "i12996"
+                                                                               
     "i12994"
+                                                                               
     "i12992"
+                                                                               
     "i12990"
+                                                                               
     "i12988"
+                                                                               
     "i12986"
+                                                                               
     "i12984"
+                                                                               
     "i12982"
+                                                                               
     "i12980"
+                                                                               
     "i12978"
+                                                                               
     "i12976"
+                                                                               
     "i12974"
+                                                                               
     "i12972"
+                                                                               
     "i12970"
+                                                                               
     "i12968"
+                                                                               
     "i12966"
+                                                                               
     "i12964"
+                                                                               
     "i12962"
+                                                                               
     "i12960"
+                                                                               
     "i12959"
+                                                                               
     "i12958"
+                                                                               
     "i12956"
+                                                                               
     "i12955"
+                                                                               
     "i12954"
+                                                                               
     "i12953"
+                                                                               
     "i12952"
+                                                                               
     "i12950"
+                                                                               
     "i12948"
+                                                                               
     "i12946"
+                                                                               
     "i12944"
+                                                                               
     "i12942"
+                                                                               
     "i12940"
+                                                                               
     "i12938"
+                                                                               
     "i12936"
+                                                                               
     "i12933"
+                                                                               
     "i12931"
+                                                                               
     "i12930"
+                                                                               
     "i12929"
+                                                                               
     "i12928"
+                                                                               
     "i12927"
+                                                                               
     "i12926"
+                                                                               
     "i12924"
+                                                                               
     "i12922"
+                                                                               
     "i12920"
+                                                                               
     "i12918"
+                                                                               
     "i12917"
+                                                                               
     "i12915"
+                                                                               
     "i12913"
+                                                                               
     "i12911"
+                                                                               
     "i12909"
+                                                                               
     "i12907"
+                                                                               
     "i12905"
+                                                                               
     "i12903"
+                                                                               
     "i12902"
+                                                                               
     "i12900"
+                                                                               
     "i12898"
+                                                                               
     "i12897"
+                                                                               
     "i12896"
+                                                                               
     "i12894"
+                                                                               
     "i12893"
+                                                                               
     "i12891"
+                                                                               
     "i12889"
+                                                                               
     "i12887"
+                                                                               
     "i12885"
+                                                                               
     "i12883"
+                                                                               
     "i12881"
+                                                                               
     "i12879"
+                                                                               
     "i12877"
+                                                                               
     "i12875"
+                                                                               
     "i12873"
+                                                                               
     "i12871"
+                                                                               
     "i12869"
+                                                                               
     "i12867"
+                                                                               
     "i12865"
+                                                                               
     "i12863"
+                                                                               
     "i12861"
+                                                                               
     "i12859"
+                                                                               
     "i12857"
+                                                                               
     "i12855"
+                                                                               
     "i12853"
+                                                                               
     "i12851"
+                                                                               
     "i12849"
+                                                                               
     "i12847"
+                                                                               
     "i12845"
+                                                                               
     "i12843"
+                                                                               
     "i12841"
+                                                                               
     "i12839"
+                                                                               
     "i12837"
+                                                                               
     "i12835"
+                                                                               
     "i12833"
+                                                                               
     "i12831"
+                                                                               
     "i12829"
+                                                                               
     "i12828"
+                                                                               
     "i12826"
+                                                                               
     "i12824"
+                                                                               
     "i12822"
+                                                                               
     "i12820"
+                                                                               
     "i12818"
+                                                                               
     "i12816"
+                                                                               
     "i12814"
+                                                                               
     "i12812"
+                                                                               
     "i12810"
+                                                                               
     "i12808"
+                                                                               
     "i12806"
+                                                                               
     "i12804"
+                                                                               
     "i12802"
+                                                                               
     "i12800"
+                                                                               
     "i12798"
+                                                                               
     "i12796"
+                                                                               
     "i12794"
+                                                                               
     "i12792"
+                                                                               
     "i12790"
+                                                                               
     "i12788"
+                                                                               
     "i12786"
+                                                                               
     "i12784"
+                                                                               
     "i12782"
+                                                                               
     "i12780"
+                                                                               
     "i12777"))
                                                                                
  #(ribcage
                                                                                
    (define-structure
+                                                                               
      define-expansion-constructors
                                                                                
      and-map*)
                                                                                
    ((top)
+                                                                               
     (top)
                                                                                
     (top))
-                                                                               
    ("i467"
-                                                                               
     "i465")))
+                                                                               
    ("i12629"
+                                                                               
     "i12628"
+                                                                               
     "i12626")))
                                                                                
 (hygiene
                                                                                
   guile)))))
-                                                                #{rkey\ 
1326}#)))
-                                                      #{tmp\ 1343}#))
+                                                                #{rkey\ 
13576}#)))
+                                                      #{tmp\ 13593}#))
                                                    (symbol->keyword
                                                      (syntax->datum
-                                                       #{a\ 1340}#))))
-                                                #{tmp\ 1333}#)
-                                         ((lambda (#{tmp\ 1346}#)
-                                            (if (if #{tmp\ 1346}#
-                                                  (apply (lambda (#{a\ 1350}#
-                                                                  #{init\ 
1351}#
-                                                                  #{b\ 1352}#)
-                                                           (#{id?\ 666}#
-                                                             #{a\ 1350}#))
-                                                         #{tmp\ 1346}#)
+                                                       #{a\ 13590}#))))
+                                                #{tmp\ 13583}#)
+                                         ((lambda (#{tmp\ 13596}#)
+                                            (if (if #{tmp\ 13596}#
+                                                  (apply (lambda (#{a\ 13600}#
+                                                                  #{init\ 
13601}#
+                                                                  #{b\ 13602}#)
+                                                           (#{id?\ 12916}#
+                                                             #{a\ 13600}#))
+                                                         #{tmp\ 13596}#)
                                                   #f)
-                                              (apply (lambda (#{a\ 1356}#
-                                                              #{init\ 1357}#
-                                                              #{b\ 1358}#)
-                                                       ((lambda (#{tmp\ 1360}#)
-                                                          ((lambda (#{k\ 
1362}#)
-                                                             (#{key\ 1291}#
-                                                               #{b\ 1358}#
-                                                               #{req\ 1324}#
-                                                               #{opt\ 1325}#
-                                                               (cons (list 
#{k\ 1362}#
-                                                                           
#{a\ 1356}#
-                                                                           
#{init\ 1357}#)
-                                                                     #{rkey\ 
1326}#)))
-                                                           #{tmp\ 1360}#))
+                                              (apply (lambda (#{a\ 13606}#
+                                                              #{init\ 13607}#
+                                                              #{b\ 13608}#)
+                                                       ((lambda (#{tmp\ 
13610}#)
+                                                          ((lambda (#{k\ 
13612}#)
+                                                             (#{key\ 13541}#
+                                                               #{b\ 13608}#
+                                                               #{req\ 13574}#
+                                                               #{opt\ 13575}#
+                                                               (cons (list 
#{k\ 13612}#
+                                                                           
#{a\ 13606}#
+                                                                           
#{init\ 13607}#)
+                                                                     #{rkey\ 
13576}#)))
+                                                           #{tmp\ 13610}#))
                                                         (symbol->keyword
                                                           (syntax->datum
-                                                            #{a\ 1356}#))))
-                                                     #{tmp\ 1346}#)
-                                              ((lambda (#{tmp\ 1363}#)
-                                                 (if (if #{tmp\ 1363}#
-                                                       (apply (lambda (#{a\ 
1368}#
-                                                                       #{init\ 
1369}#
-                                                                       #{k\ 
1370}#
-                                                                       #{b\ 
1371}#)
-                                                                (if (#{id?\ 
666}#
-                                                                      #{a\ 
1368}#)
+                                                            #{a\ 13606}#))))
+                                                     #{tmp\ 13596}#)
+                                              ((lambda (#{tmp\ 13613}#)
+                                                 (if (if #{tmp\ 13613}#
+                                                       (apply (lambda (#{a\ 
13618}#
+                                                                       #{init\ 
13619}#
+                                                                       #{k\ 
13620}#
+                                                                       #{b\ 
13621}#)
+                                                                (if (#{id?\ 
12916}#
+                                                                      #{a\ 
13618}#)
                                                                   (keyword?
                                                                     
(syntax->datum
-                                                                      #{k\ 
1370}#))
+                                                                      #{k\ 
13620}#))
                                                                   #f))
-                                                              #{tmp\ 1363}#)
+                                                              #{tmp\ 13613}#)
                                                        #f)
-                                                   (apply (lambda (#{a\ 1378}#
-                                                                   #{init\ 
1379}#
-                                                                   #{k\ 1380}#
-                                                                   #{b\ 1381}#)
-                                                            (#{key\ 1291}#
-                                                              #{b\ 1381}#
-                                                              #{req\ 1324}#
-                                                              #{opt\ 1325}#
-                                                              (cons (list #{k\ 
1380}#
-                                                                          #{a\ 
1378}#
-                                                                          
#{init\ 1379}#)
-                                                                    #{rkey\ 
1326}#)))
-                                                          #{tmp\ 1363}#)
-                                                   ((lambda (#{tmp\ 1382}#)
-                                                      (if (if #{tmp\ 1382}#
-                                                            (apply (lambda 
(#{aok\ 1384}#)
+                                                   (apply (lambda (#{a\ 13628}#
+                                                                   #{init\ 
13629}#
+                                                                   #{k\ 13630}#
+                                                                   #{b\ 
13631}#)
+                                                            (#{key\ 13541}#
+                                                              #{b\ 13631}#
+                                                              #{req\ 13574}#
+                                                              #{opt\ 13575}#
+                                                              (cons (list #{k\ 
13630}#
+                                                                          #{a\ 
13628}#
+                                                                          
#{init\ 13629}#)
+                                                                    #{rkey\ 
13576}#)))
+                                                          #{tmp\ 13613}#)
+                                                   ((lambda (#{tmp\ 13632}#)
+                                                      (if (if #{tmp\ 13632}#
+                                                            (apply (lambda 
(#{aok\ 13634}#)
                                                                      (eq? 
(syntax->datum
-                                                                            
#{aok\ 1384}#)
+                                                                            
#{aok\ 13634}#)
                                                                           
#:allow-other-keys))
-                                                                   #{tmp\ 
1382}#)
+                                                                   #{tmp\ 
13632}#)
                                                             #f)
-                                                        (apply (lambda (#{aok\ 
1386}#)
-                                                                 (#{check\ 
1295}#
-                                                                   #{req\ 
1324}#
-                                                                   #{opt\ 
1325}#
+                                                        (apply (lambda (#{aok\ 
13636}#)
+                                                                 (#{check\ 
13545}#
+                                                                   #{req\ 
13574}#
+                                                                   #{opt\ 
13575}#
                                                                    #f
                                                                    (cons #t
                                                                          
(reverse
-                                                                           
#{rkey\ 1326}#))))
-                                                               #{tmp\ 1382}#)
-                                                        ((lambda (#{tmp\ 
1387}#)
-                                                           (if (if #{tmp\ 
1387}#
-                                                                 (apply 
(lambda (#{aok\ 1391}#
-                                                                               
  #{a\ 1392}#
-                                                                               
  #{b\ 1393}#)
+                                                                           
#{rkey\ 13576}#))))
+                                                               #{tmp\ 13632}#)
+                                                        ((lambda (#{tmp\ 
13637}#)
+                                                           (if (if #{tmp\ 
13637}#
+                                                                 (apply 
(lambda (#{aok\ 13641}#
+                                                                               
  #{a\ 13642}#
+                                                                               
  #{b\ 13643}#)
                                                                           (if 
(eq? (syntax->datum
-                                                                               
      #{aok\ 1391}#)
+                                                                               
      #{aok\ 13641}#)
                                                                                
    #:allow-other-keys)
                                                                             
(eq? (syntax->datum
-                                                                               
    #{a\ 1392}#)
+                                                                               
    #{a\ 13642}#)
                                                                                
  #:rest)
                                                                             
#f))
-                                                                        #{tmp\ 
1387}#)
+                                                                        #{tmp\ 
13637}#)
                                                                  #f)
-                                                             (apply (lambda 
(#{aok\ 1399}#
-                                                                             
#{a\ 1400}#
-                                                                             
#{b\ 1401}#)
-                                                                      (#{rest\ 
1293}#
-                                                                        #{b\ 
1401}#
-                                                                        #{req\ 
1324}#
-                                                                        #{opt\ 
1325}#
+                                                             (apply (lambda 
(#{aok\ 13649}#
+                                                                             
#{a\ 13650}#
+                                                                             
#{b\ 13651}#)
+                                                                      (#{rest\ 
13543}#
+                                                                        #{b\ 
13651}#
+                                                                        #{req\ 
13574}#
+                                                                        #{opt\ 
13575}#
                                                                         (cons 
#t
                                                                               
(reverse
-                                                                               
 #{rkey\ 1326}#))))
-                                                                    #{tmp\ 
1387}#)
-                                                             ((lambda (#{tmp\ 
1402}#)
-                                                                (if (if #{tmp\ 
1402}#
-                                                                      (apply 
(lambda (#{aok\ 1405}#
-                                                                               
       #{r\ 1406}#)
+                                                                               
 #{rkey\ 13576}#))))
+                                                                    #{tmp\ 
13637}#)
+                                                             ((lambda (#{tmp\ 
13652}#)
+                                                                (if (if #{tmp\ 
13652}#
+                                                                      (apply 
(lambda (#{aok\ 13655}#
+                                                                               
       #{r\ 13656}#)
                                                                                
(if (eq? (syntax->datum
-                                                                               
           #{aok\ 1405}#)
+                                                                               
           #{aok\ 13655}#)
                                                                                
         #:allow-other-keys)
-                                                                               
  (#{id?\ 666}#
-                                                                               
    #{r\ 1406}#)
+                                                                               
  (#{id?\ 12916}#
+                                                                               
    #{r\ 13656}#)
                                                                                
  #f))
-                                                                             
#{tmp\ 1402}#)
+                                                                             
#{tmp\ 13652}#)
                                                                       #f)
-                                                                  (apply 
(lambda (#{aok\ 1411}#
-                                                                               
   #{r\ 1412}#)
-                                                                           
(#{rest\ 1293}#
-                                                                             
#{r\ 1412}#
-                                                                             
#{req\ 1324}#
-                                                                             
#{opt\ 1325}#
+                                                                  (apply 
(lambda (#{aok\ 13661}#
+                                                                               
   #{r\ 13662}#)
+                                                                           
(#{rest\ 13543}#
+                                                                             
#{r\ 13662}#
+                                                                             
#{req\ 13574}#
+                                                                             
#{opt\ 13575}#
                                                                              
(cons #t
                                                                                
    (reverse
-                                                                               
      #{rkey\ 1326}#))))
-                                                                         
#{tmp\ 1402}#)
-                                                                  ((lambda 
(#{tmp\ 1413}#)
-                                                                     (if (if 
#{tmp\ 1413}#
-                                                                           
(apply (lambda (#{a\ 1416}#
-                                                                               
            #{b\ 1417}#)
+                                                                               
      #{rkey\ 13576}#))))
+                                                                         
#{tmp\ 13652}#)
+                                                                  ((lambda 
(#{tmp\ 13663}#)
+                                                                     (if (if 
#{tmp\ 13663}#
+                                                                           
(apply (lambda (#{a\ 13666}#
+                                                                               
            #{b\ 13667}#)
                                                                                
     (eq? (syntax->datum
-                                                                               
            #{a\ 1416}#)
+                                                                               
            #{a\ 13666}#)
                                                                                
          #:rest))
-                                                                               
   #{tmp\ 1413}#)
+                                                                               
   #{tmp\ 13663}#)
                                                                            #f)
-                                                                       (apply 
(lambda (#{a\ 1420}#
-                                                                               
        #{b\ 1421}#)
-                                                                               
 (#{rest\ 1293}#
-                                                                               
   #{b\ 1421}#
-                                                                               
   #{req\ 1324}#
-                                                                               
   #{opt\ 1325}#
+                                                                       (apply 
(lambda (#{a\ 13670}#
+                                                                               
        #{b\ 13671}#)
+                                                                               
 (#{rest\ 13543}#
+                                                                               
   #{b\ 13671}#
+                                                                               
   #{req\ 13574}#
+                                                                               
   #{opt\ 13575}#
                                                                                
   (cons #f
                                                                                
         (reverse
-                                                                               
           #{rkey\ 1326}#))))
-                                                                              
#{tmp\ 1413}#)
-                                                                       
((lambda (#{tmp\ 1422}#)
-                                                                          (if 
(if #{tmp\ 1422}#
-                                                                               
 (apply (lambda (#{r\ 1424}#)
-                                                                               
          (#{id?\ 666}#
-                                                                               
            #{r\ 1424}#))
-                                                                               
        #{tmp\ 1422}#)
+                                                                               
           #{rkey\ 13576}#))))
+                                                                              
#{tmp\ 13663}#)
+                                                                       
((lambda (#{tmp\ 13672}#)
+                                                                          (if 
(if #{tmp\ 13672}#
+                                                                               
 (apply (lambda (#{r\ 13674}#)
+                                                                               
          (#{id?\ 12916}#
+                                                                               
            #{r\ 13674}#))
+                                                                               
        #{tmp\ 13672}#)
                                                                                
 #f)
-                                                                            
(apply (lambda (#{r\ 1426}#)
-                                                                               
      (#{rest\ 1293}#
-                                                                               
        #{r\ 1426}#
-                                                                               
        #{req\ 1324}#
-                                                                               
        #{opt\ 1325}#
+                                                                            
(apply (lambda (#{r\ 13676}#)
+                                                                               
      (#{rest\ 13543}#
+                                                                               
        #{r\ 13676}#
+                                                                               
        #{req\ 13574}#
+                                                                               
        #{opt\ 13575}#
                                                                                
        (cons #f
                                                                                
              (reverse
-                                                                               
                #{rkey\ 1326}#))))
-                                                                               
    #{tmp\ 1422}#)
-                                                                            
((lambda (#{else\ 1428}#)
+                                                                               
                #{rkey\ 13576}#))))
+                                                                               
    #{tmp\ 13672}#)
+                                                                            
((lambda (#{else\ 13678}#)
                                                                                
(syntax-violation
                                                                                
  'lambda*
                                                                                
  "invalid keyword argument list"
-                                                                               
  #{orig-args\ 1284}#
-                                                                               
  #{args\ 1323}#))
-                                                                             
#{tmp\ 1331}#)))
-                                                                        (list 
#{tmp\ 1331}#))))
+                                                                               
  #{orig-args\ 13534}#
+                                                                               
  #{args\ 13573}#))
+                                                                             
#{tmp\ 13581}#)))
+                                                                        (list 
#{tmp\ 13581}#))))
                                                                    
($sc-dispatch
-                                                                     #{tmp\ 
1331}#
+                                                                     #{tmp\ 
13581}#
                                                                      '(any 
any)))))
                                                               ($sc-dispatch
-                                                                #{tmp\ 1331}#
+                                                                #{tmp\ 13581}#
                                                                 '(any .
                                                                       any)))))
                                                          ($sc-dispatch
-                                                           #{tmp\ 1331}#
+                                                           #{tmp\ 13581}#
                                                            '(any any any)))))
                                                     ($sc-dispatch
-                                                      #{tmp\ 1331}#
+                                                      #{tmp\ 13581}#
                                                       '(any)))))
                                                ($sc-dispatch
-                                                 #{tmp\ 1331}#
+                                                 #{tmp\ 13581}#
                                                  '((any any any) . any)))))
                                           ($sc-dispatch
-                                            #{tmp\ 1331}#
+                                            #{tmp\ 13581}#
                                             '((any any) . any)))))
                                      ($sc-dispatch
-                                       #{tmp\ 1331}#
+                                       #{tmp\ 13581}#
                                        '(any . any)))))
-                                ($sc-dispatch #{tmp\ 1331}# (quote ()))))
-                             #{args\ 1323}#)))
-                        (#{opt\ 1289}#
-                          (lambda (#{args\ 1429}# #{req\ 1430}# #{ropt\ 1431}#)
-                            ((lambda (#{tmp\ 1435}#)
-                               ((lambda (#{tmp\ 1436}#)
-                                  (if #{tmp\ 1436}#
+                                ($sc-dispatch #{tmp\ 13581}# (quote ()))))
+                             #{args\ 13573}#)))
+                        (#{opt\ 13539}#
+                          (lambda (#{args\ 13679}#
+                                   #{req\ 13680}#
+                                   #{ropt\ 13681}#)
+                            ((lambda (#{tmp\ 13685}#)
+                               ((lambda (#{tmp\ 13686}#)
+                                  (if #{tmp\ 13686}#
                                     (apply (lambda ()
-                                             (#{check\ 1295}#
-                                               #{req\ 1430}#
-                                               (reverse #{ropt\ 1431}#)
+                                             (#{check\ 13545}#
+                                               #{req\ 13680}#
+                                               (reverse #{ropt\ 13681}#)
                                                #f
                                                '()))
-                                           #{tmp\ 1436}#)
-                                    ((lambda (#{tmp\ 1437}#)
-                                       (if (if #{tmp\ 1437}#
-                                             (apply (lambda (#{a\ 1440}#
-                                                             #{b\ 1441}#)
-                                                      (#{id?\ 666}#
-                                                        #{a\ 1440}#))
-                                                    #{tmp\ 1437}#)
+                                           #{tmp\ 13686}#)
+                                    ((lambda (#{tmp\ 13687}#)
+                                       (if (if #{tmp\ 13687}#
+                                             (apply (lambda (#{a\ 13690}#
+                                                             #{b\ 13691}#)
+                                                      (#{id?\ 12916}#
+                                                        #{a\ 13690}#))
+                                                    #{tmp\ 13687}#)
                                              #f)
-                                         (apply (lambda (#{a\ 1444}#
-                                                         #{b\ 1445}#)
-                                                  (#{opt\ 1289}#
-                                                    #{b\ 1445}#
-                                                    #{req\ 1430}#
-                                                    (cons (cons #{a\ 1444}#
+                                         (apply (lambda (#{a\ 13694}#
+                                                         #{b\ 13695}#)
+                                                  (#{opt\ 13539}#
+                                                    #{b\ 13695}#
+                                                    #{req\ 13680}#
+                                                    (cons (cons #{a\ 13694}#
                                                                 
'(#(syntax-object
                                                                     #f
                                                                     ((top)
@@ -1259,8 +1332,8 @@
                                                                        #(a b)
                                                                        #((top)
                                                                          (top))
-                                                                       
#("i1442"
-                                                                         
"i1443"))
+                                                                       
#("i13692"
+                                                                         
"i13693"))
                                                                      #(ribcage
                                                                        ()
                                                                        ()
@@ -1272,9 +1345,9 @@
                                                                        #((top)
                                                                          (top)
                                                                          (top))
-                                                                       
#("i1432"
-                                                                         
"i1433"
-                                                                         
"i1434"))
+                                                                       
#("i13682"
+                                                                         
"i13683"
+                                                                         
"i13684"))
                                                                      #(ribcage
                                                                        (check 
rest
                                                                               
key
@@ -1285,15 +1358,15 @@
                                                                         (top)
                                                                         (top)
                                                                         (top))
-                                                                       ("i1294"
-                                                                        "i1292"
-                                                                        "i1290"
-                                                                        "i1288"
-                                                                        
"i1286"))
+                                                                       
("i13544"
+                                                                        
"i13542"
+                                                                        
"i13540"
+                                                                        
"i13538"
+                                                                        
"i13536"))
                                                                      #(ribcage
                                                                        
#(orig-args)
                                                                        #((top))
-                                                                       
#("i1285"))
+                                                                       
#("i13535"))
                                                                      #(ribcage
                                                                        
(lambda-var-list
                                                                          
gen-var
@@ -1411,6 +1484,24 @@
                                                                          fx=
                                                                          fx-
                                                                          fx+
+                                                                         
make-dynlet
+                                                                         
make-letrec
+                                                                         
make-let
+                                                                         
make-lambda-case
+                                                                         
make-lambda
+                                                                         
make-sequence
+                                                                         
make-application
+                                                                         
make-conditional
+                                                                         
make-toplevel-define
+                                                                         
make-toplevel-set
+                                                                         
make-toplevel-ref
+                                                                         
make-module-set
+                                                                         
make-module-ref
+                                                                         
make-lexical-set
+                                                                         
make-lexical-ref
+                                                                         
make-primitive-ref
+                                                                         
make-const
+                                                                         
make-void
                                                                          
*mode*)
                                                                        ((top)
                                                                         (top)
@@ -1528,463 +1619,502 @@
                                                                         (top)
                                                                         (top)
                                                                         (top)
+                                                                        (top)
+                                                                        (top)
+                                                                        (top)
+                                                                        (top)
+                                                                        (top)
+                                                                        (top)
+                                                                        (top)
+                                                                        (top)
+                                                                        (top)
+                                                                        (top)
+                                                                        (top)
+                                                                        (top)
+                                                                        (top)
+                                                                        (top)
+                                                                        (top)
+                                                                        (top)
+                                                                        (top)
+                                                                        (top)
                                                                         (top))
-                                                                       ("i780"
-                                                                        "i778"
-                                                                        "i776"
-                                                                        "i774"
-                                                                        "i772"
-                                                                        "i770"
-                                                                        "i768"
-                                                                        "i766"
-                                                                        "i764"
-                                                                        "i762"
-                                                                        "i760"
-                                                                        "i758"
-                                                                        "i756"
-                                                                        "i754"
-                                                                        "i752"
-                                                                        "i750"
-                                                                        "i748"
-                                                                        "i746"
-                                                                        "i744"
-                                                                        "i742"
-                                                                        "i740"
-                                                                        "i738"
-                                                                        "i736"
-                                                                        "i734"
-                                                                        "i732"
-                                                                        "i730"
-                                                                        "i728"
-                                                                        "i726"
-                                                                        "i724"
-                                                                        "i722"
-                                                                        "i720"
-                                                                        "i718"
-                                                                        "i716"
-                                                                        "i714"
-                                                                        "i712"
-                                                                        "i710"
-                                                                        "i709"
-                                                                        "i708"
-                                                                        "i706"
-                                                                        "i705"
-                                                                        "i704"
-                                                                        "i703"
-                                                                        "i702"
-                                                                        "i700"
-                                                                        "i698"
-                                                                        "i696"
-                                                                        "i694"
-                                                                        "i692"
-                                                                        "i690"
-                                                                        "i688"
-                                                                        "i686"
-                                                                        "i683"
-                                                                        "i681"
-                                                                        "i680"
-                                                                        "i679"
-                                                                        "i678"
-                                                                        "i677"
-                                                                        "i676"
-                                                                        "i674"
-                                                                        "i672"
-                                                                        "i670"
-                                                                        "i668"
-                                                                        "i667"
-                                                                        "i665"
-                                                                        "i663"
-                                                                        "i661"
-                                                                        "i659"
-                                                                        "i657"
-                                                                        "i655"
-                                                                        "i653"
-                                                                        "i652"
-                                                                        "i650"
-                                                                        "i648"
-                                                                        "i647"
-                                                                        "i646"
-                                                                        "i644"
-                                                                        "i643"
-                                                                        "i641"
-                                                                        "i639"
-                                                                        "i637"
-                                                                        "i635"
-                                                                        "i633"
-                                                                        "i631"
-                                                                        "i629"
-                                                                        "i627"
-                                                                        "i625"
-                                                                        "i623"
-                                                                        "i621"
-                                                                        "i619"
-                                                                        "i617"
-                                                                        "i615"
-                                                                        "i613"
-                                                                        "i611"
-                                                                        "i609"
-                                                                        "i607"
-                                                                        "i605"
-                                                                        "i603"
-                                                                        "i601"
-                                                                        "i599"
-                                                                        "i597"
-                                                                        "i595"
-                                                                        "i593"
-                                                                        "i591"
-                                                                        "i589"
-                                                                        "i587"
-                                                                        "i585"
-                                                                        "i583"
-                                                                        "i581"
-                                                                        "i579"
-                                                                        "i578"
-                                                                        "i576"
-                                                                        "i574"
-                                                                        "i572"
-                                                                        "i570"
-                                                                        "i568"
-                                                                        "i566"
-                                                                        
"i564"))
+                                                                       
("i13030"
+                                                                        
"i13028"
+                                                                        
"i13026"
+                                                                        
"i13024"
+                                                                        
"i13022"
+                                                                        
"i13020"
+                                                                        
"i13018"
+                                                                        
"i13016"
+                                                                        
"i13014"
+                                                                        
"i13012"
+                                                                        
"i13010"
+                                                                        
"i13008"
+                                                                        
"i13006"
+                                                                        
"i13004"
+                                                                        
"i13002"
+                                                                        
"i13000"
+                                                                        
"i12998"
+                                                                        
"i12996"
+                                                                        
"i12994"
+                                                                        
"i12992"
+                                                                        
"i12990"
+                                                                        
"i12988"
+                                                                        
"i12986"
+                                                                        
"i12984"
+                                                                        
"i12982"
+                                                                        
"i12980"
+                                                                        
"i12978"
+                                                                        
"i12976"
+                                                                        
"i12974"
+                                                                        
"i12972"
+                                                                        
"i12970"
+                                                                        
"i12968"
+                                                                        
"i12966"
+                                                                        
"i12964"
+                                                                        
"i12962"
+                                                                        
"i12960"
+                                                                        
"i12959"
+                                                                        
"i12958"
+                                                                        
"i12956"
+                                                                        
"i12955"
+                                                                        
"i12954"
+                                                                        
"i12953"
+                                                                        
"i12952"
+                                                                        
"i12950"
+                                                                        
"i12948"
+                                                                        
"i12946"
+                                                                        
"i12944"
+                                                                        
"i12942"
+                                                                        
"i12940"
+                                                                        
"i12938"
+                                                                        
"i12936"
+                                                                        
"i12933"
+                                                                        
"i12931"
+                                                                        
"i12930"
+                                                                        
"i12929"
+                                                                        
"i12928"
+                                                                        
"i12927"
+                                                                        
"i12926"
+                                                                        
"i12924"
+                                                                        
"i12922"
+                                                                        
"i12920"
+                                                                        
"i12918"
+                                                                        
"i12917"
+                                                                        
"i12915"
+                                                                        
"i12913"
+                                                                        
"i12911"
+                                                                        
"i12909"
+                                                                        
"i12907"
+                                                                        
"i12905"
+                                                                        
"i12903"
+                                                                        
"i12902"
+                                                                        
"i12900"
+                                                                        
"i12898"
+                                                                        
"i12897"
+                                                                        
"i12896"
+                                                                        
"i12894"
+                                                                        
"i12893"
+                                                                        
"i12891"
+                                                                        
"i12889"
+                                                                        
"i12887"
+                                                                        
"i12885"
+                                                                        
"i12883"
+                                                                        
"i12881"
+                                                                        
"i12879"
+                                                                        
"i12877"
+                                                                        
"i12875"
+                                                                        
"i12873"
+                                                                        
"i12871"
+                                                                        
"i12869"
+                                                                        
"i12867"
+                                                                        
"i12865"
+                                                                        
"i12863"
+                                                                        
"i12861"
+                                                                        
"i12859"
+                                                                        
"i12857"
+                                                                        
"i12855"
+                                                                        
"i12853"
+                                                                        
"i12851"
+                                                                        
"i12849"
+                                                                        
"i12847"
+                                                                        
"i12845"
+                                                                        
"i12843"
+                                                                        
"i12841"
+                                                                        
"i12839"
+                                                                        
"i12837"
+                                                                        
"i12835"
+                                                                        
"i12833"
+                                                                        
"i12831"
+                                                                        
"i12829"
+                                                                        
"i12828"
+                                                                        
"i12826"
+                                                                        
"i12824"
+                                                                        
"i12822"
+                                                                        
"i12820"
+                                                                        
"i12818"
+                                                                        
"i12816"
+                                                                        
"i12814"
+                                                                        
"i12812"
+                                                                        
"i12810"
+                                                                        
"i12808"
+                                                                        
"i12806"
+                                                                        
"i12804"
+                                                                        
"i12802"
+                                                                        
"i12800"
+                                                                        
"i12798"
+                                                                        
"i12796"
+                                                                        
"i12794"
+                                                                        
"i12792"
+                                                                        
"i12790"
+                                                                        
"i12788"
+                                                                        
"i12786"
+                                                                        
"i12784"
+                                                                        
"i12782"
+                                                                        
"i12780"
+                                                                        
"i12777"))
                                                                      #(ribcage
                                                                        
(define-structure
+                                                                         
define-expansion-constructors
                                                                          
and-map*)
                                                                        ((top)
+                                                                        (top)
                                                                         (top))
-                                                                       ("i467"
-                                                                        
"i465")))
+                                                                       
("i12629"
+                                                                        
"i12628"
+                                                                        
"i12626")))
                                                                     (hygiene
                                                                       guile))))
-                                                          #{ropt\ 1431}#)))
-                                                #{tmp\ 1437}#)
-                                         ((lambda (#{tmp\ 1446}#)
-                                            (if (if #{tmp\ 1446}#
-                                                  (apply (lambda (#{a\ 1450}#
-                                                                  #{init\ 
1451}#
-                                                                  #{b\ 1452}#)
-                                                           (#{id?\ 666}#
-                                                             #{a\ 1450}#))
-                                                         #{tmp\ 1446}#)
+                                                          #{ropt\ 13681}#)))
+                                                #{tmp\ 13687}#)
+                                         ((lambda (#{tmp\ 13696}#)
+                                            (if (if #{tmp\ 13696}#
+                                                  (apply (lambda (#{a\ 13700}#
+                                                                  #{init\ 
13701}#
+                                                                  #{b\ 13702}#)
+                                                           (#{id?\ 12916}#
+                                                             #{a\ 13700}#))
+                                                         #{tmp\ 13696}#)
                                                   #f)
-                                              (apply (lambda (#{a\ 1456}#
-                                                              #{init\ 1457}#
-                                                              #{b\ 1458}#)
-                                                       (#{opt\ 1289}#
-                                                         #{b\ 1458}#
-                                                         #{req\ 1430}#
-                                                         (cons (list #{a\ 
1456}#
-                                                                     #{init\ 
1457}#)
-                                                               #{ropt\ 
1431}#)))
-                                                     #{tmp\ 1446}#)
-                                              ((lambda (#{tmp\ 1459}#)
-                                                 (if (if #{tmp\ 1459}#
-                                                       (apply (lambda (#{a\ 
1462}#
-                                                                       #{b\ 
1463}#)
+                                              (apply (lambda (#{a\ 13706}#
+                                                              #{init\ 13707}#
+                                                              #{b\ 13708}#)
+                                                       (#{opt\ 13539}#
+                                                         #{b\ 13708}#
+                                                         #{req\ 13680}#
+                                                         (cons (list #{a\ 
13706}#
+                                                                     #{init\ 
13707}#)
+                                                               #{ropt\ 
13681}#)))
+                                                     #{tmp\ 13696}#)
+                                              ((lambda (#{tmp\ 13709}#)
+                                                 (if (if #{tmp\ 13709}#
+                                                       (apply (lambda (#{a\ 
13712}#
+                                                                       #{b\ 
13713}#)
                                                                 (eq? 
(syntax->datum
-                                                                       #{a\ 
1462}#)
+                                                                       #{a\ 
13712}#)
                                                                      #:key))
-                                                              #{tmp\ 1459}#)
+                                                              #{tmp\ 13709}#)
                                                        #f)
-                                                   (apply (lambda (#{a\ 1466}#
-                                                                   #{b\ 1467}#)
-                                                            (#{key\ 1291}#
-                                                              #{b\ 1467}#
-                                                              #{req\ 1430}#
+                                                   (apply (lambda (#{a\ 13716}#
+                                                                   #{b\ 
13717}#)
+                                                            (#{key\ 13541}#
+                                                              #{b\ 13717}#
+                                                              #{req\ 13680}#
                                                               (reverse
-                                                                #{ropt\ 1431}#)
+                                                                #{ropt\ 
13681}#)
                                                               '()))
-                                                          #{tmp\ 1459}#)
-                                                   ((lambda (#{tmp\ 1468}#)
-                                                      (if (if #{tmp\ 1468}#
-                                                            (apply (lambda 
(#{a\ 1471}#
-                                                                            
#{b\ 1472}#)
+                                                          #{tmp\ 13709}#)
+                                                   ((lambda (#{tmp\ 13718}#)
+                                                      (if (if #{tmp\ 13718}#
+                                                            (apply (lambda 
(#{a\ 13721}#
+                                                                            
#{b\ 13722}#)
                                                                      (eq? 
(syntax->datum
-                                                                            
#{a\ 1471}#)
+                                                                            
#{a\ 13721}#)
                                                                           
#:rest))
-                                                                   #{tmp\ 
1468}#)
+                                                                   #{tmp\ 
13718}#)
                                                             #f)
-                                                        (apply (lambda (#{a\ 
1475}#
-                                                                        #{b\ 
1476}#)
-                                                                 (#{rest\ 
1293}#
-                                                                   #{b\ 1476}#
-                                                                   #{req\ 
1430}#
+                                                        (apply (lambda (#{a\ 
13725}#
+                                                                        #{b\ 
13726}#)
+                                                                 (#{rest\ 
13543}#
+                                                                   #{b\ 13726}#
+                                                                   #{req\ 
13680}#
                                                                    (reverse
-                                                                     #{ropt\ 
1431}#)
+                                                                     #{ropt\ 
13681}#)
                                                                    '()))
-                                                               #{tmp\ 1468}#)
-                                                        ((lambda (#{tmp\ 
1477}#)
-                                                           (if (if #{tmp\ 
1477}#
-                                                                 (apply 
(lambda (#{r\ 1479}#)
-                                                                          
(#{id?\ 666}#
-                                                                            
#{r\ 1479}#))
-                                                                        #{tmp\ 
1477}#)
+                                                               #{tmp\ 13718}#)
+                                                        ((lambda (#{tmp\ 
13727}#)
+                                                           (if (if #{tmp\ 
13727}#
+                                                                 (apply 
(lambda (#{r\ 13729}#)
+                                                                          
(#{id?\ 12916}#
+                                                                            
#{r\ 13729}#))
+                                                                        #{tmp\ 
13727}#)
                                                                  #f)
-                                                             (apply (lambda 
(#{r\ 1481}#)
-                                                                      (#{rest\ 
1293}#
-                                                                        #{r\ 
1481}#
-                                                                        #{req\ 
1430}#
+                                                             (apply (lambda 
(#{r\ 13731}#)
+                                                                      (#{rest\ 
13543}#
+                                                                        #{r\ 
13731}#
+                                                                        #{req\ 
13680}#
                                                                         
(reverse
-                                                                          
#{ropt\ 1431}#)
+                                                                          
#{ropt\ 13681}#)
                                                                         '()))
-                                                                    #{tmp\ 
1477}#)
-                                                             ((lambda (#{else\ 
1483}#)
+                                                                    #{tmp\ 
13727}#)
+                                                             ((lambda (#{else\ 
13733}#)
                                                                 
(syntax-violation
                                                                   'lambda*
                                                                   "invalid 
optional argument list"
-                                                                  #{orig-args\ 
1284}#
-                                                                  #{args\ 
1429}#))
-                                                              #{tmp\ 1435}#)))
-                                                         (list #{tmp\ 
1435}#))))
+                                                                  #{orig-args\ 
13534}#
+                                                                  #{args\ 
13679}#))
+                                                              #{tmp\ 13685}#)))
+                                                         (list #{tmp\ 
13685}#))))
                                                     ($sc-dispatch
-                                                      #{tmp\ 1435}#
+                                                      #{tmp\ 13685}#
                                                       '(any any)))))
                                                ($sc-dispatch
-                                                 #{tmp\ 1435}#
+                                                 #{tmp\ 13685}#
                                                  '(any . any)))))
                                           ($sc-dispatch
-                                            #{tmp\ 1435}#
+                                            #{tmp\ 13685}#
                                             '((any any) . any)))))
                                      ($sc-dispatch
-                                       #{tmp\ 1435}#
+                                       #{tmp\ 13685}#
                                        '(any . any)))))
-                                ($sc-dispatch #{tmp\ 1435}# (quote ()))))
-                             #{args\ 1429}#)))
-                        (#{req\ 1287}#
-                          (lambda (#{args\ 1484}# #{rreq\ 1485}#)
-                            ((lambda (#{tmp\ 1488}#)
-                               ((lambda (#{tmp\ 1489}#)
-                                  (if #{tmp\ 1489}#
+                                ($sc-dispatch #{tmp\ 13685}# (quote ()))))
+                             #{args\ 13679}#)))
+                        (#{req\ 13537}#
+                          (lambda (#{args\ 13734}# #{rreq\ 13735}#)
+                            ((lambda (#{tmp\ 13738}#)
+                               ((lambda (#{tmp\ 13739}#)
+                                  (if #{tmp\ 13739}#
                                     (apply (lambda ()
-                                             (#{check\ 1295}#
-                                               (reverse #{rreq\ 1485}#)
+                                             (#{check\ 13545}#
+                                               (reverse #{rreq\ 13735}#)
                                                '()
                                                #f
                                                '()))
-                                           #{tmp\ 1489}#)
-                                    ((lambda (#{tmp\ 1490}#)
-                                       (if (if #{tmp\ 1490}#
-                                             (apply (lambda (#{a\ 1493}#
-                                                             #{b\ 1494}#)
-                                                      (#{id?\ 666}#
-                                                        #{a\ 1493}#))
-                                                    #{tmp\ 1490}#)
+                                           #{tmp\ 13739}#)
+                                    ((lambda (#{tmp\ 13740}#)
+                                       (if (if #{tmp\ 13740}#
+                                             (apply (lambda (#{a\ 13743}#
+                                                             #{b\ 13744}#)
+                                                      (#{id?\ 12916}#
+                                                        #{a\ 13743}#))
+                                                    #{tmp\ 13740}#)
                                              #f)
-                                         (apply (lambda (#{a\ 1497}#
-                                                         #{b\ 1498}#)
-                                                  (#{req\ 1287}#
-                                                    #{b\ 1498}#
-                                                    (cons #{a\ 1497}#
-                                                          #{rreq\ 1485}#)))
-                                                #{tmp\ 1490}#)
-                                         ((lambda (#{tmp\ 1499}#)
-                                            (if (if #{tmp\ 1499}#
-                                                  (apply (lambda (#{a\ 1502}#
-                                                                  #{b\ 1503}#)
+                                         (apply (lambda (#{a\ 13747}#
+                                                         #{b\ 13748}#)
+                                                  (#{req\ 13537}#
+                                                    #{b\ 13748}#
+                                                    (cons #{a\ 13747}#
+                                                          #{rreq\ 13735}#)))
+                                                #{tmp\ 13740}#)
+                                         ((lambda (#{tmp\ 13749}#)
+                                            (if (if #{tmp\ 13749}#
+                                                  (apply (lambda (#{a\ 13752}#
+                                                                  #{b\ 13753}#)
                                                            (eq? (syntax->datum
-                                                                  #{a\ 1502}#)
+                                                                  #{a\ 13752}#)
                                                                 #:optional))
-                                                         #{tmp\ 1499}#)
+                                                         #{tmp\ 13749}#)
                                                   #f)
-                                              (apply (lambda (#{a\ 1506}#
-                                                              #{b\ 1507}#)
-                                                       (#{opt\ 1289}#
-                                                         #{b\ 1507}#
+                                              (apply (lambda (#{a\ 13756}#
+                                                              #{b\ 13757}#)
+                                                       (#{opt\ 13539}#
+                                                         #{b\ 13757}#
                                                          (reverse
-                                                           #{rreq\ 1485}#)
+                                                           #{rreq\ 13735}#)
                                                          '()))
-                                                     #{tmp\ 1499}#)
-                                              ((lambda (#{tmp\ 1508}#)
-                                                 (if (if #{tmp\ 1508}#
-                                                       (apply (lambda (#{a\ 
1511}#
-                                                                       #{b\ 
1512}#)
+                                                     #{tmp\ 13749}#)
+                                              ((lambda (#{tmp\ 13758}#)
+                                                 (if (if #{tmp\ 13758}#
+                                                       (apply (lambda (#{a\ 
13761}#
+                                                                       #{b\ 
13762}#)
                                                                 (eq? 
(syntax->datum
-                                                                       #{a\ 
1511}#)
+                                                                       #{a\ 
13761}#)
                                                                      #:key))
-                                                              #{tmp\ 1508}#)
+                                                              #{tmp\ 13758}#)
                                                        #f)
-                                                   (apply (lambda (#{a\ 1515}#
-                                                                   #{b\ 1516}#)
-                                                            (#{key\ 1291}#
-                                                              #{b\ 1516}#
+                                                   (apply (lambda (#{a\ 13765}#
+                                                                   #{b\ 
13766}#)
+                                                            (#{key\ 13541}#
+                                                              #{b\ 13766}#
                                                               (reverse
-                                                                #{rreq\ 1485}#)
+                                                                #{rreq\ 
13735}#)
                                                               '()
                                                               '()))
-                                                          #{tmp\ 1508}#)
-                                                   ((lambda (#{tmp\ 1517}#)
-                                                      (if (if #{tmp\ 1517}#
-                                                            (apply (lambda 
(#{a\ 1520}#
-                                                                            
#{b\ 1521}#)
+                                                          #{tmp\ 13758}#)
+                                                   ((lambda (#{tmp\ 13767}#)
+                                                      (if (if #{tmp\ 13767}#
+                                                            (apply (lambda 
(#{a\ 13770}#
+                                                                            
#{b\ 13771}#)
                                                                      (eq? 
(syntax->datum
-                                                                            
#{a\ 1520}#)
+                                                                            
#{a\ 13770}#)
                                                                           
#:rest))
-                                                                   #{tmp\ 
1517}#)
+                                                                   #{tmp\ 
13767}#)
                                                             #f)
-                                                        (apply (lambda (#{a\ 
1524}#
-                                                                        #{b\ 
1525}#)
-                                                                 (#{rest\ 
1293}#
-                                                                   #{b\ 1525}#
+                                                        (apply (lambda (#{a\ 
13774}#
+                                                                        #{b\ 
13775}#)
+                                                                 (#{rest\ 
13543}#
+                                                                   #{b\ 13775}#
                                                                    (reverse
-                                                                     #{rreq\ 
1485}#)
+                                                                     #{rreq\ 
13735}#)
                                                                    '()
                                                                    '()))
-                                                               #{tmp\ 1517}#)
-                                                        ((lambda (#{tmp\ 
1526}#)
-                                                           (if (if #{tmp\ 
1526}#
-                                                                 (apply 
(lambda (#{r\ 1528}#)
-                                                                          
(#{id?\ 666}#
-                                                                            
#{r\ 1528}#))
-                                                                        #{tmp\ 
1526}#)
+                                                               #{tmp\ 13767}#)
+                                                        ((lambda (#{tmp\ 
13776}#)
+                                                           (if (if #{tmp\ 
13776}#
+                                                                 (apply 
(lambda (#{r\ 13778}#)
+                                                                          
(#{id?\ 12916}#
+                                                                            
#{r\ 13778}#))
+                                                                        #{tmp\ 
13776}#)
                                                                  #f)
-                                                             (apply (lambda 
(#{r\ 1530}#)
-                                                                      (#{rest\ 
1293}#
-                                                                        #{r\ 
1530}#
+                                                             (apply (lambda 
(#{r\ 13780}#)
+                                                                      (#{rest\ 
13543}#
+                                                                        #{r\ 
13780}#
                                                                         
(reverse
-                                                                          
#{rreq\ 1485}#)
+                                                                          
#{rreq\ 13735}#)
                                                                         '()
                                                                         '()))
-                                                                    #{tmp\ 
1526}#)
-                                                             ((lambda (#{else\ 
1532}#)
+                                                                    #{tmp\ 
13776}#)
+                                                             ((lambda (#{else\ 
13782}#)
                                                                 
(syntax-violation
                                                                   'lambda*
                                                                   "invalid 
argument list"
-                                                                  #{orig-args\ 
1284}#
-                                                                  #{args\ 
1484}#))
-                                                              #{tmp\ 1488}#)))
-                                                         (list #{tmp\ 
1488}#))))
+                                                                  #{orig-args\ 
13534}#
+                                                                  #{args\ 
13734}#))
+                                                              #{tmp\ 13738}#)))
+                                                         (list #{tmp\ 
13738}#))))
                                                     ($sc-dispatch
-                                                      #{tmp\ 1488}#
+                                                      #{tmp\ 13738}#
                                                       '(any any)))))
                                                ($sc-dispatch
-                                                 #{tmp\ 1488}#
+                                                 #{tmp\ 13738}#
                                                  '(any . any)))))
                                           ($sc-dispatch
-                                            #{tmp\ 1488}#
+                                            #{tmp\ 13738}#
                                             '(any . any)))))
                                      ($sc-dispatch
-                                       #{tmp\ 1488}#
+                                       #{tmp\ 13738}#
                                        '(any . any)))))
-                                ($sc-dispatch #{tmp\ 1488}# (quote ()))))
-                             #{args\ 1484}#))))
-                 (#{req\ 1287}# #{orig-args\ 1284}# (quote ())))))
-           (#{chi-simple-lambda\ 771}#
-             (lambda (#{e\ 1533}#
-                      #{r\ 1534}#
-                      #{w\ 1535}#
-                      #{s\ 1536}#
-                      #{mod\ 1537}#
-                      #{req\ 1538}#
-                      #{rest\ 1539}#
-                      #{meta\ 1540}#
-                      #{body\ 1541}#)
-               (let ((#{ids\ 1553}#
-                       (if #{rest\ 1539}#
-                         (append #{req\ 1538}# (list #{rest\ 1539}#))
-                         #{req\ 1538}#)))
-                 (let ((#{vars\ 1555}#
-                         (map #{gen-var\ 779}# #{ids\ 1553}#)))
-                   (let ((#{labels\ 1557}#
-                           (#{gen-labels\ 684}# #{ids\ 1553}#)))
-                     (#{build-simple-lambda\ 608}#
-                       #{s\ 1536}#
-                       (map syntax->datum #{req\ 1538}#)
-                       (if #{rest\ 1539}#
-                         (syntax->datum #{rest\ 1539}#)
+                                ($sc-dispatch #{tmp\ 13738}# (quote ()))))
+                             #{args\ 13734}#))))
+                 (#{req\ 13537}# #{orig-args\ 13534}# (quote ())))))
+           (#{chi-simple-lambda\ 13021}#
+             (lambda (#{e\ 13783}#
+                      #{r\ 13784}#
+                      #{w\ 13785}#
+                      #{s\ 13786}#
+                      #{mod\ 13787}#
+                      #{req\ 13788}#
+                      #{rest\ 13789}#
+                      #{meta\ 13790}#
+                      #{body\ 13791}#)
+               (let ((#{ids\ 13803}#
+                       (if #{rest\ 13789}#
+                         (append #{req\ 13788}# (list #{rest\ 13789}#))
+                         #{req\ 13788}#)))
+                 (let ((#{vars\ 13805}#
+                         (map #{gen-var\ 13029}# #{ids\ 13803}#)))
+                   (let ((#{labels\ 13807}#
+                           (#{gen-labels\ 12934}# #{ids\ 13803}#)))
+                     (#{build-simple-lambda\ 12858}#
+                       #{s\ 13786}#
+                       (map syntax->datum #{req\ 13788}#)
+                       (if #{rest\ 13789}#
+                         (syntax->datum #{rest\ 13789}#)
                          #f)
-                       #{vars\ 1555}#
-                       #{meta\ 1540}#
-                       (#{chi-body\ 759}#
-                         #{body\ 1541}#
-                         (#{source-wrap\ 737}#
-                           #{e\ 1533}#
-                           #{w\ 1535}#
-                           #{s\ 1536}#
-                           #{mod\ 1537}#)
-                         (#{extend-var-env\ 656}#
-                           #{labels\ 1557}#
-                           #{vars\ 1555}#
-                           #{r\ 1534}#)
-                         (#{make-binding-wrap\ 713}#
-                           #{ids\ 1553}#
-                           #{labels\ 1557}#
-                           #{w\ 1535}#)
-                         #{mod\ 1537}#)))))))
-           (#{lambda-formals\ 769}#
-             (lambda (#{orig-args\ 1560}#)
-               (letrec ((#{check\ 1565}#
-                          (lambda (#{req\ 1566}# #{rest\ 1567}#)
-                            (if (#{distinct-bound-ids?\ 731}#
-                                  (if #{rest\ 1567}#
-                                    (cons #{rest\ 1567}# #{req\ 1566}#)
-                                    #{req\ 1566}#))
-                              (values #{req\ 1566}# #f #{rest\ 1567}# #f)
+                       #{vars\ 13805}#
+                       #{meta\ 13790}#
+                       (#{chi-body\ 13009}#
+                         #{body\ 13791}#
+                         (#{source-wrap\ 12987}#
+                           #{e\ 13783}#
+                           #{w\ 13785}#
+                           #{s\ 13786}#
+                           #{mod\ 13787}#)
+                         (#{extend-var-env\ 12906}#
+                           #{labels\ 13807}#
+                           #{vars\ 13805}#
+                           #{r\ 13784}#)
+                         (#{make-binding-wrap\ 12963}#
+                           #{ids\ 13803}#
+                           #{labels\ 13807}#
+                           #{w\ 13785}#)
+                         #{mod\ 13787}#)))))))
+           (#{lambda-formals\ 13019}#
+             (lambda (#{orig-args\ 13810}#)
+               (letrec ((#{check\ 13815}#
+                          (lambda (#{req\ 13816}# #{rest\ 13817}#)
+                            (if (#{distinct-bound-ids?\ 12981}#
+                                  (if #{rest\ 13817}#
+                                    (cons #{rest\ 13817}# #{req\ 13816}#)
+                                    #{req\ 13816}#))
+                              (values #{req\ 13816}# #f #{rest\ 13817}# #f)
                               (syntax-violation
                                 'lambda
                                 "duplicate identifier in argument list"
-                                #{orig-args\ 1560}#))))
-                        (#{req\ 1563}#
-                          (lambda (#{args\ 1573}# #{rreq\ 1574}#)
-                            ((lambda (#{tmp\ 1577}#)
-                               ((lambda (#{tmp\ 1578}#)
-                                  (if #{tmp\ 1578}#
+                                #{orig-args\ 13810}#))))
+                        (#{req\ 13813}#
+                          (lambda (#{args\ 13823}# #{rreq\ 13824}#)
+                            ((lambda (#{tmp\ 13827}#)
+                               ((lambda (#{tmp\ 13828}#)
+                                  (if #{tmp\ 13828}#
                                     (apply (lambda ()
-                                             (#{check\ 1565}#
-                                               (reverse #{rreq\ 1574}#)
+                                             (#{check\ 13815}#
+                                               (reverse #{rreq\ 13824}#)
                                                #f))
-                                           #{tmp\ 1578}#)
-                                    ((lambda (#{tmp\ 1579}#)
-                                       (if (if #{tmp\ 1579}#
-                                             (apply (lambda (#{a\ 1582}#
-                                                             #{b\ 1583}#)
-                                                      (#{id?\ 666}#
-                                                        #{a\ 1582}#))
-                                                    #{tmp\ 1579}#)
+                                           #{tmp\ 13828}#)
+                                    ((lambda (#{tmp\ 13829}#)
+                                       (if (if #{tmp\ 13829}#
+                                             (apply (lambda (#{a\ 13832}#
+                                                             #{b\ 13833}#)
+                                                      (#{id?\ 12916}#
+                                                        #{a\ 13832}#))
+                                                    #{tmp\ 13829}#)
                                              #f)
-                                         (apply (lambda (#{a\ 1586}#
-                                                         #{b\ 1587}#)
-                                                  (#{req\ 1563}#
-                                                    #{b\ 1587}#
-                                                    (cons #{a\ 1586}#
-                                                          #{rreq\ 1574}#)))
-                                                #{tmp\ 1579}#)
-                                         ((lambda (#{tmp\ 1588}#)
-                                            (if (if #{tmp\ 1588}#
-                                                  (apply (lambda (#{r\ 1590}#)
-                                                           (#{id?\ 666}#
-                                                             #{r\ 1590}#))
-                                                         #{tmp\ 1588}#)
+                                         (apply (lambda (#{a\ 13836}#
+                                                         #{b\ 13837}#)
+                                                  (#{req\ 13813}#
+                                                    #{b\ 13837}#
+                                                    (cons #{a\ 13836}#
+                                                          #{rreq\ 13824}#)))
+                                                #{tmp\ 13829}#)
+                                         ((lambda (#{tmp\ 13838}#)
+                                            (if (if #{tmp\ 13838}#
+                                                  (apply (lambda (#{r\ 13840}#)
+                                                           (#{id?\ 12916}#
+                                                             #{r\ 13840}#))
+                                                         #{tmp\ 13838}#)
                                                   #f)
-                                              (apply (lambda (#{r\ 1592}#)
-                                                       (#{check\ 1565}#
+                                              (apply (lambda (#{r\ 13842}#)
+                                                       (#{check\ 13815}#
                                                          (reverse
-                                                           #{rreq\ 1574}#)
-                                                         #{r\ 1592}#))
-                                                     #{tmp\ 1588}#)
-                                              ((lambda (#{else\ 1594}#)
+                                                           #{rreq\ 13824}#)
+                                                         #{r\ 13842}#))
+                                                     #{tmp\ 13838}#)
+                                              ((lambda (#{else\ 13844}#)
                                                  (syntax-violation
                                                    'lambda
                                                    "invalid argument list"
-                                                   #{orig-args\ 1560}#
-                                                   #{args\ 1573}#))
-                                               #{tmp\ 1577}#)))
-                                          (list #{tmp\ 1577}#))))
+                                                   #{orig-args\ 13810}#
+                                                   #{args\ 13823}#))
+                                               #{tmp\ 13827}#)))
+                                          (list #{tmp\ 13827}#))))
                                      ($sc-dispatch
-                                       #{tmp\ 1577}#
+                                       #{tmp\ 13827}#
                                        '(any . any)))))
-                                ($sc-dispatch #{tmp\ 1577}# (quote ()))))
-                             #{args\ 1573}#))))
-                 (#{req\ 1563}# #{orig-args\ 1560}# (quote ())))))
-           (#{ellipsis?\ 767}#
-             (lambda (#{x\ 1595}#)
-               (if (#{nonsymbol-id?\ 664}# #{x\ 1595}#)
-                 (#{free-id=?\ 725}#
-                   #{x\ 1595}#
+                                ($sc-dispatch #{tmp\ 13827}# (quote ()))))
+                             #{args\ 13823}#))))
+                 (#{req\ 13813}# #{orig-args\ 13810}# (quote ())))))
+           (#{ellipsis?\ 13017}#
+             (lambda (#{x\ 13845}#)
+               (if (#{nonsymbol-id?\ 12914}# #{x\ 13845}#)
+                 (#{free-id=?\ 12975}#
+                   #{x\ 13845}#
                    '#(syntax-object
                       ...
                       ((top)
                        #(ribcage () () ())
                        #(ribcage () () ())
-                       #(ribcage #(x) #((top)) #("i1596"))
+                       #(ribcage #(x) #((top)) #("i13846"))
                        #(ribcage
                          (lambda-var-list
                            gen-var
@@ -2102,6 +2232,24 @@
                            fx=
                            fx-
                            fx+
+                           make-dynlet
+                           make-letrec
+                           make-let
+                           make-lambda-case
+                           make-lambda
+                           make-sequence
+                           make-application
+                           make-conditional
+                           make-toplevel-define
+                           make-toplevel-set
+                           make-toplevel-ref
+                           make-module-set
+                           make-module-ref
+                           make-lexical-set
+                           make-lexical-ref
+                           make-primitive-ref
+                           make-const
+                           make-void
                            *mode*)
                          ((top)
                           (top)
@@ -2219,1412 +2367,1460 @@
                           (top)
                           (top)
                           (top)
+                          (top)
+                          (top)
+                          (top)
+                          (top)
+                          (top)
+                          (top)
+                          (top)
+                          (top)
+                          (top)
+                          (top)
+                          (top)
+                          (top)
+                          (top)
+                          (top)
+                          (top)
+                          (top)
+                          (top)
+                          (top)
                           (top))
-                         ("i780"
-                          "i778"
-                          "i776"
-                          "i774"
-                          "i772"
-                          "i770"
-                          "i768"
-                          "i766"
-                          "i764"
-                          "i762"
-                          "i760"
-                          "i758"
-                          "i756"
-                          "i754"
-                          "i752"
-                          "i750"
-                          "i748"
-                          "i746"
-                          "i744"
-                          "i742"
-                          "i740"
-                          "i738"
-                          "i736"
-                          "i734"
-                          "i732"
-                          "i730"
-                          "i728"
-                          "i726"
-                          "i724"
-                          "i722"
-                          "i720"
-                          "i718"
-                          "i716"
-                          "i714"
-                          "i712"
-                          "i710"
-                          "i709"
-                          "i708"
-                          "i706"
-                          "i705"
-                          "i704"
-                          "i703"
-                          "i702"
-                          "i700"
-                          "i698"
-                          "i696"
-                          "i694"
-                          "i692"
-                          "i690"
-                          "i688"
-                          "i686"
-                          "i683"
-                          "i681"
-                          "i680"
-                          "i679"
-                          "i678"
-                          "i677"
-                          "i676"
-                          "i674"
-                          "i672"
-                          "i670"
-                          "i668"
-                          "i667"
-                          "i665"
-                          "i663"
-                          "i661"
-                          "i659"
-                          "i657"
-                          "i655"
-                          "i653"
-                          "i652"
-                          "i650"
-                          "i648"
-                          "i647"
-                          "i646"
-                          "i644"
-                          "i643"
-                          "i641"
-                          "i639"
-                          "i637"
-                          "i635"
-                          "i633"
-                          "i631"
-                          "i629"
-                          "i627"
-                          "i625"
-                          "i623"
-                          "i621"
-                          "i619"
-                          "i617"
-                          "i615"
-                          "i613"
-                          "i611"
-                          "i609"
-                          "i607"
-                          "i605"
-                          "i603"
-                          "i601"
-                          "i599"
-                          "i597"
-                          "i595"
-                          "i593"
-                          "i591"
-                          "i589"
-                          "i587"
-                          "i585"
-                          "i583"
-                          "i581"
-                          "i579"
-                          "i578"
-                          "i576"
-                          "i574"
-                          "i572"
-                          "i570"
-                          "i568"
-                          "i566"
-                          "i564"))
+                         ("i13030"
+                          "i13028"
+                          "i13026"
+                          "i13024"
+                          "i13022"
+                          "i13020"
+                          "i13018"
+                          "i13016"
+                          "i13014"
+                          "i13012"
+                          "i13010"
+                          "i13008"
+                          "i13006"
+                          "i13004"
+                          "i13002"
+                          "i13000"
+                          "i12998"
+                          "i12996"
+                          "i12994"
+                          "i12992"
+                          "i12990"
+                          "i12988"
+                          "i12986"
+                          "i12984"
+                          "i12982"
+                          "i12980"
+                          "i12978"
+                          "i12976"
+                          "i12974"
+                          "i12972"
+                          "i12970"
+                          "i12968"
+                          "i12966"
+                          "i12964"
+                          "i12962"
+                          "i12960"
+                          "i12959"
+                          "i12958"
+                          "i12956"
+                          "i12955"
+                          "i12954"
+                          "i12953"
+                          "i12952"
+                          "i12950"
+                          "i12948"
+                          "i12946"
+                          "i12944"
+                          "i12942"
+                          "i12940"
+                          "i12938"
+                          "i12936"
+                          "i12933"
+                          "i12931"
+                          "i12930"
+                          "i12929"
+                          "i12928"
+                          "i12927"
+                          "i12926"
+                          "i12924"
+                          "i12922"
+                          "i12920"
+                          "i12918"
+                          "i12917"
+                          "i12915"
+                          "i12913"
+                          "i12911"
+                          "i12909"
+                          "i12907"
+                          "i12905"
+                          "i12903"
+                          "i12902"
+                          "i12900"
+                          "i12898"
+                          "i12897"
+                          "i12896"
+                          "i12894"
+                          "i12893"
+                          "i12891"
+                          "i12889"
+                          "i12887"
+                          "i12885"
+                          "i12883"
+                          "i12881"
+                          "i12879"
+                          "i12877"
+                          "i12875"
+                          "i12873"
+                          "i12871"
+                          "i12869"
+                          "i12867"
+                          "i12865"
+                          "i12863"
+                          "i12861"
+                          "i12859"
+                          "i12857"
+                          "i12855"
+                          "i12853"
+                          "i12851"
+                          "i12849"
+                          "i12847"
+                          "i12845"
+                          "i12843"
+                          "i12841"
+                          "i12839"
+                          "i12837"
+                          "i12835"
+                          "i12833"
+                          "i12831"
+                          "i12829"
+                          "i12828"
+                          "i12826"
+                          "i12824"
+                          "i12822"
+                          "i12820"
+                          "i12818"
+                          "i12816"
+                          "i12814"
+                          "i12812"
+                          "i12810"
+                          "i12808"
+                          "i12806"
+                          "i12804"
+                          "i12802"
+                          "i12800"
+                          "i12798"
+                          "i12796"
+                          "i12794"
+                          "i12792"
+                          "i12790"
+                          "i12788"
+                          "i12786"
+                          "i12784"
+                          "i12782"
+                          "i12780"
+                          "i12777"))
                        #(ribcage
-                         (define-structure and-map*)
-                         ((top) (top))
-                         ("i467" "i465")))
+                         (define-structure
+                           define-expansion-constructors
+                           and-map*)
+                         ((top) (top) (top))
+                         ("i12629" "i12628" "i12626")))
                       (hygiene guile)))
                  #f)))
-           (#{chi-void\ 765}#
-             (lambda () (#{build-void\ 586}# #f)))
-           (#{eval-local-transformer\ 763}#
-             (lambda (#{expanded\ 1600}# #{mod\ 1601}#)
-               (let ((#{p\ 1605}#
-                       (#{local-eval-hook\ 577}#
-                         #{expanded\ 1600}#
-                         #{mod\ 1601}#)))
-                 (if (procedure? #{p\ 1605}#)
-                   (cons #{p\ 1605}# (module-name (current-module)))
+           (#{chi-void\ 13015}#
+             (lambda () (#{build-void\ 12836}# #f)))
+           (#{eval-local-transformer\ 13013}#
+             (lambda (#{expanded\ 13850}# #{mod\ 13851}#)
+               (let ((#{p\ 13855}#
+                       (#{local-eval-hook\ 12827}#
+                         #{expanded\ 13850}#
+                         #{mod\ 13851}#)))
+                 (if (procedure? #{p\ 13855}#)
+                   (cons #{p\ 13855}#
+                         (module-name (current-module)))
                    (syntax-violation
                      #f
                      "nonprocedure transformer"
-                     #{p\ 1605}#)))))
-           (#{chi-local-syntax\ 761}#
-             (lambda (#{rec?\ 1606}#
-                      #{e\ 1607}#
-                      #{r\ 1608}#
-                      #{w\ 1609}#
-                      #{s\ 1610}#
-                      #{mod\ 1611}#
-                      #{k\ 1612}#)
-               ((lambda (#{tmp\ 1620}#)
-                  ((lambda (#{tmp\ 1621}#)
-                     (if #{tmp\ 1621}#
-                       (apply (lambda (#{_\ 1627}#
-                                       #{id\ 1628}#
-                                       #{val\ 1629}#
-                                       #{e1\ 1630}#
-                                       #{e2\ 1631}#)
-                                (let ((#{ids\ 1633}# #{id\ 1628}#))
-                                  (if (not (#{valid-bound-ids?\ 729}#
-                                             #{ids\ 1633}#))
+                     #{p\ 13855}#)))))
+           (#{chi-local-syntax\ 13011}#
+             (lambda (#{rec?\ 13856}#
+                      #{e\ 13857}#
+                      #{r\ 13858}#
+                      #{w\ 13859}#
+                      #{s\ 13860}#
+                      #{mod\ 13861}#
+                      #{k\ 13862}#)
+               ((lambda (#{tmp\ 13870}#)
+                  ((lambda (#{tmp\ 13871}#)
+                     (if #{tmp\ 13871}#
+                       (apply (lambda (#{_\ 13877}#
+                                       #{id\ 13878}#
+                                       #{val\ 13879}#
+                                       #{e1\ 13880}#
+                                       #{e2\ 13881}#)
+                                (let ((#{ids\ 13883}# #{id\ 13878}#))
+                                  (if (not (#{valid-bound-ids?\ 12979}#
+                                             #{ids\ 13883}#))
                                     (syntax-violation
                                       #f
                                       "duplicate bound keyword"
-                                      #{e\ 1607}#)
-                                    (let ((#{labels\ 1636}#
-                                            (#{gen-labels\ 684}#
-                                              #{ids\ 1633}#)))
-                                      (let ((#{new-w\ 1638}#
-                                              (#{make-binding-wrap\ 713}#
-                                                #{ids\ 1633}#
-                                                #{labels\ 1636}#
-                                                #{w\ 1609}#)))
-                                        (#{k\ 1612}#
-                                          (cons #{e1\ 1630}# #{e2\ 1631}#)
-                                          (#{extend-env\ 654}#
-                                            #{labels\ 1636}#
-                                            (let ((#{w\ 1642}#
-                                                    (if #{rec?\ 1606}#
-                                                      #{new-w\ 1638}#
-                                                      #{w\ 1609}#))
-                                                  (#{trans-r\ 1643}#
-                                                    (#{macros-only-env\ 658}#
-                                                      #{r\ 1608}#)))
-                                              (map (lambda (#{x\ 1644}#)
+                                      #{e\ 13857}#)
+                                    (let ((#{labels\ 13886}#
+                                            (#{gen-labels\ 12934}#
+                                              #{ids\ 13883}#)))
+                                      (let ((#{new-w\ 13888}#
+                                              (#{make-binding-wrap\ 12963}#
+                                                #{ids\ 13883}#
+                                                #{labels\ 13886}#
+                                                #{w\ 13859}#)))
+                                        (#{k\ 13862}#
+                                          (cons #{e1\ 13880}# #{e2\ 13881}#)
+                                          (#{extend-env\ 12904}#
+                                            #{labels\ 13886}#
+                                            (let ((#{w\ 13892}#
+                                                    (if #{rec?\ 13856}#
+                                                      #{new-w\ 13888}#
+                                                      #{w\ 13859}#))
+                                                  (#{trans-r\ 13893}#
+                                                    (#{macros-only-env\ 12908}#
+                                                      #{r\ 13858}#)))
+                                              (map (lambda (#{x\ 13894}#)
                                                      (cons 'macro
-                                                           
(#{eval-local-transformer\ 763}#
-                                                             (#{chi\ 751}#
-                                                               #{x\ 1644}#
-                                                               #{trans-r\ 
1643}#
-                                                               #{w\ 1642}#
-                                                               #{mod\ 1611}#)
-                                                             #{mod\ 1611}#)))
-                                                   #{val\ 1629}#))
-                                            #{r\ 1608}#)
-                                          #{new-w\ 1638}#
-                                          #{s\ 1610}#
-                                          #{mod\ 1611}#))))))
-                              #{tmp\ 1621}#)
-                       ((lambda (#{_\ 1649}#)
+                                                           
(#{eval-local-transformer\ 13013}#
+                                                             (#{chi\ 13001}#
+                                                               #{x\ 13894}#
+                                                               #{trans-r\ 
13893}#
+                                                               #{w\ 13892}#
+                                                               #{mod\ 13861}#)
+                                                             #{mod\ 13861}#)))
+                                                   #{val\ 13879}#))
+                                            #{r\ 13858}#)
+                                          #{new-w\ 13888}#
+                                          #{s\ 13860}#
+                                          #{mod\ 13861}#))))))
+                              #{tmp\ 13871}#)
+                       ((lambda (#{_\ 13899}#)
                           (syntax-violation
                             #f
                             "bad local syntax definition"
-                            (#{source-wrap\ 737}#
-                              #{e\ 1607}#
-                              #{w\ 1609}#
-                              #{s\ 1610}#
-                              #{mod\ 1611}#)))
-                        #{tmp\ 1620}#)))
+                            (#{source-wrap\ 12987}#
+                              #{e\ 13857}#
+                              #{w\ 13859}#
+                              #{s\ 13860}#
+                              #{mod\ 13861}#)))
+                        #{tmp\ 13870}#)))
                    ($sc-dispatch
-                     #{tmp\ 1620}#
+                     #{tmp\ 13870}#
                      '(any #(each (any any)) any . each-any))))
-                #{e\ 1607}#)))
-           (#{chi-body\ 759}#
-             (lambda (#{body\ 1650}#
-                      #{outer-form\ 1651}#
-                      #{r\ 1652}#
-                      #{w\ 1653}#
-                      #{mod\ 1654}#)
-               (let ((#{r\ 1662}#
+                #{e\ 13857}#)))
+           (#{chi-body\ 13009}#
+             (lambda (#{body\ 13900}#
+                      #{outer-form\ 13901}#
+                      #{r\ 13902}#
+                      #{w\ 13903}#
+                      #{mod\ 13904}#)
+               (let ((#{r\ 13912}#
                        (cons '("placeholder" placeholder)
-                             #{r\ 1652}#)))
-                 (let ((#{ribcage\ 1664}#
-                         (#{make-ribcage\ 687}#
+                             #{r\ 13902}#)))
+                 (let ((#{ribcage\ 13914}#
+                         (#{make-ribcage\ 12937}#
                            '()
                            '()
                            '())))
-                   (let ((#{w\ 1667}#
-                           (#{make-wrap\ 671}#
-                             (#{wrap-marks\ 673}# #{w\ 1653}#)
-                             (cons #{ribcage\ 1664}#
-                                   (#{wrap-subst\ 675}# #{w\ 1653}#)))))
-                     (letrec ((#{parse\ 1676}#
-                                (lambda (#{body\ 1677}#
-                                         #{ids\ 1678}#
-                                         #{labels\ 1679}#
-                                         #{var-ids\ 1680}#
-                                         #{vars\ 1681}#
-                                         #{vals\ 1682}#
-                                         #{bindings\ 1683}#)
-                                  (if (null? #{body\ 1677}#)
+                   (let ((#{w\ 13917}#
+                           (#{make-wrap\ 12921}#
+                             (#{wrap-marks\ 12923}# #{w\ 13903}#)
+                             (cons #{ribcage\ 13914}#
+                                   (#{wrap-subst\ 12925}# #{w\ 13903}#)))))
+                     (letrec ((#{parse\ 13926}#
+                                (lambda (#{body\ 13927}#
+                                         #{ids\ 13928}#
+                                         #{labels\ 13929}#
+                                         #{var-ids\ 13930}#
+                                         #{vars\ 13931}#
+                                         #{vals\ 13932}#
+                                         #{bindings\ 13933}#)
+                                  (if (null? #{body\ 13927}#)
                                     (syntax-violation
                                       #f
                                       "no expressions in body"
-                                      #{outer-form\ 1651}#)
-                                    (let ((#{e\ 1688}# (cdar #{body\ 1677}#))
-                                          (#{er\ 1689}# (caar #{body\ 1677}#)))
+                                      #{outer-form\ 13901}#)
+                                    (let ((#{e\ 13938}# (cdar #{body\ 13927}#))
+                                          (#{er\ 13939}#
+                                            (caar #{body\ 13927}#)))
                                       (call-with-values
                                         (lambda ()
-                                          (#{syntax-type\ 747}#
-                                            #{e\ 1688}#
-                                            #{er\ 1689}#
+                                          (#{syntax-type\ 12997}#
+                                            #{e\ 13938}#
+                                            #{er\ 13939}#
                                             '(())
-                                            (#{source-annotation\ 645}#
-                                              #{er\ 1689}#)
-                                            #{ribcage\ 1664}#
-                                            #{mod\ 1654}#
+                                            (#{source-annotation\ 12895}#
+                                              #{er\ 13939}#)
+                                            #{ribcage\ 13914}#
+                                            #{mod\ 13904}#
                                             #f))
-                                        (lambda (#{type\ 1691}#
-                                                 #{value\ 1692}#
-                                                 #{e\ 1693}#
-                                                 #{w\ 1694}#
-                                                 #{s\ 1695}#
-                                                 #{mod\ 1696}#)
-                                          (if (memv #{type\ 1691}#
+                                        (lambda (#{type\ 13941}#
+                                                 #{value\ 13942}#
+                                                 #{e\ 13943}#
+                                                 #{w\ 13944}#
+                                                 #{s\ 13945}#
+                                                 #{mod\ 13946}#)
+                                          (if (memv #{type\ 13941}#
                                                     '(define-form))
-                                            (let ((#{id\ 1706}#
-                                                    (#{wrap\ 735}#
-                                                      #{value\ 1692}#
-                                                      #{w\ 1694}#
-                                                      #{mod\ 1696}#))
-                                                  (#{label\ 1707}#
-                                                    (#{gen-label\ 682}#)))
-                                              (let ((#{var\ 1709}#
-                                                      (#{gen-var\ 779}#
-                                                        #{id\ 1706}#)))
+                                            (let ((#{id\ 13956}#
+                                                    (#{wrap\ 12985}#
+                                                      #{value\ 13942}#
+                                                      #{w\ 13944}#
+                                                      #{mod\ 13946}#))
+                                                  (#{label\ 13957}#
+                                                    (#{gen-label\ 12932}#)))
+                                              (let ((#{var\ 13959}#
+                                                      (#{gen-var\ 13029}#
+                                                        #{id\ 13956}#)))
                                                 (begin
-                                                  (#{extend-ribcage!\ 711}#
-                                                    #{ribcage\ 1664}#
-                                                    #{id\ 1706}#
-                                                    #{label\ 1707}#)
-                                                  (#{parse\ 1676}#
-                                                    (cdr #{body\ 1677}#)
-                                                    (cons #{id\ 1706}#
-                                                          #{ids\ 1678}#)
-                                                    (cons #{label\ 1707}#
-                                                          #{labels\ 1679}#)
-                                                    (cons #{id\ 1706}#
-                                                          #{var-ids\ 1680}#)
-                                                    (cons #{var\ 1709}#
-                                                          #{vars\ 1681}#)
-                                                    (cons (cons #{er\ 1689}#
-                                                                (#{wrap\ 735}#
-                                                                  #{e\ 1693}#
-                                                                  #{w\ 1694}#
-                                                                  #{mod\ 
1696}#))
-                                                          #{vals\ 1682}#)
+                                                  (#{extend-ribcage!\ 12961}#
+                                                    #{ribcage\ 13914}#
+                                                    #{id\ 13956}#
+                                                    #{label\ 13957}#)
+                                                  (#{parse\ 13926}#
+                                                    (cdr #{body\ 13927}#)
+                                                    (cons #{id\ 13956}#
+                                                          #{ids\ 13928}#)
+                                                    (cons #{label\ 13957}#
+                                                          #{labels\ 13929}#)
+                                                    (cons #{id\ 13956}#
+                                                          #{var-ids\ 13930}#)
+                                                    (cons #{var\ 13959}#
+                                                          #{vars\ 13931}#)
+                                                    (cons (cons #{er\ 13939}#
+                                                                (#{wrap\ 
12985}#
+                                                                  #{e\ 13943}#
+                                                                  #{w\ 13944}#
+                                                                  #{mod\ 
13946}#))
+                                                          #{vals\ 13932}#)
                                                     (cons (cons 'lexical
-                                                                #{var\ 1709}#)
-                                                          #{bindings\ 
1683}#)))))
-                                            (if (memv #{type\ 1691}#
+                                                                #{var\ 13959}#)
+                                                          #{bindings\ 
13933}#)))))
+                                            (if (memv #{type\ 13941}#
                                                       '(define-syntax-form))
-                                              (let ((#{id\ 1714}#
-                                                      (#{wrap\ 735}#
-                                                        #{value\ 1692}#
-                                                        #{w\ 1694}#
-                                                        #{mod\ 1696}#))
-                                                    (#{label\ 1715}#
-                                                      (#{gen-label\ 682}#)))
+                                              (let ((#{id\ 13964}#
+                                                      (#{wrap\ 12985}#
+                                                        #{value\ 13942}#
+                                                        #{w\ 13944}#
+                                                        #{mod\ 13946}#))
+                                                    (#{label\ 13965}#
+                                                      (#{gen-label\ 12932}#)))
                                                 (begin
-                                                  (#{extend-ribcage!\ 711}#
-                                                    #{ribcage\ 1664}#
-                                                    #{id\ 1714}#
-                                                    #{label\ 1715}#)
-                                                  (#{parse\ 1676}#
-                                                    (cdr #{body\ 1677}#)
-                                                    (cons #{id\ 1714}#
-                                                          #{ids\ 1678}#)
-                                                    (cons #{label\ 1715}#
-                                                          #{labels\ 1679}#)
-                                                    #{var-ids\ 1680}#
-                                                    #{vars\ 1681}#
-                                                    #{vals\ 1682}#
+                                                  (#{extend-ribcage!\ 12961}#
+                                                    #{ribcage\ 13914}#
+                                                    #{id\ 13964}#
+                                                    #{label\ 13965}#)
+                                                  (#{parse\ 13926}#
+                                                    (cdr #{body\ 13927}#)
+                                                    (cons #{id\ 13964}#
+                                                          #{ids\ 13928}#)
+                                                    (cons #{label\ 13965}#
+                                                          #{labels\ 13929}#)
+                                                    #{var-ids\ 13930}#
+                                                    #{vars\ 13931}#
+                                                    #{vals\ 13932}#
                                                     (cons (cons 'macro
-                                                                (cons #{er\ 
1689}#
-                                                                      (#{wrap\ 
735}#
-                                                                        #{e\ 
1693}#
-                                                                        #{w\ 
1694}#
-                                                                        #{mod\ 
1696}#)))
-                                                          #{bindings\ 
1683}#))))
-                                              (if (memv #{type\ 1691}#
+                                                                (cons #{er\ 
13939}#
+                                                                      (#{wrap\ 
12985}#
+                                                                        #{e\ 
13943}#
+                                                                        #{w\ 
13944}#
+                                                                        #{mod\ 
13946}#)))
+                                                          #{bindings\ 
13933}#))))
+                                              (if (memv #{type\ 13941}#
                                                         '(begin-form))
-                                                ((lambda (#{tmp\ 1718}#)
-                                                   ((lambda (#{tmp\ 1719}#)
-                                                      (if #{tmp\ 1719}#
-                                                        (apply (lambda (#{_\ 
1722}#
-                                                                        #{e1\ 
1723}#)
-                                                                 (#{parse\ 
1676}#
-                                                                   (letrec 
((#{f\ 1726}#
-                                                                              
(lambda (#{forms\ 1727}#)
-                                                                               
 (if (null? #{forms\ 1727}#)
-                                                                               
   (cdr #{body\ 1677}#)
-                                                                               
   (cons (cons #{er\ 1689}#
-                                                                               
               (#{wrap\ 735}#
-                                                                               
                 (car #{forms\ 1727}#)
-                                                                               
                 #{w\ 1694}#
-                                                                               
                 #{mod\ 1696}#))
-                                                                               
         (#{f\ 1726}#
-                                                                               
           (cdr #{forms\ 1727}#)))))))
-                                                                     (#{f\ 
1726}#
-                                                                       #{e1\ 
1723}#))
-                                                                   #{ids\ 
1678}#
-                                                                   #{labels\ 
1679}#
-                                                                   #{var-ids\ 
1680}#
-                                                                   #{vars\ 
1681}#
-                                                                   #{vals\ 
1682}#
-                                                                   #{bindings\ 
1683}#))
-                                                               #{tmp\ 1719}#)
+                                                ((lambda (#{tmp\ 13968}#)
+                                                   ((lambda (#{tmp\ 13969}#)
+                                                      (if #{tmp\ 13969}#
+                                                        (apply (lambda (#{_\ 
13972}#
+                                                                        #{e1\ 
13973}#)
+                                                                 (#{parse\ 
13926}#
+                                                                   (letrec 
((#{f\ 13976}#
+                                                                              
(lambda (#{forms\ 13977}#)
+                                                                               
 (if (null? #{forms\ 13977}#)
+                                                                               
   (cdr #{body\ 13927}#)
+                                                                               
   (cons (cons #{er\ 13939}#
+                                                                               
               (#{wrap\ 12985}#
+                                                                               
                 (car #{forms\ 13977}#)
+                                                                               
                 #{w\ 13944}#
+                                                                               
                 #{mod\ 13946}#))
+                                                                               
         (#{f\ 13976}#
+                                                                               
           (cdr #{forms\ 13977}#)))))))
+                                                                     (#{f\ 
13976}#
+                                                                       #{e1\ 
13973}#))
+                                                                   #{ids\ 
13928}#
+                                                                   #{labels\ 
13929}#
+                                                                   #{var-ids\ 
13930}#
+                                                                   #{vars\ 
13931}#
+                                                                   #{vals\ 
13932}#
+                                                                   #{bindings\ 
13933}#))
+                                                               #{tmp\ 13969}#)
                                                         (syntax-violation
                                                           #f
                                                           "source expression 
failed to match any pattern"
-                                                          #{tmp\ 1718}#)))
+                                                          #{tmp\ 13968}#)))
                                                     ($sc-dispatch
-                                                      #{tmp\ 1718}#
+                                                      #{tmp\ 13968}#
                                                       '(any . each-any))))
-                                                 #{e\ 1693}#)
-                                                (if (memv #{type\ 1691}#
+                                                 #{e\ 13943}#)
+                                                (if (memv #{type\ 13941}#
                                                           '(local-syntax-form))
-                                                  (#{chi-local-syntax\ 761}#
-                                                    #{value\ 1692}#
-                                                    #{e\ 1693}#
-                                                    #{er\ 1689}#
-                                                    #{w\ 1694}#
-                                                    #{s\ 1695}#
-                                                    #{mod\ 1696}#
-                                                    (lambda (#{forms\ 1730}#
-                                                             #{er\ 1731}#
-                                                             #{w\ 1732}#
-                                                             #{s\ 1733}#
-                                                             #{mod\ 1734}#)
-                                                      (#{parse\ 1676}#
-                                                        (letrec ((#{f\ 1742}#
-                                                                   (lambda 
(#{forms\ 1743}#)
-                                                                     (if 
(null? #{forms\ 1743}#)
-                                                                       (cdr 
#{body\ 1677}#)
-                                                                       (cons 
(cons #{er\ 1731}#
-                                                                               
    (#{wrap\ 735}#
-                                                                               
      (car #{forms\ 1743}#)
-                                                                               
      #{w\ 1732}#
-                                                                               
      #{mod\ 1734}#))
-                                                                             
(#{f\ 1742}#
-                                                                               
(cdr #{forms\ 1743}#)))))))
-                                                          (#{f\ 1742}#
-                                                            #{forms\ 1730}#))
-                                                        #{ids\ 1678}#
-                                                        #{labels\ 1679}#
-                                                        #{var-ids\ 1680}#
-                                                        #{vars\ 1681}#
-                                                        #{vals\ 1682}#
-                                                        #{bindings\ 1683}#)))
-                                                  (if (null? #{ids\ 1678}#)
-                                                    (#{build-sequence\ 618}#
+                                                  (#{chi-local-syntax\ 13011}#
+                                                    #{value\ 13942}#
+                                                    #{e\ 13943}#
+                                                    #{er\ 13939}#
+                                                    #{w\ 13944}#
+                                                    #{s\ 13945}#
+                                                    #{mod\ 13946}#
+                                                    (lambda (#{forms\ 13980}#
+                                                             #{er\ 13981}#
+                                                             #{w\ 13982}#
+                                                             #{s\ 13983}#
+                                                             #{mod\ 13984}#)
+                                                      (#{parse\ 13926}#
+                                                        (letrec ((#{f\ 13992}#
+                                                                   (lambda 
(#{forms\ 13993}#)
+                                                                     (if 
(null? #{forms\ 13993}#)
+                                                                       (cdr 
#{body\ 13927}#)
+                                                                       (cons 
(cons #{er\ 13981}#
+                                                                               
    (#{wrap\ 12985}#
+                                                                               
      (car #{forms\ 13993}#)
+                                                                               
      #{w\ 13982}#
+                                                                               
      #{mod\ 13984}#))
+                                                                             
(#{f\ 13992}#
+                                                                               
(cdr #{forms\ 13993}#)))))))
+                                                          (#{f\ 13992}#
+                                                            #{forms\ 13980}#))
+                                                        #{ids\ 13928}#
+                                                        #{labels\ 13929}#
+                                                        #{var-ids\ 13930}#
+                                                        #{vars\ 13931}#
+                                                        #{vals\ 13932}#
+                                                        #{bindings\ 13933}#)))
+                                                  (if (null? #{ids\ 13928}#)
+                                                    (#{build-sequence\ 12868}#
                                                       #f
-                                                      (map (lambda (#{x\ 
1746}#)
-                                                             (#{chi\ 751}#
-                                                               (cdr #{x\ 
1746}#)
-                                                               (car #{x\ 
1746}#)
+                                                      (map (lambda (#{x\ 
13996}#)
+                                                             (#{chi\ 13001}#
+                                                               (cdr #{x\ 
13996}#)
+                                                               (car #{x\ 
13996}#)
                                                                '(())
-                                                               #{mod\ 1696}#))
-                                                           (cons (cons #{er\ 
1689}#
-                                                                       
(#{source-wrap\ 737}#
-                                                                         #{e\ 
1693}#
-                                                                         #{w\ 
1694}#
-                                                                         #{s\ 
1695}#
-                                                                         
#{mod\ 1696}#))
-                                                                 (cdr #{body\ 
1677}#))))
+                                                               #{mod\ 13946}#))
+                                                           (cons (cons #{er\ 
13939}#
+                                                                       
(#{source-wrap\ 12987}#
+                                                                         #{e\ 
13943}#
+                                                                         #{w\ 
13944}#
+                                                                         #{s\ 
13945}#
+                                                                         
#{mod\ 13946}#))
+                                                                 (cdr #{body\ 
13927}#))))
                                                     (begin
-                                                      (if (not 
(#{valid-bound-ids?\ 729}#
-                                                                 #{ids\ 
1678}#))
+                                                      (if (not 
(#{valid-bound-ids?\ 12979}#
+                                                                 #{ids\ 
13928}#))
                                                         (syntax-violation
                                                           #f
                                                           "invalid or 
duplicate identifier in definition"
-                                                          #{outer-form\ 
1651}#))
-                                                      (letrec ((#{loop\ 1753}#
-                                                                 (lambda 
(#{bs\ 1754}#
-                                                                          
#{er-cache\ 1755}#
-                                                                          
#{r-cache\ 1756}#)
-                                                                   (if (not 
(null? #{bs\ 1754}#))
-                                                                     (let 
((#{b\ 1759}#
-                                                                             
(car #{bs\ 1754}#)))
-                                                                       (if 
(eq? (car #{b\ 1759}#)
+                                                          #{outer-form\ 
13901}#))
+                                                      (letrec ((#{loop\ 14003}#
+                                                                 (lambda 
(#{bs\ 14004}#
+                                                                          
#{er-cache\ 14005}#
+                                                                          
#{r-cache\ 14006}#)
+                                                                   (if (not 
(null? #{bs\ 14004}#))
+                                                                     (let 
((#{b\ 14009}#
+                                                                             
(car #{bs\ 14004}#)))
+                                                                       (if 
(eq? (car #{b\ 14009}#)
                                                                                
 'macro)
-                                                                         (let 
((#{er\ 1762}#
-                                                                               
  (cadr #{b\ 1759}#)))
-                                                                           
(let ((#{r-cache\ 1764}#
-                                                                               
    (if (eq? #{er\ 1762}#
-                                                                               
             #{er-cache\ 1755}#)
-                                                                               
      #{r-cache\ 1756}#
-                                                                               
      (#{macros-only-env\ 658}#
-                                                                               
        #{er\ 1762}#))))
+                                                                         (let 
((#{er\ 14012}#
+                                                                               
  (cadr #{b\ 14009}#)))
+                                                                           
(let ((#{r-cache\ 14014}#
+                                                                               
    (if (eq? #{er\ 14012}#
+                                                                               
             #{er-cache\ 14005}#)
+                                                                               
      #{r-cache\ 14006}#
+                                                                               
      (#{macros-only-env\ 12908}#
+                                                                               
        #{er\ 14012}#))))
                                                                              
(begin
                                                                                
(set-cdr!
-                                                                               
  #{b\ 1759}#
-                                                                               
  (#{eval-local-transformer\ 763}#
-                                                                               
    (#{chi\ 751}#
-                                                                               
      (cddr #{b\ 1759}#)
-                                                                               
      #{r-cache\ 1764}#
+                                                                               
  #{b\ 14009}#
+                                                                               
  (#{eval-local-transformer\ 13013}#
+                                                                               
    (#{chi\ 13001}#
+                                                                               
      (cddr #{b\ 14009}#)
+                                                                               
      #{r-cache\ 14014}#
                                                                                
      '(())
-                                                                               
      #{mod\ 1696}#)
-                                                                               
    #{mod\ 1696}#))
-                                                                               
(#{loop\ 1753}#
-                                                                               
  (cdr #{bs\ 1754}#)
-                                                                               
  #{er\ 1762}#
-                                                                               
  #{r-cache\ 1764}#))))
-                                                                         
(#{loop\ 1753}#
-                                                                           
(cdr #{bs\ 1754}#)
-                                                                           
#{er-cache\ 1755}#
-                                                                           
#{r-cache\ 1756}#)))))))
-                                                        (#{loop\ 1753}#
-                                                          #{bindings\ 1683}#
+                                                                               
      #{mod\ 13946}#)
+                                                                               
    #{mod\ 13946}#))
+                                                                               
(#{loop\ 14003}#
+                                                                               
  (cdr #{bs\ 14004}#)
+                                                                               
  #{er\ 14012}#
+                                                                               
  #{r-cache\ 14014}#))))
+                                                                         
(#{loop\ 14003}#
+                                                                           
(cdr #{bs\ 14004}#)
+                                                                           
#{er-cache\ 14005}#
+                                                                           
#{r-cache\ 14006}#)))))))
+                                                        (#{loop\ 14003}#
+                                                          #{bindings\ 13933}#
                                                           #f
                                                           #f))
                                                       (set-cdr!
-                                                        #{r\ 1662}#
-                                                        (#{extend-env\ 654}#
-                                                          #{labels\ 1679}#
-                                                          #{bindings\ 1683}#
-                                                          (cdr #{r\ 1662}#)))
-                                                      (#{build-letrec\ 624}#
+                                                        #{r\ 13912}#
+                                                        (#{extend-env\ 12904}#
+                                                          #{labels\ 13929}#
+                                                          #{bindings\ 13933}#
+                                                          (cdr #{r\ 13912}#)))
+                                                      (#{build-letrec\ 12874}#
                                                         #f
                                                         (map syntax->datum
-                                                             #{var-ids\ 1680}#)
-                                                        #{vars\ 1681}#
-                                                        (map (lambda (#{x\ 
1767}#)
-                                                               (#{chi\ 751}#
-                                                                 (cdr #{x\ 
1767}#)
-                                                                 (car #{x\ 
1767}#)
+                                                             #{var-ids\ 
13930}#)
+                                                        #{vars\ 13931}#
+                                                        (map (lambda (#{x\ 
14017}#)
+                                                               (#{chi\ 13001}#
+                                                                 (cdr #{x\ 
14017}#)
+                                                                 (car #{x\ 
14017}#)
                                                                  '(())
-                                                                 #{mod\ 
1696}#))
-                                                             #{vals\ 1682}#)
-                                                        (#{build-sequence\ 
618}#
+                                                                 #{mod\ 
13946}#))
+                                                             #{vals\ 13932}#)
+                                                        (#{build-sequence\ 
12868}#
                                                           #f
-                                                          (map (lambda (#{x\ 
1771}#)
-                                                                 (#{chi\ 751}#
-                                                                   (cdr #{x\ 
1771}#)
-                                                                   (car #{x\ 
1771}#)
+                                                          (map (lambda (#{x\ 
14021}#)
+                                                                 (#{chi\ 
13001}#
+                                                                   (cdr #{x\ 
14021}#)
+                                                                   (car #{x\ 
14021}#)
                                                                    '(())
-                                                                   #{mod\ 
1696}#))
-                                                               (cons (cons 
#{er\ 1689}#
-                                                                           
(#{source-wrap\ 737}#
-                                                                             
#{e\ 1693}#
-                                                                             
#{w\ 1694}#
-                                                                             
#{s\ 1695}#
-                                                                             
#{mod\ 1696}#))
-                                                                     (cdr 
#{body\ 1677}#))))))))))))))))))
-                       (#{parse\ 1676}#
-                         (map (lambda (#{x\ 1684}#)
-                                (cons #{r\ 1662}#
-                                      (#{wrap\ 735}#
-                                        #{x\ 1684}#
-                                        #{w\ 1667}#
-                                        #{mod\ 1654}#)))
-                              #{body\ 1650}#)
+                                                                   #{mod\ 
13946}#))
+                                                               (cons (cons 
#{er\ 13939}#
+                                                                           
(#{source-wrap\ 12987}#
+                                                                             
#{e\ 13943}#
+                                                                             
#{w\ 13944}#
+                                                                             
#{s\ 13945}#
+                                                                             
#{mod\ 13946}#))
+                                                                     (cdr 
#{body\ 13927}#))))))))))))))))))
+                       (#{parse\ 13926}#
+                         (map (lambda (#{x\ 13934}#)
+                                (cons #{r\ 13912}#
+                                      (#{wrap\ 12985}#
+                                        #{x\ 13934}#
+                                        #{w\ 13917}#
+                                        #{mod\ 13904}#)))
+                              #{body\ 13900}#)
                          '()
                          '()
                          '()
                          '()
                          '()
                          '())))))))
-           (#{chi-macro\ 757}#
-             (lambda (#{p\ 1774}#
-                      #{e\ 1775}#
-                      #{r\ 1776}#
-                      #{w\ 1777}#
-                      #{rib\ 1778}#
-                      #{mod\ 1779}#)
-               (letrec ((#{rebuild-macro-output\ 1787}#
-                          (lambda (#{x\ 1788}# #{m\ 1789}#)
-                            (if (pair? #{x\ 1788}#)
-                              (cons (#{rebuild-macro-output\ 1787}#
-                                      (car #{x\ 1788}#)
-                                      #{m\ 1789}#)
-                                    (#{rebuild-macro-output\ 1787}#
-                                      (cdr #{x\ 1788}#)
-                                      #{m\ 1789}#))
-                              (if (#{syntax-object?\ 630}# #{x\ 1788}#)
-                                (let ((#{w\ 1797}#
-                                        (#{syntax-object-wrap\ 634}#
-                                          #{x\ 1788}#)))
-                                  (let ((#{ms\ 1800}#
-                                          (#{wrap-marks\ 673}# #{w\ 1797}#))
-                                        (#{s\ 1801}#
-                                          (#{wrap-subst\ 675}# #{w\ 1797}#)))
-                                    (if (if (pair? #{ms\ 1800}#)
-                                          (eq? (car #{ms\ 1800}#) #f)
+           (#{chi-macro\ 13007}#
+             (lambda (#{p\ 14024}#
+                      #{e\ 14025}#
+                      #{r\ 14026}#
+                      #{w\ 14027}#
+                      #{rib\ 14028}#
+                      #{mod\ 14029}#)
+               (letrec ((#{rebuild-macro-output\ 14037}#
+                          (lambda (#{x\ 14038}# #{m\ 14039}#)
+                            (if (pair? #{x\ 14038}#)
+                              (cons (#{rebuild-macro-output\ 14037}#
+                                      (car #{x\ 14038}#)
+                                      #{m\ 14039}#)
+                                    (#{rebuild-macro-output\ 14037}#
+                                      (cdr #{x\ 14038}#)
+                                      #{m\ 14039}#))
+                              (if (#{syntax-object?\ 12880}# #{x\ 14038}#)
+                                (let ((#{w\ 14047}#
+                                        (#{syntax-object-wrap\ 12884}#
+                                          #{x\ 14038}#)))
+                                  (let ((#{ms\ 14050}#
+                                          (#{wrap-marks\ 12923}# #{w\ 14047}#))
+                                        (#{s\ 14051}#
+                                          (#{wrap-subst\ 12925}#
+                                            #{w\ 14047}#)))
+                                    (if (if (pair? #{ms\ 14050}#)
+                                          (eq? (car #{ms\ 14050}#) #f)
                                           #f)
-                                      (#{make-syntax-object\ 628}#
-                                        (#{syntax-object-expression\ 632}#
-                                          #{x\ 1788}#)
-                                        (#{make-wrap\ 671}#
-                                          (cdr #{ms\ 1800}#)
-                                          (if #{rib\ 1778}#
-                                            (cons #{rib\ 1778}#
-                                                  (cdr #{s\ 1801}#))
-                                            (cdr #{s\ 1801}#)))
-                                        (#{syntax-object-module\ 636}#
-                                          #{x\ 1788}#))
-                                      (#{make-syntax-object\ 628}#
-                                        (#{syntax-object-expression\ 632}#
-                                          #{x\ 1788}#)
-                                        (#{make-wrap\ 671}#
-                                          (cons #{m\ 1789}# #{ms\ 1800}#)
-                                          (if #{rib\ 1778}#
-                                            (cons #{rib\ 1778}#
+                                      (#{make-syntax-object\ 12878}#
+                                        (#{syntax-object-expression\ 12882}#
+                                          #{x\ 14038}#)
+                                        (#{make-wrap\ 12921}#
+                                          (cdr #{ms\ 14050}#)
+                                          (if #{rib\ 14028}#
+                                            (cons #{rib\ 14028}#
+                                                  (cdr #{s\ 14051}#))
+                                            (cdr #{s\ 14051}#)))
+                                        (#{syntax-object-module\ 12886}#
+                                          #{x\ 14038}#))
+                                      (#{make-syntax-object\ 12878}#
+                                        (#{syntax-object-expression\ 12882}#
+                                          #{x\ 14038}#)
+                                        (#{make-wrap\ 12921}#
+                                          (cons #{m\ 14039}# #{ms\ 14050}#)
+                                          (if #{rib\ 14028}#
+                                            (cons #{rib\ 14028}#
                                                   (cons 'shift
-                                                        #{s\ 1801}#))
-                                            (cons (quote shift) #{s\ 1801}#)))
+                                                        #{s\ 14051}#))
+                                            (cons (quote shift) #{s\ 14051}#)))
                                         (cons 'hygiene
-                                              (cdr #{p\ 1774}#))))))
-                                (if (vector? #{x\ 1788}#)
-                                  (let ((#{n\ 1809}#
-                                          (vector-length #{x\ 1788}#)))
-                                    (let ((#{v\ 1811}#
-                                            (make-vector #{n\ 1809}#)))
-                                      (letrec ((#{loop\ 1814}#
-                                                 (lambda (#{i\ 1815}#)
-                                                   (if (#{fx=\ 571}#
-                                                         #{i\ 1815}#
-                                                         #{n\ 1809}#)
+                                              (cdr #{p\ 14024}#))))))
+                                (if (vector? #{x\ 14038}#)
+                                  (let ((#{n\ 14059}#
+                                          (vector-length #{x\ 14038}#)))
+                                    (let ((#{v\ 14061}#
+                                            (make-vector #{n\ 14059}#)))
+                                      (letrec ((#{loop\ 14064}#
+                                                 (lambda (#{i\ 14065}#)
+                                                   (if (#{fx=\ 12821}#
+                                                         #{i\ 14065}#
+                                                         #{n\ 14059}#)
                                                      (begin
                                                        (if #f #f)
-                                                       #{v\ 1811}#)
+                                                       #{v\ 14061}#)
                                                      (begin
                                                        (vector-set!
-                                                         #{v\ 1811}#
-                                                         #{i\ 1815}#
-                                                         
(#{rebuild-macro-output\ 1787}#
+                                                         #{v\ 14061}#
+                                                         #{i\ 14065}#
+                                                         
(#{rebuild-macro-output\ 14037}#
                                                            (vector-ref
-                                                             #{x\ 1788}#
-                                                             #{i\ 1815}#)
-                                                           #{m\ 1789}#))
-                                                       (#{loop\ 1814}#
-                                                         (#{fx+\ 567}#
-                                                           #{i\ 1815}#
+                                                             #{x\ 14038}#
+                                                             #{i\ 14065}#)
+                                                           #{m\ 14039}#))
+                                                       (#{loop\ 14064}#
+                                                         (#{fx+\ 12817}#
+                                                           #{i\ 14065}#
                                                            1)))))))
-                                        (#{loop\ 1814}# 0))))
-                                  (if (symbol? #{x\ 1788}#)
+                                        (#{loop\ 14064}# 0))))
+                                  (if (symbol? #{x\ 14038}#)
                                     (syntax-violation
                                       #f
                                       "encountered raw symbol in macro output"
-                                      (#{source-wrap\ 737}#
-                                        #{e\ 1775}#
-                                        #{w\ 1777}#
-                                        (#{wrap-subst\ 675}# #{w\ 1777}#)
-                                        #{mod\ 1779}#)
-                                      #{x\ 1788}#)
-                                    #{x\ 1788}#)))))))
-                 (#{rebuild-macro-output\ 1787}#
-                   ((car #{p\ 1774}#)
-                    (#{wrap\ 735}#
-                      #{e\ 1775}#
-                      (#{anti-mark\ 707}# #{w\ 1777}#)
-                      #{mod\ 1779}#))
+                                      (#{source-wrap\ 12987}#
+                                        #{e\ 14025}#
+                                        #{w\ 14027}#
+                                        (#{wrap-subst\ 12925}# #{w\ 14027}#)
+                                        #{mod\ 14029}#)
+                                      #{x\ 14038}#)
+                                    #{x\ 14038}#)))))))
+                 (#{rebuild-macro-output\ 14037}#
+                   ((car #{p\ 14024}#)
+                    (#{wrap\ 12985}#
+                      #{e\ 14025}#
+                      (#{anti-mark\ 12957}# #{w\ 14027}#)
+                      #{mod\ 14029}#))
                    (gensym "m")))))
-           (#{chi-application\ 755}#
-             (lambda (#{x\ 1822}#
-                      #{e\ 1823}#
-                      #{r\ 1824}#
-                      #{w\ 1825}#
-                      #{s\ 1826}#
-                      #{mod\ 1827}#)
-               ((lambda (#{tmp\ 1834}#)
-                  ((lambda (#{tmp\ 1835}#)
-                     (if #{tmp\ 1835}#
-                       (apply (lambda (#{e0\ 1838}# #{e1\ 1839}#)
-                                (#{build-application\ 588}#
-                                  #{s\ 1826}#
-                                  #{x\ 1822}#
-                                  (map (lambda (#{e\ 1840}#)
-                                         (#{chi\ 751}#
-                                           #{e\ 1840}#
-                                           #{r\ 1824}#
-                                           #{w\ 1825}#
-                                           #{mod\ 1827}#))
-                                       #{e1\ 1839}#)))
-                              #{tmp\ 1835}#)
+           (#{chi-application\ 13005}#
+             (lambda (#{x\ 14072}#
+                      #{e\ 14073}#
+                      #{r\ 14074}#
+                      #{w\ 14075}#
+                      #{s\ 14076}#
+                      #{mod\ 14077}#)
+               ((lambda (#{tmp\ 14084}#)
+                  ((lambda (#{tmp\ 14085}#)
+                     (if #{tmp\ 14085}#
+                       (apply (lambda (#{e0\ 14088}# #{e1\ 14089}#)
+                                (#{build-application\ 12838}#
+                                  #{s\ 14076}#
+                                  #{x\ 14072}#
+                                  (map (lambda (#{e\ 14090}#)
+                                         (#{chi\ 13001}#
+                                           #{e\ 14090}#
+                                           #{r\ 14074}#
+                                           #{w\ 14075}#
+                                           #{mod\ 14077}#))
+                                       #{e1\ 14089}#)))
+                              #{tmp\ 14085}#)
                        (syntax-violation
                          #f
                          "source expression failed to match any pattern"
-                         #{tmp\ 1834}#)))
+                         #{tmp\ 14084}#)))
                    ($sc-dispatch
-                     #{tmp\ 1834}#
+                     #{tmp\ 14084}#
                      '(any . each-any))))
-                #{e\ 1823}#)))
-           (#{chi-expr\ 753}#
-             (lambda (#{type\ 1843}#
-                      #{value\ 1844}#
-                      #{e\ 1845}#
-                      #{r\ 1846}#
-                      #{w\ 1847}#
-                      #{s\ 1848}#
-                      #{mod\ 1849}#)
-               (if (memv #{type\ 1843}# (quote (lexical)))
-                 (#{build-lexical-reference\ 594}#
+                #{e\ 14073}#)))
+           (#{chi-expr\ 13003}#
+             (lambda (#{type\ 14093}#
+                      #{value\ 14094}#
+                      #{e\ 14095}#
+                      #{r\ 14096}#
+                      #{w\ 14097}#
+                      #{s\ 14098}#
+                      #{mod\ 14099}#)
+               (if (memv #{type\ 14093}# (quote (lexical)))
+                 (#{build-lexical-reference\ 12844}#
                    'value
-                   #{s\ 1848}#
-                   #{e\ 1845}#
-                   #{value\ 1844}#)
-                 (if (memv #{type\ 1843}# (quote (core core-form)))
-                   (#{value\ 1844}#
-                     #{e\ 1845}#
-                     #{r\ 1846}#
-                     #{w\ 1847}#
-                     #{s\ 1848}#
-                     #{mod\ 1849}#)
-                   (if (memv #{type\ 1843}# (quote (module-ref)))
+                   #{s\ 14098}#
+                   #{e\ 14095}#
+                   #{value\ 14094}#)
+                 (if (memv #{type\ 14093}# (quote (core core-form)))
+                   (#{value\ 14094}#
+                     #{e\ 14095}#
+                     #{r\ 14096}#
+                     #{w\ 14097}#
+                     #{s\ 14098}#
+                     #{mod\ 14099}#)
+                   (if (memv #{type\ 14093}# (quote (module-ref)))
                      (call-with-values
                        (lambda ()
-                         (#{value\ 1844}#
-                           #{e\ 1845}#
-                           #{r\ 1846}#
-                           #{w\ 1847}#))
-                       (lambda (#{e\ 1860}#
-                                #{r\ 1861}#
-                                #{w\ 1862}#
-                                #{s\ 1863}#
-                                #{mod\ 1864}#)
-                         (#{chi\ 751}#
-                           #{e\ 1860}#
-                           #{r\ 1861}#
-                           #{w\ 1862}#
-                           #{mod\ 1864}#)))
-                     (if (memv #{type\ 1843}# (quote (lexical-call)))
-                       (#{chi-application\ 755}#
-                         (#{build-lexical-reference\ 594}#
+                         (#{value\ 14094}#
+                           #{e\ 14095}#
+                           #{r\ 14096}#
+                           #{w\ 14097}#))
+                       (lambda (#{e\ 14110}#
+                                #{r\ 14111}#
+                                #{w\ 14112}#
+                                #{s\ 14113}#
+                                #{mod\ 14114}#)
+                         (#{chi\ 13001}#
+                           #{e\ 14110}#
+                           #{r\ 14111}#
+                           #{w\ 14112}#
+                           #{mod\ 14114}#)))
+                     (if (memv #{type\ 14093}# (quote (lexical-call)))
+                       (#{chi-application\ 13005}#
+                         (#{build-lexical-reference\ 12844}#
                            'fun
-                           (#{source-annotation\ 645}# (car #{e\ 1845}#))
-                           (car #{e\ 1845}#)
-                           #{value\ 1844}#)
-                         #{e\ 1845}#
-                         #{r\ 1846}#
-                         #{w\ 1847}#
-                         #{s\ 1848}#
-                         #{mod\ 1849}#)
-                       (if (memv #{type\ 1843}# (quote (global-call)))
-                         (#{chi-application\ 755}#
-                           (#{build-global-reference\ 600}#
-                             (#{source-annotation\ 645}# (car #{e\ 1845}#))
-                             (if (#{syntax-object?\ 630}# #{value\ 1844}#)
-                               (#{syntax-object-expression\ 632}#
-                                 #{value\ 1844}#)
-                               #{value\ 1844}#)
-                             (if (#{syntax-object?\ 630}# #{value\ 1844}#)
-                               (#{syntax-object-module\ 636}# #{value\ 1844}#)
-                               #{mod\ 1849}#))
-                           #{e\ 1845}#
-                           #{r\ 1846}#
-                           #{w\ 1847}#
-                           #{s\ 1848}#
-                           #{mod\ 1849}#)
-                         (if (memv #{type\ 1843}# (quote (constant)))
-                           (#{build-data\ 616}#
-                             #{s\ 1848}#
-                             (#{strip\ 777}#
-                               (#{source-wrap\ 737}#
-                                 #{e\ 1845}#
-                                 #{w\ 1847}#
-                                 #{s\ 1848}#
-                                 #{mod\ 1849}#)
+                           (#{source-annotation\ 12895}# (car #{e\ 14095}#))
+                           (car #{e\ 14095}#)
+                           #{value\ 14094}#)
+                         #{e\ 14095}#
+                         #{r\ 14096}#
+                         #{w\ 14097}#
+                         #{s\ 14098}#
+                         #{mod\ 14099}#)
+                       (if (memv #{type\ 14093}# (quote (global-call)))
+                         (#{chi-application\ 13005}#
+                           (#{build-global-reference\ 12850}#
+                             (#{source-annotation\ 12895}# (car #{e\ 14095}#))
+                             (if (#{syntax-object?\ 12880}# #{value\ 14094}#)
+                               (#{syntax-object-expression\ 12882}#
+                                 #{value\ 14094}#)
+                               #{value\ 14094}#)
+                             (if (#{syntax-object?\ 12880}# #{value\ 14094}#)
+                               (#{syntax-object-module\ 12886}#
+                                 #{value\ 14094}#)
+                               #{mod\ 14099}#))
+                           #{e\ 14095}#
+                           #{r\ 14096}#
+                           #{w\ 14097}#
+                           #{s\ 14098}#
+                           #{mod\ 14099}#)
+                         (if (memv #{type\ 14093}# (quote (constant)))
+                           (#{build-data\ 12866}#
+                             #{s\ 14098}#
+                             (#{strip\ 13027}#
+                               (#{source-wrap\ 12987}#
+                                 #{e\ 14095}#
+                                 #{w\ 14097}#
+                                 #{s\ 14098}#
+                                 #{mod\ 14099}#)
                                '(())))
-                           (if (memv #{type\ 1843}# (quote (global)))
-                             (#{build-global-reference\ 600}#
-                               #{s\ 1848}#
-                               #{value\ 1844}#
-                               #{mod\ 1849}#)
-                             (if (memv #{type\ 1843}# (quote (call)))
-                               (#{chi-application\ 755}#
-                                 (#{chi\ 751}#
-                                   (car #{e\ 1845}#)
-                                   #{r\ 1846}#
-                                   #{w\ 1847}#
-                                   #{mod\ 1849}#)
-                                 #{e\ 1845}#
-                                 #{r\ 1846}#
-                                 #{w\ 1847}#
-                                 #{s\ 1848}#
-                                 #{mod\ 1849}#)
-                               (if (memv #{type\ 1843}# (quote (begin-form)))
-                                 ((lambda (#{tmp\ 1877}#)
-                                    ((lambda (#{tmp\ 1878}#)
-                                       (if #{tmp\ 1878}#
-                                         (apply (lambda (#{_\ 1882}#
-                                                         #{e1\ 1883}#
-                                                         #{e2\ 1884}#)
-                                                  (#{chi-sequence\ 739}#
-                                                    (cons #{e1\ 1883}#
-                                                          #{e2\ 1884}#)
-                                                    #{r\ 1846}#
-                                                    #{w\ 1847}#
-                                                    #{s\ 1848}#
-                                                    #{mod\ 1849}#))
-                                                #{tmp\ 1878}#)
+                           (if (memv #{type\ 14093}# (quote (global)))
+                             (#{build-global-reference\ 12850}#
+                               #{s\ 14098}#
+                               #{value\ 14094}#
+                               #{mod\ 14099}#)
+                             (if (memv #{type\ 14093}# (quote (call)))
+                               (#{chi-application\ 13005}#
+                                 (#{chi\ 13001}#
+                                   (car #{e\ 14095}#)
+                                   #{r\ 14096}#
+                                   #{w\ 14097}#
+                                   #{mod\ 14099}#)
+                                 #{e\ 14095}#
+                                 #{r\ 14096}#
+                                 #{w\ 14097}#
+                                 #{s\ 14098}#
+                                 #{mod\ 14099}#)
+                               (if (memv #{type\ 14093}# (quote (begin-form)))
+                                 ((lambda (#{tmp\ 14127}#)
+                                    ((lambda (#{tmp\ 14128}#)
+                                       (if #{tmp\ 14128}#
+                                         (apply (lambda (#{_\ 14132}#
+                                                         #{e1\ 14133}#
+                                                         #{e2\ 14134}#)
+                                                  (#{chi-sequence\ 12989}#
+                                                    (cons #{e1\ 14133}#
+                                                          #{e2\ 14134}#)
+                                                    #{r\ 14096}#
+                                                    #{w\ 14097}#
+                                                    #{s\ 14098}#
+                                                    #{mod\ 14099}#))
+                                                #{tmp\ 14128}#)
                                          (syntax-violation
                                            #f
                                            "source expression failed to match 
any pattern"
-                                           #{tmp\ 1877}#)))
+                                           #{tmp\ 14127}#)))
                                      ($sc-dispatch
-                                       #{tmp\ 1877}#
+                                       #{tmp\ 14127}#
                                        '(any any . each-any))))
-                                  #{e\ 1845}#)
-                                 (if (memv #{type\ 1843}#
+                                  #{e\ 14095}#)
+                                 (if (memv #{type\ 14093}#
                                            '(local-syntax-form))
-                                   (#{chi-local-syntax\ 761}#
-                                     #{value\ 1844}#
-                                     #{e\ 1845}#
-                                     #{r\ 1846}#
-                                     #{w\ 1847}#
-                                     #{s\ 1848}#
-                                     #{mod\ 1849}#
-                                     #{chi-sequence\ 739}#)
-                                   (if (memv #{type\ 1843}#
+                                   (#{chi-local-syntax\ 13011}#
+                                     #{value\ 14094}#
+                                     #{e\ 14095}#
+                                     #{r\ 14096}#
+                                     #{w\ 14097}#
+                                     #{s\ 14098}#
+                                     #{mod\ 14099}#
+                                     #{chi-sequence\ 12989}#)
+                                   (if (memv #{type\ 14093}#
                                              '(eval-when-form))
-                                     ((lambda (#{tmp\ 1888}#)
-                                        ((lambda (#{tmp\ 1889}#)
-                                           (if #{tmp\ 1889}#
-                                             (apply (lambda (#{_\ 1894}#
-                                                             #{x\ 1895}#
-                                                             #{e1\ 1896}#
-                                                             #{e2\ 1897}#)
-                                                      (let ((#{when-list\ 
1899}#
-                                                              
(#{chi-when-list\ 745}#
-                                                                #{e\ 1845}#
-                                                                #{x\ 1895}#
-                                                                #{w\ 1847}#)))
+                                     ((lambda (#{tmp\ 14138}#)
+                                        ((lambda (#{tmp\ 14139}#)
+                                           (if #{tmp\ 14139}#
+                                             (apply (lambda (#{_\ 14144}#
+                                                             #{x\ 14145}#
+                                                             #{e1\ 14146}#
+                                                             #{e2\ 14147}#)
+                                                      (let ((#{when-list\ 
14149}#
+                                                              
(#{chi-when-list\ 12995}#
+                                                                #{e\ 14095}#
+                                                                #{x\ 14145}#
+                                                                #{w\ 14097}#)))
                                                         (if (memq 'eval
-                                                                  #{when-list\ 
1899}#)
-                                                          (#{chi-sequence\ 
739}#
-                                                            (cons #{e1\ 1896}#
-                                                                  #{e2\ 1897}#)
-                                                            #{r\ 1846}#
-                                                            #{w\ 1847}#
-                                                            #{s\ 1848}#
-                                                            #{mod\ 1849}#)
-                                                          (#{chi-void\ 
765}#))))
-                                                    #{tmp\ 1889}#)
+                                                                  #{when-list\ 
14149}#)
+                                                          (#{chi-sequence\ 
12989}#
+                                                            (cons #{e1\ 14146}#
+                                                                  #{e2\ 
14147}#)
+                                                            #{r\ 14096}#
+                                                            #{w\ 14097}#
+                                                            #{s\ 14098}#
+                                                            #{mod\ 14099}#)
+                                                          (#{chi-void\ 
13015}#))))
+                                                    #{tmp\ 14139}#)
                                              (syntax-violation
                                                #f
                                                "source expression failed to 
match any pattern"
-                                               #{tmp\ 1888}#)))
+                                               #{tmp\ 14138}#)))
                                          ($sc-dispatch
-                                           #{tmp\ 1888}#
+                                           #{tmp\ 14138}#
                                            '(any each-any any . each-any))))
-                                      #{e\ 1845}#)
-                                     (if (memv #{type\ 1843}#
+                                      #{e\ 14095}#)
+                                     (if (memv #{type\ 14093}#
                                                '(define-form
                                                   define-syntax-form))
                                        (syntax-violation
                                          #f
                                          "definition in expression context"
-                                         #{e\ 1845}#
-                                         (#{wrap\ 735}#
-                                           #{value\ 1844}#
-                                           #{w\ 1847}#
-                                           #{mod\ 1849}#))
-                                       (if (memv #{type\ 1843}#
+                                         #{e\ 14095}#
+                                         (#{wrap\ 12985}#
+                                           #{value\ 14094}#
+                                           #{w\ 14097}#
+                                           #{mod\ 14099}#))
+                                       (if (memv #{type\ 14093}#
                                                  '(syntax))
                                          (syntax-violation
                                            #f
                                            "reference to pattern variable 
outside syntax form"
-                                           (#{source-wrap\ 737}#
-                                             #{e\ 1845}#
-                                             #{w\ 1847}#
-                                             #{s\ 1848}#
-                                             #{mod\ 1849}#))
-                                         (if (memv #{type\ 1843}#
+                                           (#{source-wrap\ 12987}#
+                                             #{e\ 14095}#
+                                             #{w\ 14097}#
+                                             #{s\ 14098}#
+                                             #{mod\ 14099}#))
+                                         (if (memv #{type\ 14093}#
                                                    '(displaced-lexical))
                                            (syntax-violation
                                              #f
                                              "reference to identifier outside 
its scope"
-                                             (#{source-wrap\ 737}#
-                                               #{e\ 1845}#
-                                               #{w\ 1847}#
-                                               #{s\ 1848}#
-                                               #{mod\ 1849}#))
+                                             (#{source-wrap\ 12987}#
+                                               #{e\ 14095}#
+                                               #{w\ 14097}#
+                                               #{s\ 14098}#
+                                               #{mod\ 14099}#))
                                            (syntax-violation
                                              #f
                                              "unexpected syntax"
-                                             (#{source-wrap\ 737}#
-                                               #{e\ 1845}#
-                                               #{w\ 1847}#
-                                               #{s\ 1848}#
-                                               #{mod\ 1849}#))))))))))))))))))
-           (#{chi\ 751}#
-             (lambda (#{e\ 1906}#
-                      #{r\ 1907}#
-                      #{w\ 1908}#
-                      #{mod\ 1909}#)
+                                             (#{source-wrap\ 12987}#
+                                               #{e\ 14095}#
+                                               #{w\ 14097}#
+                                               #{s\ 14098}#
+                                               #{mod\ 14099}#))))))))))))))))))
+           (#{chi\ 13001}#
+             (lambda (#{e\ 14156}#
+                      #{r\ 14157}#
+                      #{w\ 14158}#
+                      #{mod\ 14159}#)
                (call-with-values
                  (lambda ()
-                   (#{syntax-type\ 747}#
-                     #{e\ 1906}#
-                     #{r\ 1907}#
-                     #{w\ 1908}#
-                     (#{source-annotation\ 645}# #{e\ 1906}#)
+                   (#{syntax-type\ 12997}#
+                     #{e\ 14156}#
+                     #{r\ 14157}#
+                     #{w\ 14158}#
+                     (#{source-annotation\ 12895}# #{e\ 14156}#)
                      #f
-                     #{mod\ 1909}#
+                     #{mod\ 14159}#
                      #f))
-                 (lambda (#{type\ 1914}#
-                          #{value\ 1915}#
-                          #{e\ 1916}#
-                          #{w\ 1917}#
-                          #{s\ 1918}#
-                          #{mod\ 1919}#)
-                   (#{chi-expr\ 753}#
-                     #{type\ 1914}#
-                     #{value\ 1915}#
-                     #{e\ 1916}#
-                     #{r\ 1907}#
-                     #{w\ 1917}#
-                     #{s\ 1918}#
-                     #{mod\ 1919}#)))))
-           (#{chi-top\ 749}#
-             (lambda (#{e\ 1926}#
-                      #{r\ 1927}#
-                      #{w\ 1928}#
-                      #{m\ 1929}#
-                      #{esew\ 1930}#
-                      #{mod\ 1931}#)
+                 (lambda (#{type\ 14164}#
+                          #{value\ 14165}#
+                          #{e\ 14166}#
+                          #{w\ 14167}#
+                          #{s\ 14168}#
+                          #{mod\ 14169}#)
+                   (#{chi-expr\ 13003}#
+                     #{type\ 14164}#
+                     #{value\ 14165}#
+                     #{e\ 14166}#
+                     #{r\ 14157}#
+                     #{w\ 14167}#
+                     #{s\ 14168}#
+                     #{mod\ 14169}#)))))
+           (#{chi-top\ 12999}#
+             (lambda (#{e\ 14176}#
+                      #{r\ 14177}#
+                      #{w\ 14178}#
+                      #{m\ 14179}#
+                      #{esew\ 14180}#
+                      #{mod\ 14181}#)
                (call-with-values
                  (lambda ()
-                   (#{syntax-type\ 747}#
-                     #{e\ 1926}#
-                     #{r\ 1927}#
-                     #{w\ 1928}#
-                     (#{source-annotation\ 645}# #{e\ 1926}#)
+                   (#{syntax-type\ 12997}#
+                     #{e\ 14176}#
+                     #{r\ 14177}#
+                     #{w\ 14178}#
+                     (#{source-annotation\ 12895}# #{e\ 14176}#)
                      #f
-                     #{mod\ 1931}#
+                     #{mod\ 14181}#
                      #f))
-                 (lambda (#{type\ 1952}#
-                          #{value\ 1953}#
-                          #{e\ 1954}#
-                          #{w\ 1955}#
-                          #{s\ 1956}#
-                          #{mod\ 1957}#)
-                   (if (memv #{type\ 1952}# (quote (begin-form)))
-                     ((lambda (#{tmp\ 1965}#)
-                        ((lambda (#{tmp\ 1966}#)
-                           (if #{tmp\ 1966}#
-                             (apply (lambda (#{_\ 1968}#) (#{chi-void\ 765}#))
-                                    #{tmp\ 1966}#)
-                             ((lambda (#{tmp\ 1969}#)
-                                (if #{tmp\ 1969}#
-                                  (apply (lambda (#{_\ 1973}#
-                                                  #{e1\ 1974}#
-                                                  #{e2\ 1975}#)
-                                           (#{chi-top-sequence\ 741}#
-                                             (cons #{e1\ 1974}# #{e2\ 1975}#)
-                                             #{r\ 1927}#
-                                             #{w\ 1955}#
-                                             #{s\ 1956}#
-                                             #{m\ 1929}#
-                                             #{esew\ 1930}#
-                                             #{mod\ 1957}#))
-                                         #{tmp\ 1969}#)
+                 (lambda (#{type\ 14202}#
+                          #{value\ 14203}#
+                          #{e\ 14204}#
+                          #{w\ 14205}#
+                          #{s\ 14206}#
+                          #{mod\ 14207}#)
+                   (if (memv #{type\ 14202}# (quote (begin-form)))
+                     ((lambda (#{tmp\ 14215}#)
+                        ((lambda (#{tmp\ 14216}#)
+                           (if #{tmp\ 14216}#
+                             (apply (lambda (#{_\ 14218}#)
+                                      (#{chi-void\ 13015}#))
+                                    #{tmp\ 14216}#)
+                             ((lambda (#{tmp\ 14219}#)
+                                (if #{tmp\ 14219}#
+                                  (apply (lambda (#{_\ 14223}#
+                                                  #{e1\ 14224}#
+                                                  #{e2\ 14225}#)
+                                           (#{chi-top-sequence\ 12991}#
+                                             (cons #{e1\ 14224}# #{e2\ 14225}#)
+                                             #{r\ 14177}#
+                                             #{w\ 14205}#
+                                             #{s\ 14206}#
+                                             #{m\ 14179}#
+                                             #{esew\ 14180}#
+                                             #{mod\ 14207}#))
+                                         #{tmp\ 14219}#)
                                   (syntax-violation
                                     #f
                                     "source expression failed to match any 
pattern"
-                                    #{tmp\ 1965}#)))
+                                    #{tmp\ 14215}#)))
                               ($sc-dispatch
-                                #{tmp\ 1965}#
+                                #{tmp\ 14215}#
                                 '(any any . each-any)))))
-                         ($sc-dispatch #{tmp\ 1965}# (quote (any)))))
-                      #{e\ 1954}#)
-                     (if (memv #{type\ 1952}# (quote (local-syntax-form)))
-                       (#{chi-local-syntax\ 761}#
-                         #{value\ 1953}#
-                         #{e\ 1954}#
-                         #{r\ 1927}#
-                         #{w\ 1955}#
-                         #{s\ 1956}#
-                         #{mod\ 1957}#
-                         (lambda (#{body\ 1978}#
-                                  #{r\ 1979}#
-                                  #{w\ 1980}#
-                                  #{s\ 1981}#
-                                  #{mod\ 1982}#)
-                           (#{chi-top-sequence\ 741}#
-                             #{body\ 1978}#
-                             #{r\ 1979}#
-                             #{w\ 1980}#
-                             #{s\ 1981}#
-                             #{m\ 1929}#
-                             #{esew\ 1930}#
-                             #{mod\ 1982}#)))
-                       (if (memv #{type\ 1952}# (quote (eval-when-form)))
-                         ((lambda (#{tmp\ 1989}#)
-                            ((lambda (#{tmp\ 1990}#)
-                               (if #{tmp\ 1990}#
-                                 (apply (lambda (#{_\ 1995}#
-                                                 #{x\ 1996}#
-                                                 #{e1\ 1997}#
-                                                 #{e2\ 1998}#)
-                                          (let ((#{when-list\ 2001}#
-                                                  (#{chi-when-list\ 745}#
-                                                    #{e\ 1954}#
-                                                    #{x\ 1996}#
-                                                    #{w\ 1955}#))
-                                                (#{body\ 2002}#
-                                                  (cons #{e1\ 1997}#
-                                                        #{e2\ 1998}#)))
-                                            (if (eq? #{m\ 1929}# (quote e))
+                         ($sc-dispatch #{tmp\ 14215}# (quote (any)))))
+                      #{e\ 14204}#)
+                     (if (memv #{type\ 14202}#
+                               '(local-syntax-form))
+                       (#{chi-local-syntax\ 13011}#
+                         #{value\ 14203}#
+                         #{e\ 14204}#
+                         #{r\ 14177}#
+                         #{w\ 14205}#
+                         #{s\ 14206}#
+                         #{mod\ 14207}#
+                         (lambda (#{body\ 14228}#
+                                  #{r\ 14229}#
+                                  #{w\ 14230}#
+                                  #{s\ 14231}#
+                                  #{mod\ 14232}#)
+                           (#{chi-top-sequence\ 12991}#
+                             #{body\ 14228}#
+                             #{r\ 14229}#
+                             #{w\ 14230}#
+                             #{s\ 14231}#
+                             #{m\ 14179}#
+                             #{esew\ 14180}#
+                             #{mod\ 14232}#)))
+                       (if (memv #{type\ 14202}# (quote (eval-when-form)))
+                         ((lambda (#{tmp\ 14239}#)
+                            ((lambda (#{tmp\ 14240}#)
+                               (if #{tmp\ 14240}#
+                                 (apply (lambda (#{_\ 14245}#
+                                                 #{x\ 14246}#
+                                                 #{e1\ 14247}#
+                                                 #{e2\ 14248}#)
+                                          (let ((#{when-list\ 14251}#
+                                                  (#{chi-when-list\ 12995}#
+                                                    #{e\ 14204}#
+                                                    #{x\ 14246}#
+                                                    #{w\ 14205}#))
+                                                (#{body\ 14252}#
+                                                  (cons #{e1\ 14247}#
+                                                        #{e2\ 14248}#)))
+                                            (if (eq? #{m\ 14179}# (quote e))
                                               (if (memq 'eval
-                                                        #{when-list\ 2001}#)
-                                                (#{chi-top-sequence\ 741}#
-                                                  #{body\ 2002}#
-                                                  #{r\ 1927}#
-                                                  #{w\ 1955}#
-                                                  #{s\ 1956}#
+                                                        #{when-list\ 14251}#)
+                                                (#{chi-top-sequence\ 12991}#
+                                                  #{body\ 14252}#
+                                                  #{r\ 14177}#
+                                                  #{w\ 14205}#
+                                                  #{s\ 14206}#
                                                   (if (memq 'expand
-                                                            #{when-list\ 
2001}#)
+                                                            #{when-list\ 
14251}#)
                                                     'c&e
                                                     'e)
                                                   '(eval)
-                                                  #{mod\ 1957}#)
+                                                  #{mod\ 14207}#)
                                                 (begin
                                                   (if (memq 'expand
-                                                            #{when-list\ 
2001}#)
-                                                    (#{top-level-eval-hook\ 
575}#
-                                                      (#{chi-top-sequence\ 
741}#
-                                                        #{body\ 2002}#
-                                                        #{r\ 1927}#
-                                                        #{w\ 1955}#
-                                                        #{s\ 1956}#
+                                                            #{when-list\ 
14251}#)
+                                                    (#{top-level-eval-hook\ 
12825}#
+                                                      (#{chi-top-sequence\ 
12991}#
+                                                        #{body\ 14252}#
+                                                        #{r\ 14177}#
+                                                        #{w\ 14205}#
+                                                        #{s\ 14206}#
                                                         'e
                                                         '(eval)
-                                                        #{mod\ 1957}#)
-                                                      #{mod\ 1957}#))
-                                                  (#{chi-void\ 765}#)))
+                                                        #{mod\ 14207}#)
+                                                      #{mod\ 14207}#))
+                                                  (#{chi-void\ 13015}#)))
                                               (if (memq 'load
-                                                        #{when-list\ 2001}#)
-                                                (if (let ((#{t\ 2011}#
+                                                        #{when-list\ 14251}#)
+                                                (if (let ((#{t\ 14261}#
                                                             (memq 'compile
-                                                                  #{when-list\ 
2001}#)))
-                                                      (if #{t\ 2011}#
-                                                        #{t\ 2011}#
-                                                        (let ((#{t\ 2014}#
+                                                                  #{when-list\ 
14251}#)))
+                                                      (if #{t\ 14261}#
+                                                        #{t\ 14261}#
+                                                        (let ((#{t\ 14264}#
                                                                 (memq 'expand
-                                                                      
#{when-list\ 2001}#)))
-                                                          (if #{t\ 2014}#
-                                                            #{t\ 2014}#
-                                                            (if (eq? #{m\ 
1929}#
+                                                                      
#{when-list\ 14251}#)))
+                                                          (if #{t\ 14264}#
+                                                            #{t\ 14264}#
+                                                            (if (eq? #{m\ 
14179}#
                                                                      'c&e)
                                                               (memq 'eval
-                                                                    
#{when-list\ 2001}#)
+                                                                    
#{when-list\ 14251}#)
                                                               #f)))))
-                                                  (#{chi-top-sequence\ 741}#
-                                                    #{body\ 2002}#
-                                                    #{r\ 1927}#
-                                                    #{w\ 1955}#
-                                                    #{s\ 1956}#
+                                                  (#{chi-top-sequence\ 12991}#
+                                                    #{body\ 14252}#
+                                                    #{r\ 14177}#
+                                                    #{w\ 14205}#
+                                                    #{s\ 14206}#
                                                     'c&e
                                                     '(compile load)
-                                                    #{mod\ 1957}#)
-                                                  (if (memq #{m\ 1929}#
+                                                    #{mod\ 14207}#)
+                                                  (if (memq #{m\ 14179}#
                                                             '(c c&e))
-                                                    (#{chi-top-sequence\ 741}#
-                                                      #{body\ 2002}#
-                                                      #{r\ 1927}#
-                                                      #{w\ 1955}#
-                                                      #{s\ 1956}#
+                                                    (#{chi-top-sequence\ 
12991}#
+                                                      #{body\ 14252}#
+                                                      #{r\ 14177}#
+                                                      #{w\ 14205}#
+                                                      #{s\ 14206}#
                                                       'c
                                                       '(load)
-                                                      #{mod\ 1957}#)
-                                                    (#{chi-void\ 765}#)))
-                                                (if (let ((#{t\ 2022}#
+                                                      #{mod\ 14207}#)
+                                                    (#{chi-void\ 13015}#)))
+                                                (if (let ((#{t\ 14272}#
                                                             (memq 'compile
-                                                                  #{when-list\ 
2001}#)))
-                                                      (if #{t\ 2022}#
-                                                        #{t\ 2022}#
-                                                        (let ((#{t\ 2025}#
+                                                                  #{when-list\ 
14251}#)))
+                                                      (if #{t\ 14272}#
+                                                        #{t\ 14272}#
+                                                        (let ((#{t\ 14275}#
                                                                 (memq 'expand
-                                                                      
#{when-list\ 2001}#)))
-                                                          (if #{t\ 2025}#
-                                                            #{t\ 2025}#
-                                                            (if (eq? #{m\ 
1929}#
+                                                                      
#{when-list\ 14251}#)))
+                                                          (if #{t\ 14275}#
+                                                            #{t\ 14275}#
+                                                            (if (eq? #{m\ 
14179}#
                                                                      'c&e)
                                                               (memq 'eval
-                                                                    
#{when-list\ 2001}#)
+                                                                    
#{when-list\ 14251}#)
                                                               #f)))))
                                                   (begin
-                                                    (#{top-level-eval-hook\ 
575}#
-                                                      (#{chi-top-sequence\ 
741}#
-                                                        #{body\ 2002}#
-                                                        #{r\ 1927}#
-                                                        #{w\ 1955}#
-                                                        #{s\ 1956}#
+                                                    (#{top-level-eval-hook\ 
12825}#
+                                                      (#{chi-top-sequence\ 
12991}#
+                                                        #{body\ 14252}#
+                                                        #{r\ 14177}#
+                                                        #{w\ 14205}#
+                                                        #{s\ 14206}#
                                                         'e
                                                         '(eval)
-                                                        #{mod\ 1957}#)
-                                                      #{mod\ 1957}#)
-                                                    (#{chi-void\ 765}#))
-                                                  (#{chi-void\ 765}#))))))
-                                        #{tmp\ 1990}#)
+                                                        #{mod\ 14207}#)
+                                                      #{mod\ 14207}#)
+                                                    (#{chi-void\ 13015}#))
+                                                  (#{chi-void\ 13015}#))))))
+                                        #{tmp\ 14240}#)
                                  (syntax-violation
                                    #f
                                    "source expression failed to match any 
pattern"
-                                   #{tmp\ 1989}#)))
+                                   #{tmp\ 14239}#)))
                              ($sc-dispatch
-                               #{tmp\ 1989}#
+                               #{tmp\ 14239}#
                                '(any each-any any . each-any))))
-                          #{e\ 1954}#)
-                         (if (memv #{type\ 1952}#
+                          #{e\ 14204}#)
+                         (if (memv #{type\ 14202}#
                                    '(define-syntax-form))
-                           (let ((#{n\ 2033}#
-                                   (#{id-var-name\ 723}#
-                                     #{value\ 1953}#
-                                     #{w\ 1955}#))
-                                 (#{r\ 2034}#
-                                   (#{macros-only-env\ 658}# #{r\ 1927}#)))
-                             (if (memv #{m\ 1929}# (quote (c)))
-                               (if (memq (quote compile) #{esew\ 1930}#)
-                                 (let ((#{e\ 2037}#
-                                         (#{chi-install-global\ 743}#
-                                           #{n\ 2033}#
-                                           (#{chi\ 751}#
-                                             #{e\ 1954}#
-                                             #{r\ 2034}#
-                                             #{w\ 1955}#
-                                             #{mod\ 1957}#))))
+                           (let ((#{n\ 14283}#
+                                   (#{id-var-name\ 12973}#
+                                     #{value\ 14203}#
+                                     #{w\ 14205}#))
+                                 (#{r\ 14284}#
+                                   (#{macros-only-env\ 12908}# #{r\ 14177}#)))
+                             (if (memv #{m\ 14179}# (quote (c)))
+                               (if (memq (quote compile) #{esew\ 14180}#)
+                                 (let ((#{e\ 14287}#
+                                         (#{chi-install-global\ 12993}#
+                                           #{n\ 14283}#
+                                           (#{chi\ 13001}#
+                                             #{e\ 14204}#
+                                             #{r\ 14284}#
+                                             #{w\ 14205}#
+                                             #{mod\ 14207}#))))
                                    (begin
-                                     (#{top-level-eval-hook\ 575}#
-                                       #{e\ 2037}#
-                                       #{mod\ 1957}#)
-                                     (if (memq (quote load) #{esew\ 1930}#)
-                                       #{e\ 2037}#
-                                       (#{chi-void\ 765}#))))
-                                 (if (memq (quote load) #{esew\ 1930}#)
-                                   (#{chi-install-global\ 743}#
-                                     #{n\ 2033}#
-                                     (#{chi\ 751}#
-                                       #{e\ 1954}#
-                                       #{r\ 2034}#
-                                       #{w\ 1955}#
-                                       #{mod\ 1957}#))
-                                   (#{chi-void\ 765}#)))
-                               (if (memv #{m\ 1929}# (quote (c&e)))
-                                 (let ((#{e\ 2040}#
-                                         (#{chi-install-global\ 743}#
-                                           #{n\ 2033}#
-                                           (#{chi\ 751}#
-                                             #{e\ 1954}#
-                                             #{r\ 2034}#
-                                             #{w\ 1955}#
-                                             #{mod\ 1957}#))))
+                                     (#{top-level-eval-hook\ 12825}#
+                                       #{e\ 14287}#
+                                       #{mod\ 14207}#)
+                                     (if (memq (quote load) #{esew\ 14180}#)
+                                       #{e\ 14287}#
+                                       (#{chi-void\ 13015}#))))
+                                 (if (memq (quote load) #{esew\ 14180}#)
+                                   (#{chi-install-global\ 12993}#
+                                     #{n\ 14283}#
+                                     (#{chi\ 13001}#
+                                       #{e\ 14204}#
+                                       #{r\ 14284}#
+                                       #{w\ 14205}#
+                                       #{mod\ 14207}#))
+                                   (#{chi-void\ 13015}#)))
+                               (if (memv #{m\ 14179}# (quote (c&e)))
+                                 (let ((#{e\ 14290}#
+                                         (#{chi-install-global\ 12993}#
+                                           #{n\ 14283}#
+                                           (#{chi\ 13001}#
+                                             #{e\ 14204}#
+                                             #{r\ 14284}#
+                                             #{w\ 14205}#
+                                             #{mod\ 14207}#))))
                                    (begin
-                                     (#{top-level-eval-hook\ 575}#
-                                       #{e\ 2040}#
-                                       #{mod\ 1957}#)
-                                     #{e\ 2040}#))
+                                     (#{top-level-eval-hook\ 12825}#
+                                       #{e\ 14290}#
+                                       #{mod\ 14207}#)
+                                     #{e\ 14290}#))
                                  (begin
-                                   (if (memq (quote eval) #{esew\ 1930}#)
-                                     (#{top-level-eval-hook\ 575}#
-                                       (#{chi-install-global\ 743}#
-                                         #{n\ 2033}#
-                                         (#{chi\ 751}#
-                                           #{e\ 1954}#
-                                           #{r\ 2034}#
-                                           #{w\ 1955}#
-                                           #{mod\ 1957}#))
-                                       #{mod\ 1957}#))
-                                   (#{chi-void\ 765}#)))))
-                           (if (memv #{type\ 1952}# (quote (define-form)))
-                             (let ((#{n\ 2045}#
-                                     (#{id-var-name\ 723}#
-                                       #{value\ 1953}#
-                                       #{w\ 1955}#)))
-                               (let ((#{type\ 2047}#
-                                       (#{binding-type\ 649}#
-                                         (#{lookup\ 660}#
-                                           #{n\ 2045}#
-                                           #{r\ 1927}#
-                                           #{mod\ 1957}#))))
-                                 (if (memv #{type\ 2047}#
+                                   (if (memq (quote eval) #{esew\ 14180}#)
+                                     (#{top-level-eval-hook\ 12825}#
+                                       (#{chi-install-global\ 12993}#
+                                         #{n\ 14283}#
+                                         (#{chi\ 13001}#
+                                           #{e\ 14204}#
+                                           #{r\ 14284}#
+                                           #{w\ 14205}#
+                                           #{mod\ 14207}#))
+                                       #{mod\ 14207}#))
+                                   (#{chi-void\ 13015}#)))))
+                           (if (memv #{type\ 14202}# (quote (define-form)))
+                             (let ((#{n\ 14295}#
+                                     (#{id-var-name\ 12973}#
+                                       #{value\ 14203}#
+                                       #{w\ 14205}#)))
+                               (let ((#{type\ 14297}#
+                                       (#{binding-type\ 12899}#
+                                         (#{lookup\ 12910}#
+                                           #{n\ 14295}#
+                                           #{r\ 14177}#
+                                           #{mod\ 14207}#))))
+                                 (if (memv #{type\ 14297}#
                                            '(global core macro module-ref))
                                    (begin
-                                     (if (if (memq #{m\ 1929}# (quote (c c&e)))
+                                     (if (if (memq #{m\ 14179}#
+                                                   '(c c&e))
                                            (if (not (module-local-variable
                                                       (current-module)
-                                                      #{n\ 2045}#))
+                                                      #{n\ 14295}#))
                                              (current-module)
                                              #f)
                                            #f)
-                                       (let ((#{old\ 2053}#
+                                       (let ((#{old\ 14303}#
                                                (module-variable
                                                  (current-module)
-                                                 #{n\ 2045}#)))
+                                                 #{n\ 14295}#)))
                                          (module-define!
                                            (current-module)
-                                           #{n\ 2045}#
-                                           (if (variable? #{old\ 2053}#)
-                                             (variable-ref #{old\ 2053}#)
+                                           #{n\ 14295}#
+                                           (if (variable? #{old\ 14303}#)
+                                             (variable-ref #{old\ 14303}#)
                                              #f))))
-                                     (let ((#{x\ 2056}#
-                                             (#{build-global-definition\ 606}#
-                                               #{s\ 1956}#
-                                               #{n\ 2045}#
-                                               (#{chi\ 751}#
-                                                 #{e\ 1954}#
-                                                 #{r\ 1927}#
-                                                 #{w\ 1955}#
-                                                 #{mod\ 1957}#))))
+                                     (let ((#{x\ 14306}#
+                                             (#{build-global-definition\ 
12856}#
+                                               #{s\ 14206}#
+                                               #{n\ 14295}#
+                                               (#{chi\ 13001}#
+                                                 #{e\ 14204}#
+                                                 #{r\ 14177}#
+                                                 #{w\ 14205}#
+                                                 #{mod\ 14207}#))))
                                        (begin
-                                         (if (eq? #{m\ 1929}# (quote c&e))
-                                           (#{top-level-eval-hook\ 575}#
-                                             #{x\ 2056}#
-                                             #{mod\ 1957}#))
-                                         #{x\ 2056}#)))
-                                   (if (memv #{type\ 2047}#
+                                         (if (eq? #{m\ 14179}# (quote c&e))
+                                           (#{top-level-eval-hook\ 12825}#
+                                             #{x\ 14306}#
+                                             #{mod\ 14207}#))
+                                         #{x\ 14306}#)))
+                                   (if (memv #{type\ 14297}#
                                              '(displaced-lexical))
                                      (syntax-violation
                                        #f
                                        "identifier out of context"
-                                       #{e\ 1954}#
-                                       (#{wrap\ 735}#
-                                         #{value\ 1953}#
-                                         #{w\ 1955}#
-                                         #{mod\ 1957}#))
+                                       #{e\ 14204}#
+                                       (#{wrap\ 12985}#
+                                         #{value\ 14203}#
+                                         #{w\ 14205}#
+                                         #{mod\ 14207}#))
                                      (syntax-violation
                                        #f
                                        "cannot define keyword at top level"
-                                       #{e\ 1954}#
-                                       (#{wrap\ 735}#
-                                         #{value\ 1953}#
-                                         #{w\ 1955}#
-                                         #{mod\ 1957}#))))))
-                             (let ((#{x\ 2062}#
-                                     (#{chi-expr\ 753}#
-                                       #{type\ 1952}#
-                                       #{value\ 1953}#
-                                       #{e\ 1954}#
-                                       #{r\ 1927}#
-                                       #{w\ 1955}#
-                                       #{s\ 1956}#
-                                       #{mod\ 1957}#)))
+                                       #{e\ 14204}#
+                                       (#{wrap\ 12985}#
+                                         #{value\ 14203}#
+                                         #{w\ 14205}#
+                                         #{mod\ 14207}#))))))
+                             (let ((#{x\ 14312}#
+                                     (#{chi-expr\ 13003}#
+                                       #{type\ 14202}#
+                                       #{value\ 14203}#
+                                       #{e\ 14204}#
+                                       #{r\ 14177}#
+                                       #{w\ 14205}#
+                                       #{s\ 14206}#
+                                       #{mod\ 14207}#)))
                                (begin
-                                 (if (eq? #{m\ 1929}# (quote c&e))
-                                   (#{top-level-eval-hook\ 575}#
-                                     #{x\ 2062}#
-                                     #{mod\ 1957}#))
-                                 #{x\ 2062}#)))))))))))
-           (#{syntax-type\ 747}#
-             (lambda (#{e\ 2063}#
-                      #{r\ 2064}#
-                      #{w\ 2065}#
-                      #{s\ 2066}#
-                      #{rib\ 2067}#
-                      #{mod\ 2068}#
-                      #{for-car?\ 2069}#)
-               (if (symbol? #{e\ 2063}#)
-                 (let ((#{n\ 2081}#
-                         (#{id-var-name\ 723}# #{e\ 2063}# #{w\ 2065}#)))
-                   (let ((#{b\ 2083}#
-                           (#{lookup\ 660}#
-                             #{n\ 2081}#
-                             #{r\ 2064}#
-                             #{mod\ 2068}#)))
-                     (let ((#{type\ 2085}#
-                             (#{binding-type\ 649}# #{b\ 2083}#)))
-                       (if (memv #{type\ 2085}# (quote (lexical)))
+                                 (if (eq? #{m\ 14179}# (quote c&e))
+                                   (#{top-level-eval-hook\ 12825}#
+                                     #{x\ 14312}#
+                                     #{mod\ 14207}#))
+                                 #{x\ 14312}#)))))))))))
+           (#{syntax-type\ 12997}#
+             (lambda (#{e\ 14313}#
+                      #{r\ 14314}#
+                      #{w\ 14315}#
+                      #{s\ 14316}#
+                      #{rib\ 14317}#
+                      #{mod\ 14318}#
+                      #{for-car?\ 14319}#)
+               (if (symbol? #{e\ 14313}#)
+                 (let ((#{n\ 14331}#
+                         (#{id-var-name\ 12973}#
+                           #{e\ 14313}#
+                           #{w\ 14315}#)))
+                   (let ((#{b\ 14333}#
+                           (#{lookup\ 12910}#
+                             #{n\ 14331}#
+                             #{r\ 14314}#
+                             #{mod\ 14318}#)))
+                     (let ((#{type\ 14335}#
+                             (#{binding-type\ 12899}# #{b\ 14333}#)))
+                       (if (memv #{type\ 14335}# (quote (lexical)))
                          (values
-                           #{type\ 2085}#
-                           (#{binding-value\ 651}# #{b\ 2083}#)
-                           #{e\ 2063}#
-                           #{w\ 2065}#
-                           #{s\ 2066}#
-                           #{mod\ 2068}#)
-                         (if (memv #{type\ 2085}# (quote (global)))
+                           #{type\ 14335}#
+                           (#{binding-value\ 12901}# #{b\ 14333}#)
+                           #{e\ 14313}#
+                           #{w\ 14315}#
+                           #{s\ 14316}#
+                           #{mod\ 14318}#)
+                         (if (memv #{type\ 14335}# (quote (global)))
                            (values
-                             #{type\ 2085}#
-                             #{n\ 2081}#
-                             #{e\ 2063}#
-                             #{w\ 2065}#
-                             #{s\ 2066}#
-                             #{mod\ 2068}#)
-                           (if (memv #{type\ 2085}# (quote (macro)))
-                             (if #{for-car?\ 2069}#
+                             #{type\ 14335}#
+                             #{n\ 14331}#
+                             #{e\ 14313}#
+                             #{w\ 14315}#
+                             #{s\ 14316}#
+                             #{mod\ 14318}#)
+                           (if (memv #{type\ 14335}# (quote (macro)))
+                             (if #{for-car?\ 14319}#
                                (values
-                                 #{type\ 2085}#
-                                 (#{binding-value\ 651}# #{b\ 2083}#)
-                                 #{e\ 2063}#
-                                 #{w\ 2065}#
-                                 #{s\ 2066}#
-                                 #{mod\ 2068}#)
-                               (#{syntax-type\ 747}#
-                                 (#{chi-macro\ 757}#
-                                   (#{binding-value\ 651}# #{b\ 2083}#)
-                                   #{e\ 2063}#
-                                   #{r\ 2064}#
-                                   #{w\ 2065}#
-                                   #{rib\ 2067}#
-                                   #{mod\ 2068}#)
-                                 #{r\ 2064}#
+                                 #{type\ 14335}#
+                                 (#{binding-value\ 12901}# #{b\ 14333}#)
+                                 #{e\ 14313}#
+                                 #{w\ 14315}#
+                                 #{s\ 14316}#
+                                 #{mod\ 14318}#)
+                               (#{syntax-type\ 12997}#
+                                 (#{chi-macro\ 13007}#
+                                   (#{binding-value\ 12901}# #{b\ 14333}#)
+                                   #{e\ 14313}#
+                                   #{r\ 14314}#
+                                   #{w\ 14315}#
+                                   #{rib\ 14317}#
+                                   #{mod\ 14318}#)
+                                 #{r\ 14314}#
                                  '(())
-                                 #{s\ 2066}#
-                                 #{rib\ 2067}#
-                                 #{mod\ 2068}#
+                                 #{s\ 14316}#
+                                 #{rib\ 14317}#
+                                 #{mod\ 14318}#
                                  #f))
                              (values
-                               #{type\ 2085}#
-                               (#{binding-value\ 651}# #{b\ 2083}#)
-                               #{e\ 2063}#
-                               #{w\ 2065}#
-                               #{s\ 2066}#
-                               #{mod\ 2068}#)))))))
-                 (if (pair? #{e\ 2063}#)
-                   (let ((#{first\ 2094}# (car #{e\ 2063}#)))
+                               #{type\ 14335}#
+                               (#{binding-value\ 12901}# #{b\ 14333}#)
+                               #{e\ 14313}#
+                               #{w\ 14315}#
+                               #{s\ 14316}#
+                               #{mod\ 14318}#)))))))
+                 (if (pair? #{e\ 14313}#)
+                   (let ((#{first\ 14344}# (car #{e\ 14313}#)))
                      (call-with-values
                        (lambda ()
-                         (#{syntax-type\ 747}#
-                           #{first\ 2094}#
-                           #{r\ 2064}#
-                           #{w\ 2065}#
-                           #{s\ 2066}#
-                           #{rib\ 2067}#
-                           #{mod\ 2068}#
+                         (#{syntax-type\ 12997}#
+                           #{first\ 14344}#
+                           #{r\ 14314}#
+                           #{w\ 14315}#
+                           #{s\ 14316}#
+                           #{rib\ 14317}#
+                           #{mod\ 14318}#
                            #t))
-                       (lambda (#{ftype\ 2095}#
-                                #{fval\ 2096}#
-                                #{fe\ 2097}#
-                                #{fw\ 2098}#
-                                #{fs\ 2099}#
-                                #{fmod\ 2100}#)
-                         (if (memv #{ftype\ 2095}# (quote (lexical)))
+                       (lambda (#{ftype\ 14345}#
+                                #{fval\ 14346}#
+                                #{fe\ 14347}#
+                                #{fw\ 14348}#
+                                #{fs\ 14349}#
+                                #{fmod\ 14350}#)
+                         (if (memv #{ftype\ 14345}# (quote (lexical)))
                            (values
                              'lexical-call
-                             #{fval\ 2096}#
-                             #{e\ 2063}#
-                             #{w\ 2065}#
-                             #{s\ 2066}#
-                             #{mod\ 2068}#)
-                           (if (memv #{ftype\ 2095}# (quote (global)))
+                             #{fval\ 14346}#
+                             #{e\ 14313}#
+                             #{w\ 14315}#
+                             #{s\ 14316}#
+                             #{mod\ 14318}#)
+                           (if (memv #{ftype\ 14345}# (quote (global)))
                              (values
                                'global-call
-                               (#{make-syntax-object\ 628}#
-                                 #{fval\ 2096}#
-                                 #{w\ 2065}#
-                                 #{fmod\ 2100}#)
-                               #{e\ 2063}#
-                               #{w\ 2065}#
-                               #{s\ 2066}#
-                               #{mod\ 2068}#)
-                             (if (memv #{ftype\ 2095}# (quote (macro)))
-                               (#{syntax-type\ 747}#
-                                 (#{chi-macro\ 757}#
-                                   #{fval\ 2096}#
-                                   #{e\ 2063}#
-                                   #{r\ 2064}#
-                                   #{w\ 2065}#
-                                   #{rib\ 2067}#
-                                   #{mod\ 2068}#)
-                                 #{r\ 2064}#
+                               (#{make-syntax-object\ 12878}#
+                                 #{fval\ 14346}#
+                                 #{w\ 14315}#
+                                 #{fmod\ 14350}#)
+                               #{e\ 14313}#
+                               #{w\ 14315}#
+                               #{s\ 14316}#
+                               #{mod\ 14318}#)
+                             (if (memv #{ftype\ 14345}# (quote (macro)))
+                               (#{syntax-type\ 12997}#
+                                 (#{chi-macro\ 13007}#
+                                   #{fval\ 14346}#
+                                   #{e\ 14313}#
+                                   #{r\ 14314}#
+                                   #{w\ 14315}#
+                                   #{rib\ 14317}#
+                                   #{mod\ 14318}#)
+                                 #{r\ 14314}#
                                  '(())
-                                 #{s\ 2066}#
-                                 #{rib\ 2067}#
-                                 #{mod\ 2068}#
-                                 #{for-car?\ 2069}#)
-                               (if (memv #{ftype\ 2095}# (quote (module-ref)))
+                                 #{s\ 14316}#
+                                 #{rib\ 14317}#
+                                 #{mod\ 14318}#
+                                 #{for-car?\ 14319}#)
+                               (if (memv #{ftype\ 14345}# (quote (module-ref)))
                                  (call-with-values
                                    (lambda ()
-                                     (#{fval\ 2096}#
-                                       #{e\ 2063}#
-                                       #{r\ 2064}#
-                                       #{w\ 2065}#))
-                                   (lambda (#{e\ 2112}#
-                                            #{r\ 2113}#
-                                            #{w\ 2114}#
-                                            #{s\ 2115}#
-                                            #{mod\ 2116}#)
-                                     (#{syntax-type\ 747}#
-                                       #{e\ 2112}#
-                                       #{r\ 2113}#
-                                       #{w\ 2114}#
-                                       #{s\ 2115}#
-                                       #{rib\ 2067}#
-                                       #{mod\ 2116}#
-                                       #{for-car?\ 2069}#)))
-                                 (if (memv #{ftype\ 2095}# (quote (core)))
+                                     (#{fval\ 14346}#
+                                       #{e\ 14313}#
+                                       #{r\ 14314}#
+                                       #{w\ 14315}#))
+                                   (lambda (#{e\ 14362}#
+                                            #{r\ 14363}#
+                                            #{w\ 14364}#
+                                            #{s\ 14365}#
+                                            #{mod\ 14366}#)
+                                     (#{syntax-type\ 12997}#
+                                       #{e\ 14362}#
+                                       #{r\ 14363}#
+                                       #{w\ 14364}#
+                                       #{s\ 14365}#
+                                       #{rib\ 14317}#
+                                       #{mod\ 14366}#
+                                       #{for-car?\ 14319}#)))
+                                 (if (memv #{ftype\ 14345}# (quote (core)))
                                    (values
                                      'core-form
-                                     #{fval\ 2096}#
-                                     #{e\ 2063}#
-                                     #{w\ 2065}#
-                                     #{s\ 2066}#
-                                     #{mod\ 2068}#)
-                                   (if (memv #{ftype\ 2095}#
+                                     #{fval\ 14346}#
+                                     #{e\ 14313}#
+                                     #{w\ 14315}#
+                                     #{s\ 14316}#
+                                     #{mod\ 14318}#)
+                                   (if (memv #{ftype\ 14345}#
                                              '(local-syntax))
                                      (values
                                        'local-syntax-form
-                                       #{fval\ 2096}#
-                                       #{e\ 2063}#
-                                       #{w\ 2065}#
-                                       #{s\ 2066}#
-                                       #{mod\ 2068}#)
-                                     (if (memv #{ftype\ 2095}# (quote (begin)))
+                                       #{fval\ 14346}#
+                                       #{e\ 14313}#
+                                       #{w\ 14315}#
+                                       #{s\ 14316}#
+                                       #{mod\ 14318}#)
+                                     (if (memv #{ftype\ 14345}#
+                                               '(begin))
                                        (values
                                          'begin-form
                                          #f
-                                         #{e\ 2063}#
-                                         #{w\ 2065}#
-                                         #{s\ 2066}#
-                                         #{mod\ 2068}#)
-                                       (if (memv #{ftype\ 2095}#
+                                         #{e\ 14313}#
+                                         #{w\ 14315}#
+                                         #{s\ 14316}#
+                                         #{mod\ 14318}#)
+                                       (if (memv #{ftype\ 14345}#
                                                  '(eval-when))
                                          (values
                                            'eval-when-form
                                            #f
-                                           #{e\ 2063}#
-                                           #{w\ 2065}#
-                                           #{s\ 2066}#
-                                           #{mod\ 2068}#)
-                                         (if (memv #{ftype\ 2095}#
+                                           #{e\ 14313}#
+                                           #{w\ 14315}#
+                                           #{s\ 14316}#
+                                           #{mod\ 14318}#)
+                                         (if (memv #{ftype\ 14345}#
                                                    '(define))
-                                           ((lambda (#{tmp\ 2127}#)
-                                              ((lambda (#{tmp\ 2128}#)
-                                                 (if (if #{tmp\ 2128}#
-                                                       (apply (lambda (#{_\ 
2132}#
-                                                                       #{name\ 
2133}#
-                                                                       #{val\ 
2134}#)
-                                                                (#{id?\ 666}#
-                                                                  #{name\ 
2133}#))
-                                                              #{tmp\ 2128}#)
+                                           ((lambda (#{tmp\ 14377}#)
+                                              ((lambda (#{tmp\ 14378}#)
+                                                 (if (if #{tmp\ 14378}#
+                                                       (apply (lambda (#{_\ 
14382}#
+                                                                       #{name\ 
14383}#
+                                                                       #{val\ 
14384}#)
+                                                                (#{id?\ 12916}#
+                                                                  #{name\ 
14383}#))
+                                                              #{tmp\ 14378}#)
                                                        #f)
-                                                   (apply (lambda (#{_\ 2138}#
-                                                                   #{name\ 
2139}#
-                                                                   #{val\ 
2140}#)
+                                                   (apply (lambda (#{_\ 14388}#
+                                                                   #{name\ 
14389}#
+                                                                   #{val\ 
14390}#)
                                                             (values
                                                               'define-form
-                                                              #{name\ 2139}#
-                                                              #{val\ 2140}#
-                                                              #{w\ 2065}#
-                                                              #{s\ 2066}#
-                                                              #{mod\ 2068}#))
-                                                          #{tmp\ 2128}#)
-                                                   ((lambda (#{tmp\ 2141}#)
-                                                      (if (if #{tmp\ 2141}#
-                                                            (apply (lambda 
(#{_\ 2147}#
-                                                                            
#{name\ 2148}#
-                                                                            
#{args\ 2149}#
-                                                                            
#{e1\ 2150}#
-                                                                            
#{e2\ 2151}#)
-                                                                     (if 
(#{id?\ 666}#
-                                                                           
#{name\ 2148}#)
-                                                                       
(#{valid-bound-ids?\ 729}#
-                                                                         
(#{lambda-var-list\ 781}#
-                                                                           
#{args\ 2149}#))
+                                                              #{name\ 14389}#
+                                                              #{val\ 14390}#
+                                                              #{w\ 14315}#
+                                                              #{s\ 14316}#
+                                                              #{mod\ 14318}#))
+                                                          #{tmp\ 14378}#)
+                                                   ((lambda (#{tmp\ 14391}#)
+                                                      (if (if #{tmp\ 14391}#
+                                                            (apply (lambda 
(#{_\ 14397}#
+                                                                            
#{name\ 14398}#
+                                                                            
#{args\ 14399}#
+                                                                            
#{e1\ 14400}#
+                                                                            
#{e2\ 14401}#)
+                                                                     (if 
(#{id?\ 12916}#
+                                                                           
#{name\ 14398}#)
+                                                                       
(#{valid-bound-ids?\ 12979}#
+                                                                         
(#{lambda-var-list\ 13031}#
+                                                                           
#{args\ 14399}#))
                                                                        #f))
-                                                                   #{tmp\ 
2141}#)
+                                                                   #{tmp\ 
14391}#)
                                                             #f)
-                                                        (apply (lambda (#{_\ 
2159}#
-                                                                        
#{name\ 2160}#
-                                                                        
#{args\ 2161}#
-                                                                        #{e1\ 
2162}#
-                                                                        #{e2\ 
2163}#)
+                                                        (apply (lambda (#{_\ 
14409}#
+                                                                        
#{name\ 14410}#
+                                                                        
#{args\ 14411}#
+                                                                        #{e1\ 
14412}#
+                                                                        #{e2\ 
14413}#)
                                                                  (values
                                                                    'define-form
-                                                                   (#{wrap\ 
735}#
-                                                                     #{name\ 
2160}#
-                                                                     #{w\ 
2065}#
-                                                                     #{mod\ 
2068}#)
-                                                                   
(#{decorate-source\ 584}#
+                                                                   (#{wrap\ 
12985}#
+                                                                     #{name\ 
14410}#
+                                                                     #{w\ 
14315}#
+                                                                     #{mod\ 
14318}#)
+                                                                   
(#{decorate-source\ 12834}#
                                                                      (cons 
'#(syntax-object
                                                                               
lambda
                                                                               
((top)
@@ -3639,11 +3835,11 @@
                                                                                
    (top)
                                                                                
    (top)
                                                                                
    (top))
-                                                                               
  #("i2154"
-                                                                               
    "i2155"
-                                                                               
    "i2156"
-                                                                               
    "i2157"
-                                                                               
    "i2158"))
+                                                                               
  #("i14404"
+                                                                               
    "i14405"
+                                                                               
    "i14406"
+                                                                               
    "i14407"
+                                                                               
    "i14408"))
                                                                                
#(ribcage
                                                                                
  ()
                                                                                
  ()
@@ -3665,12 +3861,12 @@
                                                                                
    (top)
                                                                                
    (top)
                                                                                
    (top))
-                                                                               
  #("i2101"
-                                                                               
    "i2102"
-                                                                               
    "i2103"
-                                                                               
    "i2104"
-                                                                               
    "i2105"
-                                                                               
    "i2106"))
+                                                                               
  #("i14351"
+                                                                               
    "i14352"
+                                                                               
    "i14353"
+                                                                               
    "i14354"
+                                                                               
    "i14355"
+                                                                               
    "i14356"))
                                                                                
#(ribcage
                                                                                
  ()
                                                                                
  ()
@@ -3678,7 +3874,7 @@
                                                                                
#(ribcage
                                                                                
  #(first)
                                                                                
  #((top))
-                                                                               
  #("i2093"))
+                                                                               
  #("i14343"))
                                                                                
#(ribcage
                                                                                
  ()
                                                                                
  ()
@@ -3706,13 +3902,13 @@
                                                                                
    (top)
                                                                                
    (top)
                                                                                
    (top))
-                                                                               
  #("i2070"
-                                                                               
    "i2071"
-                                                                               
    "i2072"
-                                                                               
    "i2073"
-                                                                               
    "i2074"
-                                                                               
    "i2075"
-                                                                               
    "i2076"))
+                                                                               
  #("i14320"
+                                                                               
    "i14321"
+                                                                               
    "i14322"
+                                                                               
    "i14323"
+                                                                               
    "i14324"
+                                                                               
    "i14325"
+                                                                               
    "i14326"))
                                                                                
#(ribcage
                                                                                
  (lambda-var-list
                                                                                
    gen-var
@@ -3830,6 +4026,24 @@
                                                                                
    fx=
                                                                                
    fx-
                                                                                
    fx+
+                                                                               
    make-dynlet
+                                                                               
    make-letrec
+                                                                               
    make-let
+                                                                               
    make-lambda-case
+                                                                               
    make-lambda
+                                                                               
    make-sequence
+                                                                               
    make-application
+                                                                               
    make-conditional
+                                                                               
    make-toplevel-define
+                                                                               
    make-toplevel-set
+                                                                               
    make-toplevel-ref
+                                                                               
    make-module-set
+                                                                               
    make-module-ref
+                                                                               
    make-lexical-set
+                                                                               
    make-lexical-ref
+                                                                               
    make-primitive-ref
+                                                                               
    make-const
+                                                                               
    make-void
                                                                                
    *mode*)
                                                                                
  ((top)
                                                                                
   (top)
@@ -3947,160 +4161,199 @@
                                                                                
   (top)
                                                                                
   (top)
                                                                                
   (top)
+                                                                               
   (top)
+                                                                               
   (top)
+                                                                               
   (top)
+                                                                               
   (top)
+                                                                               
   (top)
+                                                                               
   (top)
+                                                                               
   (top)
+                                                                               
   (top)
+                                                                               
   (top)
+                                                                               
   (top)
+                                                                               
   (top)
+                                                                               
   (top)
+                                                                               
   (top)
+                                                                               
   (top)
+                                                                               
   (top)
+                                                                               
   (top)
+                                                                               
   (top)
+                                                                               
   (top)
                                                                                
   (top))
-                                                                               
  ("i780"
-                                                                               
   "i778"
-                                                                               
   "i776"
-                                                                               
   "i774"
-                                                                               
   "i772"
-                                                                               
   "i770"
-                                                                               
   "i768"
-                                                                               
   "i766"
-                                                                               
   "i764"
-                                                                               
   "i762"
-                                                                               
   "i760"
-                                                                               
   "i758"
-                                                                               
   "i756"
-                                                                               
   "i754"
-                                                                               
   "i752"
-                                                                               
   "i750"
-                                                                               
   "i748"
-                                                                               
   "i746"
-                                                                               
   "i744"
-                                                                               
   "i742"
-                                                                               
   "i740"
-                                                                               
   "i738"
-                                                                               
   "i736"
-                                                                               
   "i734"
-                                                                               
   "i732"
-                                                                               
   "i730"
-                                                                               
   "i728"
-                                                                               
   "i726"
-                                                                               
   "i724"
-                                                                               
   "i722"
-                                                                               
   "i720"
-                                                                               
   "i718"
-                                                                               
   "i716"
-                                                                               
   "i714"
-                                                                               
   "i712"
-                                                                               
   "i710"
-                                                                               
   "i709"
-                                                                               
   "i708"
-                                                                               
   "i706"
-                                                                               
   "i705"
-                                                                               
   "i704"
-                                                                               
   "i703"
-                                                                               
   "i702"
-                                                                               
   "i700"
-                                                                               
   "i698"
-                                                                               
   "i696"
-                                                                               
   "i694"
-                                                                               
   "i692"
-                                                                               
   "i690"
-                                                                               
   "i688"
-                                                                               
   "i686"
-                                                                               
   "i683"
-                                                                               
   "i681"
-                                                                               
   "i680"
-                                                                               
   "i679"
-                                                                               
   "i678"
-                                                                               
   "i677"
-                                                                               
   "i676"
-                                                                               
   "i674"
-                                                                               
   "i672"
-                                                                               
   "i670"
-                                                                               
   "i668"
-                                                                               
   "i667"
-                                                                               
   "i665"
-                                                                               
   "i663"
-                                                                               
   "i661"
-                                                                               
   "i659"
-                                                                               
   "i657"
-                                                                               
   "i655"
-                                                                               
   "i653"
-                                                                               
   "i652"
-                                                                               
   "i650"
-                                                                               
   "i648"
-                                                                               
   "i647"
-                                                                               
   "i646"
-                                                                               
   "i644"
-                                                                               
   "i643"
-                                                                               
   "i641"
-                                                                               
   "i639"
-                                                                               
   "i637"
-                                                                               
   "i635"
-                                                                               
   "i633"
-                                                                               
   "i631"
-                                                                               
   "i629"
-                                                                               
   "i627"
-                                                                               
   "i625"
-                                                                               
   "i623"
-                                                                               
   "i621"
-                                                                               
   "i619"
-                                                                               
   "i617"
-                                                                               
   "i615"
-                                                                               
   "i613"
-                                                                               
   "i611"
-                                                                               
   "i609"
-                                                                               
   "i607"
-                                                                               
   "i605"
-                                                                               
   "i603"
-                                                                               
   "i601"
-                                                                               
   "i599"
-                                                                               
   "i597"
-                                                                               
   "i595"
-                                                                               
   "i593"
-                                                                               
   "i591"
-                                                                               
   "i589"
-                                                                               
   "i587"
-                                                                               
   "i585"
-                                                                               
   "i583"
-                                                                               
   "i581"
-                                                                               
   "i579"
-                                                                               
   "i578"
-                                                                               
   "i576"
-                                                                               
   "i574"
-                                                                               
   "i572"
-                                                                               
   "i570"
-                                                                               
   "i568"
-                                                                               
   "i566"
-                                                                               
   "i564"))
+                                                                               
  ("i13030"
+                                                                               
   "i13028"
+                                                                               
   "i13026"
+                                                                               
   "i13024"
+                                                                               
   "i13022"
+                                                                               
   "i13020"
+                                                                               
   "i13018"
+                                                                               
   "i13016"
+                                                                               
   "i13014"
+                                                                               
   "i13012"
+                                                                               
   "i13010"
+                                                                               
   "i13008"
+                                                                               
   "i13006"
+                                                                               
   "i13004"
+                                                                               
   "i13002"
+                                                                               
   "i13000"
+                                                                               
   "i12998"
+                                                                               
   "i12996"
+                                                                               
   "i12994"
+                                                                               
   "i12992"
+                                                                               
   "i12990"
+                                                                               
   "i12988"
+                                                                               
   "i12986"
+                                                                               
   "i12984"
+                                                                               
   "i12982"
+                                                                               
   "i12980"
+                                                                               
   "i12978"
+                                                                               
   "i12976"
+                                                                               
   "i12974"
+                                                                               
   "i12972"
+                                                                               
   "i12970"
+                                                                               
   "i12968"
+                                                                               
   "i12966"
+                                                                               
   "i12964"
+                                                                               
   "i12962"
+                                                                               
   "i12960"
+                                                                               
   "i12959"
+                                                                               
   "i12958"
+                                                                               
   "i12956"
+                                                                               
   "i12955"
+                                                                               
   "i12954"
+                                                                               
   "i12953"
+                                                                               
   "i12952"
+                                                                               
   "i12950"
+                                                                               
   "i12948"
+                                                                               
   "i12946"
+                                                                               
   "i12944"
+                                                                               
   "i12942"
+                                                                               
   "i12940"
+                                                                               
   "i12938"
+                                                                               
   "i12936"
+                                                                               
   "i12933"
+                                                                               
   "i12931"
+                                                                               
   "i12930"
+                                                                               
   "i12929"
+                                                                               
   "i12928"
+                                                                               
   "i12927"
+                                                                               
   "i12926"
+                                                                               
   "i12924"
+                                                                               
   "i12922"
+                                                                               
   "i12920"
+                                                                               
   "i12918"
+                                                                               
   "i12917"
+                                                                               
   "i12915"
+                                                                               
   "i12913"
+                                                                               
   "i12911"
+                                                                               
   "i12909"
+                                                                               
   "i12907"
+                                                                               
   "i12905"
+                                                                               
   "i12903"
+                                                                               
   "i12902"
+                                                                               
   "i12900"
+                                                                               
   "i12898"
+                                                                               
   "i12897"
+                                                                               
   "i12896"
+                                                                               
   "i12894"
+                                                                               
   "i12893"
+                                                                               
   "i12891"
+                                                                               
   "i12889"
+                                                                               
   "i12887"
+                                                                               
   "i12885"
+                                                                               
   "i12883"
+                                                                               
   "i12881"
+                                                                               
   "i12879"
+                                                                               
   "i12877"
+                                                                               
   "i12875"
+                                                                               
   "i12873"
+                                                                               
   "i12871"
+                                                                               
   "i12869"
+                                                                               
   "i12867"
+                                                                               
   "i12865"
+                                                                               
   "i12863"
+                                                                               
   "i12861"
+                                                                               
   "i12859"
+                                                                               
   "i12857"
+                                                                               
   "i12855"
+                                                                               
   "i12853"
+                                                                               
   "i12851"
+                                                                               
   "i12849"
+                                                                               
   "i12847"
+                                                                               
   "i12845"
+                                                                               
   "i12843"
+                                                                               
   "i12841"
+                                                                               
   "i12839"
+                                                                               
   "i12837"
+                                                                               
   "i12835"
+                                                                               
   "i12833"
+                                                                               
   "i12831"
+                                                                               
   "i12829"
+                                                                               
   "i12828"
+                                                                               
   "i12826"
+                                                                               
   "i12824"
+                                                                               
   "i12822"
+                                                                               
   "i12820"
+                                                                               
   "i12818"
+                                                                               
   "i12816"
+                                                                               
   "i12814"
+                                                                               
   "i12812"
+                                                                               
   "i12810"
+                                                                               
   "i12808"
+                                                                               
   "i12806"
+                                                                               
   "i12804"
+                                                                               
   "i12802"
+                                                                               
   "i12800"
+                                                                               
   "i12798"
+                                                                               
   "i12796"
+                                                                               
   "i12794"
+                                                                               
   "i12792"
+                                                                               
   "i12790"
+                                                                               
   "i12788"
+                                                                               
   "i12786"
+                                                                               
   "i12784"
+                                                                               
   "i12782"
+                                                                               
   "i12780"
+                                                                               
   "i12777"))
                                                                                
#(ribcage
                                                                                
  (define-structure
+                                                                               
    define-expansion-constructors
                                                                                
    and-map*)
                                                                                
  ((top)
+                                                                               
   (top)
                                                                                
   (top))
-                                                                               
  ("i467"
-                                                                               
   "i465")))
+                                                                               
  ("i12629"
+                                                                               
   "i12628"
+                                                                               
   "i12626")))
                                                                               
(hygiene
                                                                                
 guile))
-                                                                           
(#{wrap\ 735}#
-                                                                             
(cons #{args\ 2161}#
-                                                                               
    (cons #{e1\ 2162}#
-                                                                               
          #{e2\ 2163}#))
-                                                                             
#{w\ 2065}#
-                                                                             
#{mod\ 2068}#))
-                                                                     #{s\ 
2066}#)
+                                                                           
(#{wrap\ 12985}#
+                                                                             
(cons #{args\ 14411}#
+                                                                               
    (cons #{e1\ 14412}#
+                                                                               
          #{e2\ 14413}#))
+                                                                             
#{w\ 14315}#
+                                                                             
#{mod\ 14318}#))
+                                                                     #{s\ 
14316}#)
                                                                    '(())
-                                                                   #{s\ 2066}#
-                                                                   #{mod\ 
2068}#))
-                                                               #{tmp\ 2141}#)
-                                                        ((lambda (#{tmp\ 
2166}#)
-                                                           (if (if #{tmp\ 
2166}#
-                                                                 (apply 
(lambda (#{_\ 2169}#
-                                                                               
  #{name\ 2170}#)
-                                                                          
(#{id?\ 666}#
-                                                                            
#{name\ 2170}#))
-                                                                        #{tmp\ 
2166}#)
+                                                                   #{s\ 14316}#
+                                                                   #{mod\ 
14318}#))
+                                                               #{tmp\ 14391}#)
+                                                        ((lambda (#{tmp\ 
14416}#)
+                                                           (if (if #{tmp\ 
14416}#
+                                                                 (apply 
(lambda (#{_\ 14419}#
+                                                                               
  #{name\ 14420}#)
+                                                                          
(#{id?\ 12916}#
+                                                                            
#{name\ 14420}#))
+                                                                        #{tmp\ 
14416}#)
                                                                  #f)
-                                                             (apply (lambda 
(#{_\ 2173}#
-                                                                             
#{name\ 2174}#)
+                                                             (apply (lambda 
(#{_\ 14423}#
+                                                                             
#{name\ 14424}#)
                                                                       (values
                                                                         
'define-form
-                                                                        
(#{wrap\ 735}#
-                                                                          
#{name\ 2174}#
-                                                                          #{w\ 
2065}#
-                                                                          
#{mod\ 2068}#)
+                                                                        
(#{wrap\ 12985}#
+                                                                          
#{name\ 14424}#
+                                                                          #{w\ 
14315}#
+                                                                          
#{mod\ 14318}#)
                                                                         
'(#(syntax-object
                                                                             if
                                                                             
((top)
@@ -4109,8 +4362,8 @@
                                                                                
  name)
                                                                                
#((top)
                                                                                
  (top))
-                                                                               
#("i2171"
-                                                                               
  "i2172"))
+                                                                               
#("i14421"
+                                                                               
  "i14422"))
                                                                              
#(ribcage
                                                                                
()
                                                                                
()
@@ -4132,12 +4385,12 @@
                                                                                
  (top)
                                                                                
  (top)
                                                                                
  (top))
-                                                                               
#("i2101"
-                                                                               
  "i2102"
-                                                                               
  "i2103"
-                                                                               
  "i2104"
-                                                                               
  "i2105"
-                                                                               
  "i2106"))
+                                                                               
#("i14351"
+                                                                               
  "i14352"
+                                                                               
  "i14353"
+                                                                               
  "i14354"
+                                                                               
  "i14355"
+                                                                               
  "i14356"))
                                                                              
#(ribcage
                                                                                
()
                                                                                
()
@@ -4145,7 +4398,7 @@
                                                                              
#(ribcage
                                                                                
#(first)
                                                                                
#((top))
-                                                                               
#("i2093"))
+                                                                               
#("i14343"))
                                                                              
#(ribcage
                                                                                
()
                                                                                
()
@@ -4173,13 +4426,13 @@
                                                                                
  (top)
                                                                                
  (top)
                                                                                
  (top))
-                                                                               
#("i2070"
-                                                                               
  "i2071"
-                                                                               
  "i2072"
-                                                                               
  "i2073"
-                                                                               
  "i2074"
-                                                                               
  "i2075"
-                                                                               
  "i2076"))
+                                                                               
#("i14320"
+                                                                               
  "i14321"
+                                                                               
  "i14322"
+                                                                               
  "i14323"
+                                                                               
  "i14324"
+                                                                               
  "i14325"
+                                                                               
  "i14326"))
                                                                              
#(ribcage
                                                                                
(lambda-var-list
                                                                                
  gen-var
@@ -4297,6 +4550,24 @@
                                                                                
  fx=
                                                                                
  fx-
                                                                                
  fx+
+                                                                               
  make-dynlet
+                                                                               
  make-letrec
+                                                                               
  make-let
+                                                                               
  make-lambda-case
+                                                                               
  make-lambda
+                                                                               
  make-sequence
+                                                                               
  make-application
+                                                                               
  make-conditional
+                                                                               
  make-toplevel-define
+                                                                               
  make-toplevel-set
+                                                                               
  make-toplevel-ref
+                                                                               
  make-module-set
+                                                                               
  make-module-ref
+                                                                               
  make-lexical-set
+                                                                               
  make-lexical-ref
+                                                                               
  make-primitive-ref
+                                                                               
  make-const
+                                                                               
  make-void
                                                                                
  *mode*)
                                                                                
((top)
                                                                                
 (top)
@@ -4414,131 +4685,170 @@
                                                                                
 (top)
                                                                                
 (top)
                                                                                
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
                                                                                
 (top))
-                                                                               
("i780"
-                                                                               
 "i778"
-                                                                               
 "i776"
-                                                                               
 "i774"
-                                                                               
 "i772"
-                                                                               
 "i770"
-                                                                               
 "i768"
-                                                                               
 "i766"
-                                                                               
 "i764"
-                                                                               
 "i762"
-                                                                               
 "i760"
-                                                                               
 "i758"
-                                                                               
 "i756"
-                                                                               
 "i754"
-                                                                               
 "i752"
-                                                                               
 "i750"
-                                                                               
 "i748"
-                                                                               
 "i746"
-                                                                               
 "i744"
-                                                                               
 "i742"
-                                                                               
 "i740"
-                                                                               
 "i738"
-                                                                               
 "i736"
-                                                                               
 "i734"
-                                                                               
 "i732"
-                                                                               
 "i730"
-                                                                               
 "i728"
-                                                                               
 "i726"
-                                                                               
 "i724"
-                                                                               
 "i722"
-                                                                               
 "i720"
-                                                                               
 "i718"
-                                                                               
 "i716"
-                                                                               
 "i714"
-                                                                               
 "i712"
-                                                                               
 "i710"
-                                                                               
 "i709"
-                                                                               
 "i708"
-                                                                               
 "i706"
-                                                                               
 "i705"
-                                                                               
 "i704"
-                                                                               
 "i703"
-                                                                               
 "i702"
-                                                                               
 "i700"
-                                                                               
 "i698"
-                                                                               
 "i696"
-                                                                               
 "i694"
-                                                                               
 "i692"
-                                                                               
 "i690"
-                                                                               
 "i688"
-                                                                               
 "i686"
-                                                                               
 "i683"
-                                                                               
 "i681"
-                                                                               
 "i680"
-                                                                               
 "i679"
-                                                                               
 "i678"
-                                                                               
 "i677"
-                                                                               
 "i676"
-                                                                               
 "i674"
-                                                                               
 "i672"
-                                                                               
 "i670"
-                                                                               
 "i668"
-                                                                               
 "i667"
-                                                                               
 "i665"
-                                                                               
 "i663"
-                                                                               
 "i661"
-                                                                               
 "i659"
-                                                                               
 "i657"
-                                                                               
 "i655"
-                                                                               
 "i653"
-                                                                               
 "i652"
-                                                                               
 "i650"
-                                                                               
 "i648"
-                                                                               
 "i647"
-                                                                               
 "i646"
-                                                                               
 "i644"
-                                                                               
 "i643"
-                                                                               
 "i641"
-                                                                               
 "i639"
-                                                                               
 "i637"
-                                                                               
 "i635"
-                                                                               
 "i633"
-                                                                               
 "i631"
-                                                                               
 "i629"
-                                                                               
 "i627"
-                                                                               
 "i625"
-                                                                               
 "i623"
-                                                                               
 "i621"
-                                                                               
 "i619"
-                                                                               
 "i617"
-                                                                               
 "i615"
-                                                                               
 "i613"
-                                                                               
 "i611"
-                                                                               
 "i609"
-                                                                               
 "i607"
-                                                                               
 "i605"
-                                                                               
 "i603"
-                                                                               
 "i601"
-                                                                               
 "i599"
-                                                                               
 "i597"
-                                                                               
 "i595"
-                                                                               
 "i593"
-                                                                               
 "i591"
-                                                                               
 "i589"
-                                                                               
 "i587"
-                                                                               
 "i585"
-                                                                               
 "i583"
-                                                                               
 "i581"
-                                                                               
 "i579"
-                                                                               
 "i578"
-                                                                               
 "i576"
-                                                                               
 "i574"
-                                                                               
 "i572"
-                                                                               
 "i570"
-                                                                               
 "i568"
-                                                                               
 "i566"
-                                                                               
 "i564"))
+                                                                               
("i13030"
+                                                                               
 "i13028"
+                                                                               
 "i13026"
+                                                                               
 "i13024"
+                                                                               
 "i13022"
+                                                                               
 "i13020"
+                                                                               
 "i13018"
+                                                                               
 "i13016"
+                                                                               
 "i13014"
+                                                                               
 "i13012"
+                                                                               
 "i13010"
+                                                                               
 "i13008"
+                                                                               
 "i13006"
+                                                                               
 "i13004"
+                                                                               
 "i13002"
+                                                                               
 "i13000"
+                                                                               
 "i12998"
+                                                                               
 "i12996"
+                                                                               
 "i12994"
+                                                                               
 "i12992"
+                                                                               
 "i12990"
+                                                                               
 "i12988"
+                                                                               
 "i12986"
+                                                                               
 "i12984"
+                                                                               
 "i12982"
+                                                                               
 "i12980"
+                                                                               
 "i12978"
+                                                                               
 "i12976"
+                                                                               
 "i12974"
+                                                                               
 "i12972"
+                                                                               
 "i12970"
+                                                                               
 "i12968"
+                                                                               
 "i12966"
+                                                                               
 "i12964"
+                                                                               
 "i12962"
+                                                                               
 "i12960"
+                                                                               
 "i12959"
+                                                                               
 "i12958"
+                                                                               
 "i12956"
+                                                                               
 "i12955"
+                                                                               
 "i12954"
+                                                                               
 "i12953"
+                                                                               
 "i12952"
+                                                                               
 "i12950"
+                                                                               
 "i12948"
+                                                                               
 "i12946"
+                                                                               
 "i12944"
+                                                                               
 "i12942"
+                                                                               
 "i12940"
+                                                                               
 "i12938"
+                                                                               
 "i12936"
+                                                                               
 "i12933"
+                                                                               
 "i12931"
+                                                                               
 "i12930"
+                                                                               
 "i12929"
+                                                                               
 "i12928"
+                                                                               
 "i12927"
+                                                                               
 "i12926"
+                                                                               
 "i12924"
+                                                                               
 "i12922"
+                                                                               
 "i12920"
+                                                                               
 "i12918"
+                                                                               
 "i12917"
+                                                                               
 "i12915"
+                                                                               
 "i12913"
+                                                                               
 "i12911"
+                                                                               
 "i12909"
+                                                                               
 "i12907"
+                                                                               
 "i12905"
+                                                                               
 "i12903"
+                                                                               
 "i12902"
+                                                                               
 "i12900"
+                                                                               
 "i12898"
+                                                                               
 "i12897"
+                                                                               
 "i12896"
+                                                                               
 "i12894"
+                                                                               
 "i12893"
+                                                                               
 "i12891"
+                                                                               
 "i12889"
+                                                                               
 "i12887"
+                                                                               
 "i12885"
+                                                                               
 "i12883"
+                                                                               
 "i12881"
+                                                                               
 "i12879"
+                                                                               
 "i12877"
+                                                                               
 "i12875"
+                                                                               
 "i12873"
+                                                                               
 "i12871"
+                                                                               
 "i12869"
+                                                                               
 "i12867"
+                                                                               
 "i12865"
+                                                                               
 "i12863"
+                                                                               
 "i12861"
+                                                                               
 "i12859"
+                                                                               
 "i12857"
+                                                                               
 "i12855"
+                                                                               
 "i12853"
+                                                                               
 "i12851"
+                                                                               
 "i12849"
+                                                                               
 "i12847"
+                                                                               
 "i12845"
+                                                                               
 "i12843"
+                                                                               
 "i12841"
+                                                                               
 "i12839"
+                                                                               
 "i12837"
+                                                                               
 "i12835"
+                                                                               
 "i12833"
+                                                                               
 "i12831"
+                                                                               
 "i12829"
+                                                                               
 "i12828"
+                                                                               
 "i12826"
+                                                                               
 "i12824"
+                                                                               
 "i12822"
+                                                                               
 "i12820"
+                                                                               
 "i12818"
+                                                                               
 "i12816"
+                                                                               
 "i12814"
+                                                                               
 "i12812"
+                                                                               
 "i12810"
+                                                                               
 "i12808"
+                                                                               
 "i12806"
+                                                                               
 "i12804"
+                                                                               
 "i12802"
+                                                                               
 "i12800"
+                                                                               
 "i12798"
+                                                                               
 "i12796"
+                                                                               
 "i12794"
+                                                                               
 "i12792"
+                                                                               
 "i12790"
+                                                                               
 "i12788"
+                                                                               
 "i12786"
+                                                                               
 "i12784"
+                                                                               
 "i12782"
+                                                                               
 "i12780"
+                                                                               
 "i12777"))
                                                                              
#(ribcage
                                                                                
(define-structure
+                                                                               
  define-expansion-constructors
                                                                                
  and-map*)
                                                                                
((top)
+                                                                               
 (top)
                                                                                
 (top))
-                                                                               
("i467"
-                                                                               
 "i465")))
+                                                                               
("i12629"
+                                                                               
 "i12628"
+                                                                               
 "i12626")))
                                                                             
(hygiene
                                                                               
guile))
                                                                           
#(syntax-object
@@ -4549,8 +4859,8 @@
                                                                                
  name)
                                                                                
#((top)
                                                                                
  (top))
-                                                                               
#("i2171"
-                                                                               
  "i2172"))
+                                                                               
#("i14421"
+                                                                               
  "i14422"))
                                                                              
#(ribcage
                                                                                
()
                                                                                
()
@@ -4572,12 +4882,12 @@
                                                                                
  (top)
                                                                                
  (top)
                                                                                
  (top))
-                                                                               
#("i2101"
-                                                                               
  "i2102"
-                                                                               
  "i2103"
-                                                                               
  "i2104"
-                                                                               
  "i2105"
-                                                                               
  "i2106"))
+                                                                               
#("i14351"
+                                                                               
  "i14352"
+                                                                               
  "i14353"
+                                                                               
  "i14354"
+                                                                               
  "i14355"
+                                                                               
  "i14356"))
                                                                              
#(ribcage
                                                                                
()
                                                                                
()
@@ -4585,7 +4895,7 @@
                                                                              
#(ribcage
                                                                                
#(first)
                                                                                
#((top))
-                                                                               
#("i2093"))
+                                                                               
#("i14343"))
                                                                              
#(ribcage
                                                                                
()
                                                                                
()
@@ -4613,13 +4923,13 @@
                                                                                
  (top)
                                                                                
  (top)
                                                                                
  (top))
-                                                                               
#("i2070"
-                                                                               
  "i2071"
-                                                                               
  "i2072"
-                                                                               
  "i2073"
-                                                                               
  "i2074"
-                                                                               
  "i2075"
-                                                                               
  "i2076"))
+                                                                               
#("i14320"
+                                                                               
  "i14321"
+                                                                               
  "i14322"
+                                                                               
  "i14323"
+                                                                               
  "i14324"
+                                                                               
  "i14325"
+                                                                               
  "i14326"))
                                                                              
#(ribcage
                                                                                
(lambda-var-list
                                                                                
  gen-var
@@ -4737,6 +5047,24 @@
                                                                                
  fx=
                                                                                
  fx-
                                                                                
  fx+
+                                                                               
  make-dynlet
+                                                                               
  make-letrec
+                                                                               
  make-let
+                                                                               
  make-lambda-case
+                                                                               
  make-lambda
+                                                                               
  make-sequence
+                                                                               
  make-application
+                                                                               
  make-conditional
+                                                                               
  make-toplevel-define
+                                                                               
  make-toplevel-set
+                                                                               
  make-toplevel-ref
+                                                                               
  make-module-set
+                                                                               
  make-module-ref
+                                                                               
  make-lexical-set
+                                                                               
  make-lexical-ref
+                                                                               
  make-primitive-ref
+                                                                               
  make-const
+                                                                               
  make-void
                                                                                
  *mode*)
                                                                                
((top)
                                                                                
 (top)
@@ -4854,131 +5182,170 @@
                                                                                
 (top)
                                                                                
 (top)
                                                                                
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
                                                                                
 (top))
-                                                                               
("i780"
-                                                                               
 "i778"
-                                                                               
 "i776"
-                                                                               
 "i774"
-                                                                               
 "i772"
-                                                                               
 "i770"
-                                                                               
 "i768"
-                                                                               
 "i766"
-                                                                               
 "i764"
-                                                                               
 "i762"
-                                                                               
 "i760"
-                                                                               
 "i758"
-                                                                               
 "i756"
-                                                                               
 "i754"
-                                                                               
 "i752"
-                                                                               
 "i750"
-                                                                               
 "i748"
-                                                                               
 "i746"
-                                                                               
 "i744"
-                                                                               
 "i742"
-                                                                               
 "i740"
-                                                                               
 "i738"
-                                                                               
 "i736"
-                                                                               
 "i734"
-                                                                               
 "i732"
-                                                                               
 "i730"
-                                                                               
 "i728"
-                                                                               
 "i726"
-                                                                               
 "i724"
-                                                                               
 "i722"
-                                                                               
 "i720"
-                                                                               
 "i718"
-                                                                               
 "i716"
-                                                                               
 "i714"
-                                                                               
 "i712"
-                                                                               
 "i710"
-                                                                               
 "i709"
-                                                                               
 "i708"
-                                                                               
 "i706"
-                                                                               
 "i705"
-                                                                               
 "i704"
-                                                                               
 "i703"
-                                                                               
 "i702"
-                                                                               
 "i700"
-                                                                               
 "i698"
-                                                                               
 "i696"
-                                                                               
 "i694"
-                                                                               
 "i692"
-                                                                               
 "i690"
-                                                                               
 "i688"
-                                                                               
 "i686"
-                                                                               
 "i683"
-                                                                               
 "i681"
-                                                                               
 "i680"
-                                                                               
 "i679"
-                                                                               
 "i678"
-                                                                               
 "i677"
-                                                                               
 "i676"
-                                                                               
 "i674"
-                                                                               
 "i672"
-                                                                               
 "i670"
-                                                                               
 "i668"
-                                                                               
 "i667"
-                                                                               
 "i665"
-                                                                               
 "i663"
-                                                                               
 "i661"
-                                                                               
 "i659"
-                                                                               
 "i657"
-                                                                               
 "i655"
-                                                                               
 "i653"
-                                                                               
 "i652"
-                                                                               
 "i650"
-                                                                               
 "i648"
-                                                                               
 "i647"
-                                                                               
 "i646"
-                                                                               
 "i644"
-                                                                               
 "i643"
-                                                                               
 "i641"
-                                                                               
 "i639"
-                                                                               
 "i637"
-                                                                               
 "i635"
-                                                                               
 "i633"
-                                                                               
 "i631"
-                                                                               
 "i629"
-                                                                               
 "i627"
-                                                                               
 "i625"
-                                                                               
 "i623"
-                                                                               
 "i621"
-                                                                               
 "i619"
-                                                                               
 "i617"
-                                                                               
 "i615"
-                                                                               
 "i613"
-                                                                               
 "i611"
-                                                                               
 "i609"
-                                                                               
 "i607"
-                                                                               
 "i605"
-                                                                               
 "i603"
-                                                                               
 "i601"
-                                                                               
 "i599"
-                                                                               
 "i597"
-                                                                               
 "i595"
-                                                                               
 "i593"
-                                                                               
 "i591"
-                                                                               
 "i589"
-                                                                               
 "i587"
-                                                                               
 "i585"
-                                                                               
 "i583"
-                                                                               
 "i581"
-                                                                               
 "i579"
-                                                                               
 "i578"
-                                                                               
 "i576"
-                                                                               
 "i574"
-                                                                               
 "i572"
-                                                                               
 "i570"
-                                                                               
 "i568"
-                                                                               
 "i566"
-                                                                               
 "i564"))
+                                                                               
("i13030"
+                                                                               
 "i13028"
+                                                                               
 "i13026"
+                                                                               
 "i13024"
+                                                                               
 "i13022"
+                                                                               
 "i13020"
+                                                                               
 "i13018"
+                                                                               
 "i13016"
+                                                                               
 "i13014"
+                                                                               
 "i13012"
+                                                                               
 "i13010"
+                                                                               
 "i13008"
+                                                                               
 "i13006"
+                                                                               
 "i13004"
+                                                                               
 "i13002"
+                                                                               
 "i13000"
+                                                                               
 "i12998"
+                                                                               
 "i12996"
+                                                                               
 "i12994"
+                                                                               
 "i12992"
+                                                                               
 "i12990"
+                                                                               
 "i12988"
+                                                                               
 "i12986"
+                                                                               
 "i12984"
+                                                                               
 "i12982"
+                                                                               
 "i12980"
+                                                                               
 "i12978"
+                                                                               
 "i12976"
+                                                                               
 "i12974"
+                                                                               
 "i12972"
+                                                                               
 "i12970"
+                                                                               
 "i12968"
+                                                                               
 "i12966"
+                                                                               
 "i12964"
+                                                                               
 "i12962"
+                                                                               
 "i12960"
+                                                                               
 "i12959"
+                                                                               
 "i12958"
+                                                                               
 "i12956"
+                                                                               
 "i12955"
+                                                                               
 "i12954"
+                                                                               
 "i12953"
+                                                                               
 "i12952"
+                                                                               
 "i12950"
+                                                                               
 "i12948"
+                                                                               
 "i12946"
+                                                                               
 "i12944"
+                                                                               
 "i12942"
+                                                                               
 "i12940"
+                                                                               
 "i12938"
+                                                                               
 "i12936"
+                                                                               
 "i12933"
+                                                                               
 "i12931"
+                                                                               
 "i12930"
+                                                                               
 "i12929"
+                                                                               
 "i12928"
+                                                                               
 "i12927"
+                                                                               
 "i12926"
+                                                                               
 "i12924"
+                                                                               
 "i12922"
+                                                                               
 "i12920"
+                                                                               
 "i12918"
+                                                                               
 "i12917"
+                                                                               
 "i12915"
+                                                                               
 "i12913"
+                                                                               
 "i12911"
+                                                                               
 "i12909"
+                                                                               
 "i12907"
+                                                                               
 "i12905"
+                                                                               
 "i12903"
+                                                                               
 "i12902"
+                                                                               
 "i12900"
+                                                                               
 "i12898"
+                                                                               
 "i12897"
+                                                                               
 "i12896"
+                                                                               
 "i12894"
+                                                                               
 "i12893"
+                                                                               
 "i12891"
+                                                                               
 "i12889"
+                                                                               
 "i12887"
+                                                                               
 "i12885"
+                                                                               
 "i12883"
+                                                                               
 "i12881"
+                                                                               
 "i12879"
+                                                                               
 "i12877"
+                                                                               
 "i12875"
+                                                                               
 "i12873"
+                                                                               
 "i12871"
+                                                                               
 "i12869"
+                                                                               
 "i12867"
+                                                                               
 "i12865"
+                                                                               
 "i12863"
+                                                                               
 "i12861"
+                                                                               
 "i12859"
+                                                                               
 "i12857"
+                                                                               
 "i12855"
+                                                                               
 "i12853"
+                                                                               
 "i12851"
+                                                                               
 "i12849"
+                                                                               
 "i12847"
+                                                                               
 "i12845"
+                                                                               
 "i12843"
+                                                                               
 "i12841"
+                                                                               
 "i12839"
+                                                                               
 "i12837"
+                                                                               
 "i12835"
+                                                                               
 "i12833"
+                                                                               
 "i12831"
+                                                                               
 "i12829"
+                                                                               
 "i12828"
+                                                                               
 "i12826"
+                                                                               
 "i12824"
+                                                                               
 "i12822"
+                                                                               
 "i12820"
+                                                                               
 "i12818"
+                                                                               
 "i12816"
+                                                                               
 "i12814"
+                                                                               
 "i12812"
+                                                                               
 "i12810"
+                                                                               
 "i12808"
+                                                                               
 "i12806"
+                                                                               
 "i12804"
+                                                                               
 "i12802"
+                                                                               
 "i12800"
+                                                                               
 "i12798"
+                                                                               
 "i12796"
+                                                                               
 "i12794"
+                                                                               
 "i12792"
+                                                                               
 "i12790"
+                                                                               
 "i12788"
+                                                                               
 "i12786"
+                                                                               
 "i12784"
+                                                                               
 "i12782"
+                                                                               
 "i12780"
+                                                                               
 "i12777"))
                                                                              
#(ribcage
                                                                                
(define-structure
+                                                                               
  define-expansion-constructors
                                                                                
  and-map*)
                                                                                
((top)
+                                                                               
 (top)
                                                                                
 (top))
-                                                                               
("i467"
-                                                                               
 "i465")))
+                                                                               
("i12629"
+                                                                               
 "i12628"
+                                                                               
 "i12626")))
                                                                             
(hygiene
                                                                               
guile))
                                                                           
#(syntax-object
@@ -4989,8 +5356,8 @@
                                                                                
  name)
                                                                                
#((top)
                                                                                
  (top))
-                                                                               
#("i2171"
-                                                                               
  "i2172"))
+                                                                               
#("i14421"
+                                                                               
  "i14422"))
                                                                              
#(ribcage
                                                                                
()
                                                                                
()
@@ -5012,12 +5379,12 @@
                                                                                
  (top)
                                                                                
  (top)
                                                                                
  (top))
-                                                                               
#("i2101"
-                                                                               
  "i2102"
-                                                                               
  "i2103"
-                                                                               
  "i2104"
-                                                                               
  "i2105"
-                                                                               
  "i2106"))
+                                                                               
#("i14351"
+                                                                               
  "i14352"
+                                                                               
  "i14353"
+                                                                               
  "i14354"
+                                                                               
  "i14355"
+                                                                               
  "i14356"))
                                                                              
#(ribcage
                                                                                
()
                                                                                
()
@@ -5025,7 +5392,7 @@
                                                                              
#(ribcage
                                                                                
#(first)
                                                                                
#((top))
-                                                                               
#("i2093"))
+                                                                               
#("i14343"))
                                                                              
#(ribcage
                                                                                
()
                                                                                
()
@@ -5053,13 +5420,13 @@
                                                                                
  (top)
                                                                                
  (top)
                                                                                
  (top))
-                                                                               
#("i2070"
-                                                                               
  "i2071"
-                                                                               
  "i2072"
-                                                                               
  "i2073"
-                                                                               
  "i2074"
-                                                                               
  "i2075"
-                                                                               
  "i2076"))
+                                                                               
#("i14320"
+                                                                               
  "i14321"
+                                                                               
  "i14322"
+                                                                               
  "i14323"
+                                                                               
  "i14324"
+                                                                               
  "i14325"
+                                                                               
  "i14326"))
                                                                              
#(ribcage
                                                                                
(lambda-var-list
                                                                                
  gen-var
@@ -5177,6 +5544,24 @@
                                                                                
  fx=
                                                                                
  fx-
                                                                                
  fx+
+                                                                               
  make-dynlet
+                                                                               
  make-letrec
+                                                                               
  make-let
+                                                                               
  make-lambda-case
+                                                                               
  make-lambda
+                                                                               
  make-sequence
+                                                                               
  make-application
+                                                                               
  make-conditional
+                                                                               
  make-toplevel-define
+                                                                               
  make-toplevel-set
+                                                                               
  make-toplevel-ref
+                                                                               
  make-module-set
+                                                                               
  make-module-ref
+                                                                               
  make-lexical-set
+                                                                               
  make-lexical-ref
+                                                                               
  make-primitive-ref
+                                                                               
  make-const
+                                                                               
  make-void
                                                                                
  *mode*)
                                                                                
((top)
                                                                                
 (top)
@@ -5294,232 +5679,272 @@
                                                                                
 (top)
                                                                                
 (top)
                                                                                
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
+                                                                               
 (top)
                                                                                
 (top))
-                                                                               
("i780"
-                                                                               
 "i778"
-                                                                               
 "i776"
-                                                                               
 "i774"
-                                                                               
 "i772"
-                                                                               
 "i770"
-                                                                               
 "i768"
-                                                                               
 "i766"
-                                                                               
 "i764"
-                                                                               
 "i762"
-                                                                               
 "i760"
-                                                                               
 "i758"
-                                                                               
 "i756"
-                                                                               
 "i754"
-                                                                               
 "i752"
-                                                                               
 "i750"
-                                                                               
 "i748"
-                                                                               
 "i746"
-                                                                               
 "i744"
-                                                                               
 "i742"
-                                                                               
 "i740"
-                                                                               
 "i738"
-                                                                               
 "i736"
-                                                                               
 "i734"
-                                                                               
 "i732"
-                                                                               
 "i730"
-                                                                               
 "i728"
-                                                                               
 "i726"
-                                                                               
 "i724"
-                                                                               
 "i722"
-                                                                               
 "i720"
-                                                                               
 "i718"
-                                                                               
 "i716"
-                                                                               
 "i714"
-                                                                               
 "i712"
-                                                                               
 "i710"
-                                                                               
 "i709"
-                                                                               
 "i708"
-                                                                               
 "i706"
-                                                                               
 "i705"
-                                                                               
 "i704"
-                                                                               
 "i703"
-                                                                               
 "i702"
-                                                                               
 "i700"
-                                                                               
 "i698"
-                                                                               
 "i696"
-                                                                               
 "i694"
-                                                                               
 "i692"
-                                                                               
 "i690"
-                                                                               
 "i688"
-                                                                               
 "i686"
-                                                                               
 "i683"
-                                                                               
 "i681"
-                                                                               
 "i680"
-                                                                               
 "i679"
-                                                                               
 "i678"
-                                                                               
 "i677"
-                                                                               
 "i676"
-                                                                               
 "i674"
-                                                                               
 "i672"
-                                                                               
 "i670"
-                                                                               
 "i668"
-                                                                               
 "i667"
-                                                                               
 "i665"
-                                                                               
 "i663"
-                                                                               
 "i661"
-                                                                               
 "i659"
-                                                                               
 "i657"
-                                                                               
 "i655"
-                                                                               
 "i653"
-                                                                               
 "i652"
-                                                                               
 "i650"
-                                                                               
 "i648"
-                                                                               
 "i647"
-                                                                               
 "i646"
-                                                                               
 "i644"
-                                                                               
 "i643"
-                                                                               
 "i641"
-                                                                               
 "i639"
-                                                                               
 "i637"
-                                                                               
 "i635"
-                                                                               
 "i633"
-                                                                               
 "i631"
-                                                                               
 "i629"
-                                                                               
 "i627"
-                                                                               
 "i625"
-                                                                               
 "i623"
-                                                                               
 "i621"
-                                                                               
 "i619"
-                                                                               
 "i617"
-                                                                               
 "i615"
-                                                                               
 "i613"
-                                                                               
 "i611"
-                                                                               
 "i609"
-                                                                               
 "i607"
-                                                                               
 "i605"
-                                                                               
 "i603"
-                                                                               
 "i601"
-                                                                               
 "i599"
-                                                                               
 "i597"
-                                                                               
 "i595"
-                                                                               
 "i593"
-                                                                               
 "i591"
-                                                                               
 "i589"
-                                                                               
 "i587"
-                                                                               
 "i585"
-                                                                               
 "i583"
-                                                                               
 "i581"
-                                                                               
 "i579"
-                                                                               
 "i578"
-                                                                               
 "i576"
-                                                                               
 "i574"
-                                                                               
 "i572"
-                                                                               
 "i570"
-                                                                               
 "i568"
-                                                                               
 "i566"
-                                                                               
 "i564"))
+                                                                               
("i13030"
+                                                                               
 "i13028"
+                                                                               
 "i13026"
+                                                                               
 "i13024"
+                                                                               
 "i13022"
+                                                                               
 "i13020"
+                                                                               
 "i13018"
+                                                                               
 "i13016"
+                                                                               
 "i13014"
+                                                                               
 "i13012"
+                                                                               
 "i13010"
+                                                                               
 "i13008"
+                                                                               
 "i13006"
+                                                                               
 "i13004"
+                                                                               
 "i13002"
+                                                                               
 "i13000"
+                                                                               
 "i12998"
+                                                                               
 "i12996"
+                                                                               
 "i12994"
+                                                                               
 "i12992"
+                                                                               
 "i12990"
+                                                                               
 "i12988"
+                                                                               
 "i12986"
+                                                                               
 "i12984"
+                                                                               
 "i12982"
+                                                                               
 "i12980"
+                                                                               
 "i12978"
+                                                                               
 "i12976"
+                                                                               
 "i12974"
+                                                                               
 "i12972"
+                                                                               
 "i12970"
+                                                                               
 "i12968"
+                                                                               
 "i12966"
+                                                                               
 "i12964"
+                                                                               
 "i12962"
+                                                                               
 "i12960"
+                                                                               
 "i12959"
+                                                                               
 "i12958"
+                                                                               
 "i12956"
+                                                                               
 "i12955"
+                                                                               
 "i12954"
+                                                                               
 "i12953"
+                                                                               
 "i12952"
+                                                                               
 "i12950"
+                                                                               
 "i12948"
+                                                                               
 "i12946"
+                                                                               
 "i12944"
+                                                                               
 "i12942"
+                                                                               
 "i12940"
+                                                                               
 "i12938"
+                                                                               
 "i12936"
+                                                                               
 "i12933"
+                                                                               
 "i12931"
+                                                                               
 "i12930"
+                                                                               
 "i12929"
+                                                                               
 "i12928"
+                                                                               
 "i12927"
+                                                                               
 "i12926"
+                                                                               
 "i12924"
+                                                                               
 "i12922"
+                                                                               
 "i12920"
+                                                                               
 "i12918"
+                                                                               
 "i12917"
+                                                                               
 "i12915"
+                                                                               
 "i12913"
+                                                                               
 "i12911"
+                                                                               
 "i12909"
+                                                                               
 "i12907"
+                                                                               
 "i12905"
+                                                                               
 "i12903"
+                                                                               
 "i12902"
+                                                                               
 "i12900"
+                                                                               
 "i12898"
+                                                                               
 "i12897"
+                                                                               
 "i12896"
+                                                                               
 "i12894"
+                                                                               
 "i12893"
+                                                                               
 "i12891"
+                                                                               
 "i12889"
+                                                                               
 "i12887"
+                                                                               
 "i12885"
+                                                                               
 "i12883"
+                                                                               
 "i12881"
+                                                                               
 "i12879"
+                                                                               
 "i12877"
+                                                                               
 "i12875"
+                                                                               
 "i12873"
+                                                                               
 "i12871"
+                                                                               
 "i12869"
+                                                                               
 "i12867"
+                                                                               
 "i12865"
+                                                                               
 "i12863"
+                                                                               
 "i12861"
+                                                                               
 "i12859"
+                                                                               
 "i12857"
+                                                                               
 "i12855"
+                                                                               
 "i12853"
+                                                                               
 "i12851"
+                                                                               
 "i12849"
+                                                                               
 "i12847"
+                                                                               
 "i12845"
+                                                                               
 "i12843"
+                                                                               
 "i12841"
+                                                                               
 "i12839"
+                                                                               
 "i12837"
+                                                                               
 "i12835"
+                                                                               
 "i12833"
+                                                                               
 "i12831"
+                                                                               
 "i12829"
+                                                                               
 "i12828"
+                                                                               
 "i12826"
+                                                                               
 "i12824"
+                                                                               
 "i12822"
+                                                                               
 "i12820"
+                                                                               
 "i12818"
+                                                                               
 "i12816"
+                                                                               
 "i12814"
+                                                                               
 "i12812"
+                                                                               
 "i12810"
+                                                                               
 "i12808"
+                                                                               
 "i12806"
+                                                                               
 "i12804"
+                                                                               
 "i12802"
+                                                                               
 "i12800"
+                                                                               
 "i12798"
+                                                                               
 "i12796"
+                                                                               
 "i12794"
+                                                                               
 "i12792"
+                                                                               
 "i12790"
+                                                                               
 "i12788"
+                                                                               
 "i12786"
+                                                                               
 "i12784"
+                                                                               
 "i12782"
+                                                                               
 "i12780"
+                                                                               
 "i12777"))
                                                                              
#(ribcage
                                                                                
(define-structure
+                                                                               
  define-expansion-constructors
                                                                                
  and-map*)
                                                                                
((top)
+                                                                               
 (top)
                                                                                
 (top))
-                                                                               
("i467"
-                                                                               
 "i465")))
+                                                                               
("i12629"
+                                                                               
 "i12628"
+                                                                               
 "i12626")))
                                                                             
(hygiene
                                                                               
guile)))
                                                                         '(())
-                                                                        #{s\ 
2066}#
-                                                                        #{mod\ 
2068}#))
-                                                                    #{tmp\ 
2166}#)
+                                                                        #{s\ 
14316}#
+                                                                        #{mod\ 
14318}#))
+                                                                    #{tmp\ 
14416}#)
                                                              (syntax-violation
                                                                #f
                                                                "source 
expression failed to match any pattern"
-                                                               #{tmp\ 2127}#)))
+                                                               #{tmp\ 
14377}#)))
                                                          ($sc-dispatch
-                                                           #{tmp\ 2127}#
+                                                           #{tmp\ 14377}#
                                                            '(any any)))))
                                                     ($sc-dispatch
-                                                      #{tmp\ 2127}#
+                                                      #{tmp\ 14377}#
                                                       '(any (any . any)
                                                             any
                                                             .
                                                             each-any)))))
                                                ($sc-dispatch
-                                                 #{tmp\ 2127}#
+                                                 #{tmp\ 14377}#
                                                  '(any any any))))
-                                            #{e\ 2063}#)
-                                           (if (memv #{ftype\ 2095}#
+                                            #{e\ 14313}#)
+                                           (if (memv #{ftype\ 14345}#
                                                      '(define-syntax))
-                                             ((lambda (#{tmp\ 2177}#)
-                                                ((lambda (#{tmp\ 2178}#)
-                                                   (if (if #{tmp\ 2178}#
-                                                         (apply (lambda (#{_\ 
2182}#
-                                                                         
#{name\ 2183}#
-                                                                         
#{val\ 2184}#)
-                                                                  (#{id?\ 666}#
-                                                                    #{name\ 
2183}#))
-                                                                #{tmp\ 2178}#)
+                                             ((lambda (#{tmp\ 14427}#)
+                                                ((lambda (#{tmp\ 14428}#)
+                                                   (if (if #{tmp\ 14428}#
+                                                         (apply (lambda (#{_\ 
14432}#
+                                                                         
#{name\ 14433}#
+                                                                         
#{val\ 14434}#)
+                                                                  (#{id?\ 
12916}#
+                                                                    #{name\ 
14433}#))
+                                                                #{tmp\ 14428}#)
                                                          #f)
-                                                     (apply (lambda (#{_\ 
2188}#
-                                                                     #{name\ 
2189}#
-                                                                     #{val\ 
2190}#)
+                                                     (apply (lambda (#{_\ 
14438}#
+                                                                     #{name\ 
14439}#
+                                                                     #{val\ 
14440}#)
                                                               (values
                                                                 
'define-syntax-form
-                                                                #{name\ 2189}#
-                                                                #{val\ 2190}#
-                                                                #{w\ 2065}#
-                                                                #{s\ 2066}#
-                                                                #{mod\ 2068}#))
-                                                            #{tmp\ 2178}#)
+                                                                #{name\ 14439}#
+                                                                #{val\ 14440}#
+                                                                #{w\ 14315}#
+                                                                #{s\ 14316}#
+                                                                #{mod\ 
14318}#))
+                                                            #{tmp\ 14428}#)
                                                      (syntax-violation
                                                        #f
                                                        "source expression 
failed to match any pattern"
-                                                       #{tmp\ 2177}#)))
+                                                       #{tmp\ 14427}#)))
                                                  ($sc-dispatch
-                                                   #{tmp\ 2177}#
+                                                   #{tmp\ 14427}#
                                                    '(any any any))))
-                                              #{e\ 2063}#)
+                                              #{e\ 14313}#)
                                              (values
                                                'call
                                                #f
-                                               #{e\ 2063}#
-                                               #{w\ 2065}#
-                                               #{s\ 2066}#
-                                               #{mod\ 2068}#))))))))))))))
-                   (if (#{syntax-object?\ 630}# #{e\ 2063}#)
-                     (#{syntax-type\ 747}#
-                       (#{syntax-object-expression\ 632}# #{e\ 2063}#)
-                       #{r\ 2064}#
-                       (#{join-wraps\ 717}#
-                         #{w\ 2065}#
-                         (#{syntax-object-wrap\ 634}# #{e\ 2063}#))
-                       #{s\ 2066}#
-                       #{rib\ 2067}#
-                       (let ((#{t\ 2196}#
-                               (#{syntax-object-module\ 636}# #{e\ 2063}#)))
-                         (if #{t\ 2196}# #{t\ 2196}# #{mod\ 2068}#))
-                       #{for-car?\ 2069}#)
-                     (if (self-evaluating? #{e\ 2063}#)
+                                               #{e\ 14313}#
+                                               #{w\ 14315}#
+                                               #{s\ 14316}#
+                                               #{mod\ 14318}#))))))))))))))
+                   (if (#{syntax-object?\ 12880}# #{e\ 14313}#)
+                     (#{syntax-type\ 12997}#
+                       (#{syntax-object-expression\ 12882}#
+                         #{e\ 14313}#)
+                       #{r\ 14314}#
+                       (#{join-wraps\ 12967}#
+                         #{w\ 14315}#
+                         (#{syntax-object-wrap\ 12884}# #{e\ 14313}#))
+                       #{s\ 14316}#
+                       #{rib\ 14317}#
+                       (let ((#{t\ 14446}#
+                               (#{syntax-object-module\ 12886}# #{e\ 14313}#)))
+                         (if #{t\ 14446}# #{t\ 14446}# #{mod\ 14318}#))
+                       #{for-car?\ 14319}#)
+                     (if (self-evaluating? #{e\ 14313}#)
                        (values
                          'constant
                          #f
-                         #{e\ 2063}#
-                         #{w\ 2065}#
-                         #{s\ 2066}#
-                         #{mod\ 2068}#)
+                         #{e\ 14313}#
+                         #{w\ 14315}#
+                         #{s\ 14316}#
+                         #{mod\ 14318}#)
                        (values
                          'other
                          #f
-                         #{e\ 2063}#
-                         #{w\ 2065}#
-                         #{s\ 2066}#
-                         #{mod\ 2068}#)))))))
-           (#{chi-when-list\ 745}#
-             (lambda (#{e\ 2201}# #{when-list\ 2202}# #{w\ 2203}#)
-               (letrec ((#{f\ 2210}#
-                          (lambda (#{when-list\ 2211}# #{situations\ 2212}#)
-                            (if (null? #{when-list\ 2211}#)
-                              #{situations\ 2212}#
-                              (#{f\ 2210}#
-                                (cdr #{when-list\ 2211}#)
-                                (cons (let ((#{x\ 2214}#
-                                              (car #{when-list\ 2211}#)))
-                                        (if (#{free-id=?\ 725}#
-                                              #{x\ 2214}#
+                         #{e\ 14313}#
+                         #{w\ 14315}#
+                         #{s\ 14316}#
+                         #{mod\ 14318}#)))))))
+           (#{chi-when-list\ 12995}#
+             (lambda (#{e\ 14451}# #{when-list\ 14452}# #{w\ 14453}#)
+               (letrec ((#{f\ 14460}#
+                          (lambda (#{when-list\ 14461}# #{situations\ 14462}#)
+                            (if (null? #{when-list\ 14461}#)
+                              #{situations\ 14462}#
+                              (#{f\ 14460}#
+                                (cdr #{when-list\ 14461}#)
+                                (cons (let ((#{x\ 14464}#
+                                              (car #{when-list\ 14461}#)))
+                                        (if (#{free-id=?\ 12975}#
+                                              #{x\ 14464}#
                                               '#(syntax-object
                                                  compile
                                                  ((top)
@@ -5529,17 +5954,21 @@
                                                   #(ribcage
                                                     #(x)
                                                     #((top))
-                                                    #("i2213"))
+                                                    #("i14463"))
                                                   #(ribcage () () ())
                                                   #(ribcage
                                                     #(f when-list situations)
                                                     #((top) (top) (top))
-                                                    #("i2207" "i2208" "i2209"))
+                                                    #("i14457"
+                                                      "i14458"
+                                                      "i14459"))
                                                   #(ribcage () () ())
                                                   #(ribcage
                                                     #(e when-list w)
                                                     #((top) (top) (top))
-                                                    #("i2204" "i2205" "i2206"))
+                                                    #("i14454"
+                                                      "i14455"
+                                                      "i14456"))
                                                   #(ribcage
                                                     (lambda-var-list
                                                       gen-var
@@ -5657,6 +6086,24 @@
                                                       fx=
                                                       fx-
                                                       fx+
+                                                      make-dynlet
+                                                      make-letrec
+                                                      make-let
+                                                      make-lambda-case
+                                                      make-lambda
+                                                      make-sequence
+                                                      make-application
+                                                      make-conditional
+                                                      make-toplevel-define
+                                                      make-toplevel-set
+                                                      make-toplevel-ref
+                                                      make-module-set
+                                                      make-module-ref
+                                                      make-lexical-set
+                                                      make-lexical-ref
+                                                      make-primitive-ref
+                                                      make-const
+                                                      make-void
                                                       *mode*)
                                                     ((top)
                                                      (top)
@@ -5774,132 +6221,172 @@
                                                      (top)
                                                      (top)
                                                      (top)
+                                                     (top)
+                                                     (top)
+                                                     (top)
+                                                     (top)
+                                                     (top)
+                                                     (top)
+                                                     (top)
+                                                     (top)
+                                                     (top)
+                                                     (top)
+                                                     (top)
+                                                     (top)
+                                                     (top)
+                                                     (top)
+                                                     (top)
+                                                     (top)
+                                                     (top)
+                                                     (top)
                                                      (top))
-                                                    ("i780"
-                                                     "i778"
-                                                     "i776"
-                                                     "i774"
-                                                     "i772"
-                                                     "i770"
-                                                     "i768"
-                                                     "i766"
-                                                     "i764"
-                                                     "i762"
-                                                     "i760"
-                                                     "i758"
-                                                     "i756"
-                                                     "i754"
-                                                     "i752"
-                                                     "i750"
-                                                     "i748"
-                                                     "i746"
-                                                     "i744"
-                                                     "i742"
-                                                     "i740"
-                                                     "i738"
-                                                     "i736"
-                                                     "i734"
-                                                     "i732"
-                                                     "i730"
-                                                     "i728"
-                                                     "i726"
-                                                     "i724"
-                                                     "i722"
-                                                     "i720"
-                                                     "i718"
-                                                     "i716"
-                                                     "i714"
-                                                     "i712"
-                                                     "i710"
-                                                     "i709"
-                                                     "i708"
-                                                     "i706"
-                                                     "i705"
-                                                     "i704"
-                                                     "i703"
-                                                     "i702"
-                                                     "i700"
-                                                     "i698"
-                                                     "i696"
-                                                     "i694"
-                                                     "i692"
-                                                     "i690"
-                                                     "i688"
-                                                     "i686"
-                                                     "i683"
-                                                     "i681"
-                                                     "i680"
-                                                     "i679"
-                                                     "i678"
-                                                     "i677"
-                                                     "i676"
-                                                     "i674"
-                                                     "i672"
-                                                     "i670"
-                                                     "i668"
-                                                     "i667"
-                                                     "i665"
-                                                     "i663"
-                                                     "i661"
-                                                     "i659"
-                                                     "i657"
-                                                     "i655"
-                                                     "i653"
-                                                     "i652"
-                                                     "i650"
-                                                     "i648"
-                                                     "i647"
-                                                     "i646"
-                                                     "i644"
-                                                     "i643"
-                                                     "i641"
-                                                     "i639"
-                                                     "i637"
-                                                     "i635"
-                                                     "i633"
-                                                     "i631"
-                                                     "i629"
-                                                     "i627"
-                                                     "i625"
-                                                     "i623"
-                                                     "i621"
-                                                     "i619"
-                                                     "i617"
-                                                     "i615"
-                                                     "i613"
-                                                     "i611"
-                                                     "i609"
-                                                     "i607"
-                                                     "i605"
-                                                     "i603"
-                                                     "i601"
-                                                     "i599"
-                                                     "i597"
-                                                     "i595"
-                                                     "i593"
-                                                     "i591"
-                                                     "i589"
-                                                     "i587"
-                                                     "i585"
-                                                     "i583"
-                                                     "i581"
-                                                     "i579"
-                                                     "i578"
-                                                     "i576"
-                                                     "i574"
-                                                     "i572"
-                                                     "i570"
-                                                     "i568"
-                                                     "i566"
-                                                     "i564"))
+                                                    ("i13030"
+                                                     "i13028"
+                                                     "i13026"
+                                                     "i13024"
+                                                     "i13022"
+                                                     "i13020"
+                                                     "i13018"
+                                                     "i13016"
+                                                     "i13014"
+                                                     "i13012"
+                                                     "i13010"
+                                                     "i13008"
+                                                     "i13006"
+                                                     "i13004"
+                                                     "i13002"
+                                                     "i13000"
+                                                     "i12998"
+                                                     "i12996"
+                                                     "i12994"
+                                                     "i12992"
+                                                     "i12990"
+                                                     "i12988"
+                                                     "i12986"
+                                                     "i12984"
+                                                     "i12982"
+                                                     "i12980"
+                                                     "i12978"
+                                                     "i12976"
+                                                     "i12974"
+                                                     "i12972"
+                                                     "i12970"
+                                                     "i12968"
+                                                     "i12966"
+                                                     "i12964"
+                                                     "i12962"
+                                                     "i12960"
+                                                     "i12959"
+                                                     "i12958"
+                                                     "i12956"
+                                                     "i12955"
+                                                     "i12954"
+                                                     "i12953"
+                                                     "i12952"
+                                                     "i12950"
+                                                     "i12948"
+                                                     "i12946"
+                                                     "i12944"
+                                                     "i12942"
+                                                     "i12940"
+                                                     "i12938"
+                                                     "i12936"
+                                                     "i12933"
+                                                     "i12931"
+                                                     "i12930"
+                                                     "i12929"
+                                                     "i12928"
+                                                     "i12927"
+                                                     "i12926"
+                                                     "i12924"
+                                                     "i12922"
+                                                     "i12920"
+                                                     "i12918"
+                                                     "i12917"
+                                                     "i12915"
+                                                     "i12913"
+                                                     "i12911"
+                                                     "i12909"
+                                                     "i12907"
+                                                     "i12905"
+                                                     "i12903"
+                                                     "i12902"
+                                                     "i12900"
+                                                     "i12898"
+                                                     "i12897"
+                                                     "i12896"
+                                                     "i12894"
+                                                     "i12893"
+                                                     "i12891"
+                                                     "i12889"
+                                                     "i12887"
+                                                     "i12885"
+                                                     "i12883"
+                                                     "i12881"
+                                                     "i12879"
+                                                     "i12877"
+                                                     "i12875"
+                                                     "i12873"
+                                                     "i12871"
+                                                     "i12869"
+                                                     "i12867"
+                                                     "i12865"
+                                                     "i12863"
+                                                     "i12861"
+                                                     "i12859"
+                                                     "i12857"
+                                                     "i12855"
+                                                     "i12853"
+                                                     "i12851"
+                                                     "i12849"
+                                                     "i12847"
+                                                     "i12845"
+                                                     "i12843"
+                                                     "i12841"
+                                                     "i12839"
+                                                     "i12837"
+                                                     "i12835"
+                                                     "i12833"
+                                                     "i12831"
+                                                     "i12829"
+                                                     "i12828"
+                                                     "i12826"
+                                                     "i12824"
+                                                     "i12822"
+                                                     "i12820"
+                                                     "i12818"
+                                                     "i12816"
+                                                     "i12814"
+                                                     "i12812"
+                                                     "i12810"
+                                                     "i12808"
+                                                     "i12806"
+                                                     "i12804"
+                                                     "i12802"
+                                                     "i12800"
+                                                     "i12798"
+                                                     "i12796"
+                                                     "i12794"
+                                                     "i12792"
+                                                     "i12790"
+                                                     "i12788"
+                                                     "i12786"
+                                                     "i12784"
+                                                     "i12782"
+                                                     "i12780"
+                                                     "i12777"))
                                                   #(ribcage
-                                                    (define-structure and-map*)
-                                                    ((top) (top))
-                                                    ("i467" "i465")))
+                                                    (define-structure
+                                                      
define-expansion-constructors
+                                                      and-map*)
+                                                    ((top) (top) (top))
+                                                    ("i12629"
+                                                     "i12628"
+                                                     "i12626")))
                                                  (hygiene guile)))
                                           'compile
-                                          (if (#{free-id=?\ 725}#
-                                                #{x\ 2214}#
+                                          (if (#{free-id=?\ 12975}#
+                                                #{x\ 14464}#
                                                 '#(syntax-object
                                                    load
                                                    ((top)
@@ -5909,21 +6396,21 @@
                                                     #(ribcage
                                                       #(x)
                                                       #((top))
-                                                      #("i2213"))
+                                                      #("i14463"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(f when-list situations)
                                                       #((top) (top) (top))
-                                                      #("i2207"
-                                                        "i2208"
-                                                        "i2209"))
+                                                      #("i14457"
+                                                        "i14458"
+                                                        "i14459"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(e when-list w)
                                                       #((top) (top) (top))
-                                                      #("i2204"
-                                                        "i2205"
-                                                        "i2206"))
+                                                      #("i14454"
+                                                        "i14455"
+                                                        "i14456"))
                                                     #(ribcage
                                                       (lambda-var-list
                                                         gen-var
@@ -6041,6 +6528,24 @@
                                                         fx=
                                                         fx-
                                                         fx+
+                                                        make-dynlet
+                                                        make-letrec
+                                                        make-let
+                                                        make-lambda-case
+                                                        make-lambda
+                                                        make-sequence
+                                                        make-application
+                                                        make-conditional
+                                                        make-toplevel-define
+                                                        make-toplevel-set
+                                                        make-toplevel-ref
+                                                        make-module-set
+                                                        make-module-ref
+                                                        make-lexical-set
+                                                        make-lexical-ref
+                                                        make-primitive-ref
+                                                        make-const
+                                                        make-void
                                                         *mode*)
                                                       ((top)
                                                        (top)
@@ -6158,133 +6663,172 @@
                                                        (top)
                                                        (top)
                                                        (top)
+                                                       (top)
+                                                       (top)
+                                                       (top)
+                                                       (top)
+                                                       (top)
+                                                       (top)
+                                                       (top)
+                                                       (top)
+                                                       (top)
+                                                       (top)
+                                                       (top)
+                                                       (top)
+                                                       (top)
+                                                       (top)
+                                                       (top)
+                                                       (top)
+                                                       (top)
+                                                       (top)
                                                        (top))
-                                                      ("i780"
-                                                       "i778"
-                                                       "i776"
-                                                       "i774"
-                                                       "i772"
-                                                       "i770"
-                                                       "i768"
-                                                       "i766"
-                                                       "i764"
-                                                       "i762"
-                                                       "i760"
-                                                       "i758"
-                                                       "i756"
-                                                       "i754"
-                                                       "i752"
-                                                       "i750"
-                                                       "i748"
-                                                       "i746"
-                                                       "i744"
-                                                       "i742"
-                                                       "i740"
-                                                       "i738"
-                                                       "i736"
-                                                       "i734"
-                                                       "i732"
-                                                       "i730"
-                                                       "i728"
-                                                       "i726"
-                                                       "i724"
-                                                       "i722"
-                                                       "i720"
-                                                       "i718"
-                                                       "i716"
-                                                       "i714"
-                                                       "i712"
-                                                       "i710"
-                                                       "i709"
-                                                       "i708"
-                                                       "i706"
-                                                       "i705"
-                                                       "i704"
-                                                       "i703"
-                                                       "i702"
-                                                       "i700"
-                                                       "i698"
-                                                       "i696"
-                                                       "i694"
-                                                       "i692"
-                                                       "i690"
-                                                       "i688"
-                                                       "i686"
-                                                       "i683"
-                                                       "i681"
-                                                       "i680"
-                                                       "i679"
-                                                       "i678"
-                                                       "i677"
-                                                       "i676"
-                                                       "i674"
-                                                       "i672"
-                                                       "i670"
-                                                       "i668"
-                                                       "i667"
-                                                       "i665"
-                                                       "i663"
-                                                       "i661"
-                                                       "i659"
-                                                       "i657"
-                                                       "i655"
-                                                       "i653"
-                                                       "i652"
-                                                       "i650"
-                                                       "i648"
-                                                       "i647"
-                                                       "i646"
-                                                       "i644"
-                                                       "i643"
-                                                       "i641"
-                                                       "i639"
-                                                       "i637"
-                                                       "i635"
-                                                       "i633"
-                                                       "i631"
-                                                       "i629"
-                                                       "i627"
-                                                       "i625"
-                                                       "i623"
-                                                       "i621"
-                                                       "i619"
-                                                       "i617"
-                                                       "i615"
-                                                       "i613"
-                                                       "i611"
-                                                       "i609"
-                                                       "i607"
-                                                       "i605"
-                                                       "i603"
-                                                       "i601"
-                                                       "i599"
-                                                       "i597"
-                                                       "i595"
-                                                       "i593"
-                                                       "i591"
-                                                       "i589"
-                                                       "i587"
-                                                       "i585"
-                                                       "i583"
-                                                       "i581"
-                                                       "i579"
-                                                       "i578"
-                                                       "i576"
-                                                       "i574"
-                                                       "i572"
-                                                       "i570"
-                                                       "i568"
-                                                       "i566"
-                                                       "i564"))
+                                                      ("i13030"
+                                                       "i13028"
+                                                       "i13026"
+                                                       "i13024"
+                                                       "i13022"
+                                                       "i13020"
+                                                       "i13018"
+                                                       "i13016"
+                                                       "i13014"
+                                                       "i13012"
+                                                       "i13010"
+                                                       "i13008"
+                                                       "i13006"
+                                                       "i13004"
+                                                       "i13002"
+                                                       "i13000"
+                                                       "i12998"
+                                                       "i12996"
+                                                       "i12994"
+                                                       "i12992"
+                                                       "i12990"
+                                                       "i12988"
+                                                       "i12986"
+                                                       "i12984"
+                                                       "i12982"
+                                                       "i12980"
+                                                       "i12978"
+                                                       "i12976"
+                                                       "i12974"
+                                                       "i12972"
+                                                       "i12970"
+                                                       "i12968"
+                                                       "i12966"
+                                                       "i12964"
+                                                       "i12962"
+                                                       "i12960"
+                                                       "i12959"
+                                                       "i12958"
+                                                       "i12956"
+                                                       "i12955"
+                                                       "i12954"
+                                                       "i12953"
+                                                       "i12952"
+                                                       "i12950"
+                                                       "i12948"
+                                                       "i12946"
+                                                       "i12944"
+                                                       "i12942"
+                                                       "i12940"
+                                                       "i12938"
+                                                       "i12936"
+                                                       "i12933"
+                                                       "i12931"
+                                                       "i12930"
+                                                       "i12929"
+                                                       "i12928"
+                                                       "i12927"
+                                                       "i12926"
+                                                       "i12924"
+                                                       "i12922"
+                                                       "i12920"
+                                                       "i12918"
+                                                       "i12917"
+                                                       "i12915"
+                                                       "i12913"
+                                                       "i12911"
+                                                       "i12909"
+                                                       "i12907"
+                                                       "i12905"
+                                                       "i12903"
+                                                       "i12902"
+                                                       "i12900"
+                                                       "i12898"
+                                                       "i12897"
+                                                       "i12896"
+                                                       "i12894"
+                                                       "i12893"
+                                                       "i12891"
+                                                       "i12889"
+                                                       "i12887"
+                                                       "i12885"
+                                                       "i12883"
+                                                       "i12881"
+                                                       "i12879"
+                                                       "i12877"
+                                                       "i12875"
+                                                       "i12873"
+                                                       "i12871"
+                                                       "i12869"
+                                                       "i12867"
+                                                       "i12865"
+                                                       "i12863"
+                                                       "i12861"
+                                                       "i12859"
+                                                       "i12857"
+                                                       "i12855"
+                                                       "i12853"
+                                                       "i12851"
+                                                       "i12849"
+                                                       "i12847"
+                                                       "i12845"
+                                                       "i12843"
+                                                       "i12841"
+                                                       "i12839"
+                                                       "i12837"
+                                                       "i12835"
+                                                       "i12833"
+                                                       "i12831"
+                                                       "i12829"
+                                                       "i12828"
+                                                       "i12826"
+                                                       "i12824"
+                                                       "i12822"
+                                                       "i12820"
+                                                       "i12818"
+                                                       "i12816"
+                                                       "i12814"
+                                                       "i12812"
+                                                       "i12810"
+                                                       "i12808"
+                                                       "i12806"
+                                                       "i12804"
+                                                       "i12802"
+                                                       "i12800"
+                                                       "i12798"
+                                                       "i12796"
+                                                       "i12794"
+                                                       "i12792"
+                                                       "i12790"
+                                                       "i12788"
+                                                       "i12786"
+                                                       "i12784"
+                                                       "i12782"
+                                                       "i12780"
+                                                       "i12777"))
                                                     #(ribcage
                                                       (define-structure
+                                                        
define-expansion-constructors
                                                         and-map*)
-                                                      ((top) (top))
-                                                      ("i467" "i465")))
+                                                      ((top) (top) (top))
+                                                      ("i12629"
+                                                       "i12628"
+                                                       "i12626")))
                                                    (hygiene guile)))
                                             'load
-                                            (if (#{free-id=?\ 725}#
-                                                  #{x\ 2214}#
+                                            (if (#{free-id=?\ 12975}#
+                                                  #{x\ 14464}#
                                                   '#(syntax-object
                                                      eval
                                                      ((top)
@@ -6294,23 +6838,23 @@
                                                       #(ribcage
                                                         #(x)
                                                         #((top))
-                                                        #("i2213"))
+                                                        #("i14463"))
                                                       #(ribcage () () ())
                                                       #(ribcage
                                                         #(f
                                                           when-list
                                                           situations)
                                                         #((top) (top) (top))
-                                                        #("i2207"
-                                                          "i2208"
-                                                          "i2209"))
+                                                        #("i14457"
+                                                          "i14458"
+                                                          "i14459"))
                                                       #(ribcage () () ())
                                                       #(ribcage
                                                         #(e when-list w)
                                                         #((top) (top) (top))
-                                                        #("i2204"
-                                                          "i2205"
-                                                          "i2206"))
+                                                        #("i14454"
+                                                          "i14455"
+                                                          "i14456"))
                                                       #(ribcage
                                                         (lambda-var-list
                                                           gen-var
@@ -6428,6 +6972,24 @@
                                                           fx=
                                                           fx-
                                                           fx+
+                                                          make-dynlet
+                                                          make-letrec
+                                                          make-let
+                                                          make-lambda-case
+                                                          make-lambda
+                                                          make-sequence
+                                                          make-application
+                                                          make-conditional
+                                                          make-toplevel-define
+                                                          make-toplevel-set
+                                                          make-toplevel-ref
+                                                          make-module-set
+                                                          make-module-ref
+                                                          make-lexical-set
+                                                          make-lexical-ref
+                                                          make-primitive-ref
+                                                          make-const
+                                                          make-void
                                                           *mode*)
                                                         ((top)
                                                          (top)
@@ -6545,133 +7107,172 @@
                                                          (top)
                                                          (top)
                                                          (top)
+                                                         (top)
+                                                         (top)
+                                                         (top)
+                                                         (top)
+                                                         (top)
+                                                         (top)
+                                                         (top)
+                                                         (top)
+                                                         (top)
+                                                         (top)
+                                                         (top)
+                                                         (top)
+                                                         (top)
+                                                         (top)
+                                                         (top)
+                                                         (top)
+                                                         (top)
+                                                         (top)
                                                          (top))
-                                                        ("i780"
-                                                         "i778"
-                                                         "i776"
-                                                         "i774"
-                                                         "i772"
-                                                         "i770"
-                                                         "i768"
-                                                         "i766"
-                                                         "i764"
-                                                         "i762"
-                                                         "i760"
-                                                         "i758"
-                                                         "i756"
-                                                         "i754"
-                                                         "i752"
-                                                         "i750"
-                                                         "i748"
-                                                         "i746"
-                                                         "i744"
-                                                         "i742"
-                                                         "i740"
-                                                         "i738"
-                                                         "i736"
-                                                         "i734"
-                                                         "i732"
-                                                         "i730"
-                                                         "i728"
-                                                         "i726"
-                                                         "i724"
-                                                         "i722"
-                                                         "i720"
-                                                         "i718"
-                                                         "i716"
-                                                         "i714"
-                                                         "i712"
-                                                         "i710"
-                                                         "i709"
-                                                         "i708"
-                                                         "i706"
-                                                         "i705"
-                                                         "i704"
-                                                         "i703"
-                                                         "i702"
-                                                         "i700"
-                                                         "i698"
-                                                         "i696"
-                                                         "i694"
-                                                         "i692"
-                                                         "i690"
-                                                         "i688"
-                                                         "i686"
-                                                         "i683"
-                                                         "i681"
-                                                         "i680"
-                                                         "i679"
-                                                         "i678"
-                                                         "i677"
-                                                         "i676"
-                                                         "i674"
-                                                         "i672"
-                                                         "i670"
-                                                         "i668"
-                                                         "i667"
-                                                         "i665"
-                                                         "i663"
-                                                         "i661"
-                                                         "i659"
-                                                         "i657"
-                                                         "i655"
-                                                         "i653"
-                                                         "i652"
-                                                         "i650"
-                                                         "i648"
-                                                         "i647"
-                                                         "i646"
-                                                         "i644"
-                                                         "i643"
-                                                         "i641"
-                                                         "i639"
-                                                         "i637"
-                                                         "i635"
-                                                         "i633"
-                                                         "i631"
-                                                         "i629"
-                                                         "i627"
-                                                         "i625"
-                                                         "i623"
-                                                         "i621"
-                                                         "i619"
-                                                         "i617"
-                                                         "i615"
-                                                         "i613"
-                                                         "i611"
-                                                         "i609"
-                                                         "i607"
-                                                         "i605"
-                                                         "i603"
-                                                         "i601"
-                                                         "i599"
-                                                         "i597"
-                                                         "i595"
-                                                         "i593"
-                                                         "i591"
-                                                         "i589"
-                                                         "i587"
-                                                         "i585"
-                                                         "i583"
-                                                         "i581"
-                                                         "i579"
-                                                         "i578"
-                                                         "i576"
-                                                         "i574"
-                                                         "i572"
-                                                         "i570"
-                                                         "i568"
-                                                         "i566"
-                                                         "i564"))
+                                                        ("i13030"
+                                                         "i13028"
+                                                         "i13026"
+                                                         "i13024"
+                                                         "i13022"
+                                                         "i13020"
+                                                         "i13018"
+                                                         "i13016"
+                                                         "i13014"
+                                                         "i13012"
+                                                         "i13010"
+                                                         "i13008"
+                                                         "i13006"
+                                                         "i13004"
+                                                         "i13002"
+                                                         "i13000"
+                                                         "i12998"
+                                                         "i12996"
+                                                         "i12994"
+                                                         "i12992"
+                                                         "i12990"
+                                                         "i12988"
+                                                         "i12986"
+                                                         "i12984"
+                                                         "i12982"
+                                                         "i12980"
+                                                         "i12978"
+                                                         "i12976"
+                                                         "i12974"
+                                                         "i12972"
+                                                         "i12970"
+                                                         "i12968"
+                                                         "i12966"
+                                                         "i12964"
+                                                         "i12962"
+                                                         "i12960"
+                                                         "i12959"
+                                                         "i12958"
+                                                         "i12956"
+                                                         "i12955"
+                                                         "i12954"
+                                                         "i12953"
+                                                         "i12952"
+                                                         "i12950"
+                                                         "i12948"
+                                                         "i12946"
+                                                         "i12944"
+                                                         "i12942"
+                                                         "i12940"
+                                                         "i12938"
+                                                         "i12936"
+                                                         "i12933"
+                                                         "i12931"
+                                                         "i12930"
+                                                         "i12929"
+                                                         "i12928"
+                                                         "i12927"
+                                                         "i12926"
+                                                         "i12924"
+                                                         "i12922"
+                                                         "i12920"
+                                                         "i12918"
+                                                         "i12917"
+                                                         "i12915"
+                                                         "i12913"
+                                                         "i12911"
+                                                         "i12909"
+                                                         "i12907"
+                                                         "i12905"
+                                                         "i12903"
+                                                         "i12902"
+                                                         "i12900"
+                                                         "i12898"
+                                                         "i12897"
+                                                         "i12896"
+                                                         "i12894"
+                                                         "i12893"
+                                                         "i12891"
+                                                         "i12889"
+                                                         "i12887"
+                                                         "i12885"
+                                                         "i12883"
+                                                         "i12881"
+                                                         "i12879"
+                                                         "i12877"
+                                                         "i12875"
+                                                         "i12873"
+                                                         "i12871"
+                                                         "i12869"
+                                                         "i12867"
+                                                         "i12865"
+                                                         "i12863"
+                                                         "i12861"
+                                                         "i12859"
+                                                         "i12857"
+                                                         "i12855"
+                                                         "i12853"
+                                                         "i12851"
+                                                         "i12849"
+                                                         "i12847"
+                                                         "i12845"
+                                                         "i12843"
+                                                         "i12841"
+                                                         "i12839"
+                                                         "i12837"
+                                                         "i12835"
+                                                         "i12833"
+                                                         "i12831"
+                                                         "i12829"
+                                                         "i12828"
+                                                         "i12826"
+                                                         "i12824"
+                                                         "i12822"
+                                                         "i12820"
+                                                         "i12818"
+                                                         "i12816"
+                                                         "i12814"
+                                                         "i12812"
+                                                         "i12810"
+                                                         "i12808"
+                                                         "i12806"
+                                                         "i12804"
+                                                         "i12802"
+                                                         "i12800"
+                                                         "i12798"
+                                                         "i12796"
+                                                         "i12794"
+                                                         "i12792"
+                                                         "i12790"
+                                                         "i12788"
+                                                         "i12786"
+                                                         "i12784"
+                                                         "i12782"
+                                                         "i12780"
+                                                         "i12777"))
                                                       #(ribcage
                                                         (define-structure
+                                                          
define-expansion-constructors
                                                           and-map*)
-                                                        ((top) (top))
-                                                        ("i467" "i465")))
+                                                        ((top) (top) (top))
+                                                        ("i12629"
+                                                         "i12628"
+                                                         "i12626")))
                                                      (hygiene guile)))
                                               'eval
-                                              (if (#{free-id=?\ 725}#
-                                                    #{x\ 2214}#
+                                              (if (#{free-id=?\ 12975}#
+                                                    #{x\ 14464}#
                                                     '#(syntax-object
                                                        expand
                                                        ((top)
@@ -6681,23 +7282,23 @@
                                                         #(ribcage
                                                           #(x)
                                                           #((top))
-                                                          #("i2213"))
+                                                          #("i14463"))
                                                         #(ribcage () () ())
                                                         #(ribcage
                                                           #(f
                                                             when-list
                                                             situations)
                                                           #((top) (top) (top))
-                                                          #("i2207"
-                                                            "i2208"
-                                                            "i2209"))
+                                                          #("i14457"
+                                                            "i14458"
+                                                            "i14459"))
                                                         #(ribcage () () ())
                                                         #(ribcage
                                                           #(e when-list w)
                                                           #((top) (top) (top))
-                                                          #("i2204"
-                                                            "i2205"
-                                                            "i2206"))
+                                                          #("i14454"
+                                                            "i14455"
+                                                            "i14456"))
                                                         #(ribcage
                                                           (lambda-var-list
                                                             gen-var
@@ -6815,6 +7416,24 @@
                                                             fx=
                                                             fx-
                                                             fx+
+                                                            make-dynlet
+                                                            make-letrec
+                                                            make-let
+                                                            make-lambda-case
+                                                            make-lambda
+                                                            make-sequence
+                                                            make-application
+                                                            make-conditional
+                                                            
make-toplevel-define
+                                                            make-toplevel-set
+                                                            make-toplevel-ref
+                                                            make-module-set
+                                                            make-module-ref
+                                                            make-lexical-set
+                                                            make-lexical-ref
+                                                            make-primitive-ref
+                                                            make-const
+                                                            make-void
                                                             *mode*)
                                                           ((top)
                                                            (top)
@@ -6932,2466 +7551,2547 @@
                                                            (top)
                                                            (top)
                                                            (top)
+                                                           (top)
+                                                           (top)
+                                                           (top)
+                                                           (top)
+                                                           (top)
+                                                           (top)
+                                                           (top)
+                                                           (top)
+                                                           (top)
+                                                           (top)
+                                                           (top)
+                                                           (top)
+                                                           (top)
+                                                           (top)
+                                                           (top)
+                                                           (top)
+                                                           (top)
+                                                           (top)
                                                            (top))
-                                                          ("i780"
-                                                           "i778"
-                                                           "i776"
-                                                           "i774"
-                                                           "i772"
-                                                           "i770"
-                                                           "i768"
-                                                           "i766"
-                                                           "i764"
-                                                           "i762"
-                                                           "i760"
-                                                           "i758"
-                                                           "i756"
-                                                           "i754"
-                                                           "i752"
-                                                           "i750"
-                                                           "i748"
-                                                           "i746"
-                                                           "i744"
-                                                           "i742"
-                                                           "i740"
-                                                           "i738"
-                                                           "i736"
-                                                           "i734"
-                                                           "i732"
-                                                           "i730"
-                                                           "i728"
-                                                           "i726"
-                                                           "i724"
-                                                           "i722"
-                                                           "i720"
-                                                           "i718"
-                                                           "i716"
-                                                           "i714"
-                                                           "i712"
-                                                           "i710"
-                                                           "i709"
-                                                           "i708"
-                                                           "i706"
-                                                           "i705"
-                                                           "i704"
-                                                           "i703"
-                                                           "i702"
-                                                           "i700"
-                                                           "i698"
-                                                           "i696"
-                                                           "i694"
-                                                           "i692"
-                                                           "i690"
-                                                           "i688"
-                                                           "i686"
-                                                           "i683"
-                                                           "i681"
-                                                           "i680"
-                                                           "i679"
-                                                           "i678"
-                                                           "i677"
-                                                           "i676"
-                                                           "i674"
-                                                           "i672"
-                                                           "i670"
-                                                           "i668"
-                                                           "i667"
-                                                           "i665"
-                                                           "i663"
-                                                           "i661"
-                                                           "i659"
-                                                           "i657"
-                                                           "i655"
-                                                           "i653"
-                                                           "i652"
-                                                           "i650"
-                                                           "i648"
-                                                           "i647"
-                                                           "i646"
-                                                           "i644"
-                                                           "i643"
-                                                           "i641"
-                                                           "i639"
-                                                           "i637"
-                                                           "i635"
-                                                           "i633"
-                                                           "i631"
-                                                           "i629"
-                                                           "i627"
-                                                           "i625"
-                                                           "i623"
-                                                           "i621"
-                                                           "i619"
-                                                           "i617"
-                                                           "i615"
-                                                           "i613"
-                                                           "i611"
-                                                           "i609"
-                                                           "i607"
-                                                           "i605"
-                                                           "i603"
-                                                           "i601"
-                                                           "i599"
-                                                           "i597"
-                                                           "i595"
-                                                           "i593"
-                                                           "i591"
-                                                           "i589"
-                                                           "i587"
-                                                           "i585"
-                                                           "i583"
-                                                           "i581"
-                                                           "i579"
-                                                           "i578"
-                                                           "i576"
-                                                           "i574"
-                                                           "i572"
-                                                           "i570"
-                                                           "i568"
-                                                           "i566"
-                                                           "i564"))
+                                                          ("i13030"
+                                                           "i13028"
+                                                           "i13026"
+                                                           "i13024"
+                                                           "i13022"
+                                                           "i13020"
+                                                           "i13018"
+                                                           "i13016"
+                                                           "i13014"
+                                                           "i13012"
+                                                           "i13010"
+                                                           "i13008"
+                                                           "i13006"
+                                                           "i13004"
+                                                           "i13002"
+                                                           "i13000"
+                                                           "i12998"
+                                                           "i12996"
+                                                           "i12994"
+                                                           "i12992"
+                                                           "i12990"
+                                                           "i12988"
+                                                           "i12986"
+                                                           "i12984"
+                                                           "i12982"
+                                                           "i12980"
+                                                           "i12978"
+                                                           "i12976"
+                                                           "i12974"
+                                                           "i12972"
+                                                           "i12970"
+                                                           "i12968"
+                                                           "i12966"
+                                                           "i12964"
+                                                           "i12962"
+                                                           "i12960"
+                                                           "i12959"
+                                                           "i12958"
+                                                           "i12956"
+                                                           "i12955"
+                                                           "i12954"
+                                                           "i12953"
+                                                           "i12952"
+                                                           "i12950"
+                                                           "i12948"
+                                                           "i12946"
+                                                           "i12944"
+                                                           "i12942"
+                                                           "i12940"
+                                                           "i12938"
+                                                           "i12936"
+                                                           "i12933"
+                                                           "i12931"
+                                                           "i12930"
+                                                           "i12929"
+                                                           "i12928"
+                                                           "i12927"
+                                                           "i12926"
+                                                           "i12924"
+                                                           "i12922"
+                                                           "i12920"
+                                                           "i12918"
+                                                           "i12917"
+                                                           "i12915"
+                                                           "i12913"
+                                                           "i12911"
+                                                           "i12909"
+                                                           "i12907"
+                                                           "i12905"
+                                                           "i12903"
+                                                           "i12902"
+                                                           "i12900"
+                                                           "i12898"
+                                                           "i12897"
+                                                           "i12896"
+                                                           "i12894"
+                                                           "i12893"
+                                                           "i12891"
+                                                           "i12889"
+                                                           "i12887"
+                                                           "i12885"
+                                                           "i12883"
+                                                           "i12881"
+                                                           "i12879"
+                                                           "i12877"
+                                                           "i12875"
+                                                           "i12873"
+                                                           "i12871"
+                                                           "i12869"
+                                                           "i12867"
+                                                           "i12865"
+                                                           "i12863"
+                                                           "i12861"
+                                                           "i12859"
+                                                           "i12857"
+                                                           "i12855"
+                                                           "i12853"
+                                                           "i12851"
+                                                           "i12849"
+                                                           "i12847"
+                                                           "i12845"
+                                                           "i12843"
+                                                           "i12841"
+                                                           "i12839"
+                                                           "i12837"
+                                                           "i12835"
+                                                           "i12833"
+                                                           "i12831"
+                                                           "i12829"
+                                                           "i12828"
+                                                           "i12826"
+                                                           "i12824"
+                                                           "i12822"
+                                                           "i12820"
+                                                           "i12818"
+                                                           "i12816"
+                                                           "i12814"
+                                                           "i12812"
+                                                           "i12810"
+                                                           "i12808"
+                                                           "i12806"
+                                                           "i12804"
+                                                           "i12802"
+                                                           "i12800"
+                                                           "i12798"
+                                                           "i12796"
+                                                           "i12794"
+                                                           "i12792"
+                                                           "i12790"
+                                                           "i12788"
+                                                           "i12786"
+                                                           "i12784"
+                                                           "i12782"
+                                                           "i12780"
+                                                           "i12777"))
                                                         #(ribcage
                                                           (define-structure
+                                                            
define-expansion-constructors
                                                             and-map*)
-                                                          ((top) (top))
-                                                          ("i467" "i465")))
+                                                          ((top) (top) (top))
+                                                          ("i12629"
+                                                           "i12628"
+                                                           "i12626")))
                                                        (hygiene guile)))
                                                 'expand
                                                 (syntax-violation
                                                   'eval-when
                                                   "invalid situation"
-                                                  #{e\ 2201}#
-                                                  (#{wrap\ 735}#
-                                                    #{x\ 2214}#
-                                                    #{w\ 2203}#
+                                                  #{e\ 14451}#
+                                                  (#{wrap\ 12985}#
+                                                    #{x\ 14464}#
+                                                    #{w\ 14453}#
                                                     #f)))))))
-                                      #{situations\ 2212}#))))))
-                 (#{f\ 2210}# #{when-list\ 2202}# (quote ())))))
-           (#{chi-install-global\ 743}#
-             (lambda (#{name\ 2224}# #{e\ 2225}#)
-               (#{build-global-definition\ 606}#
+                                      #{situations\ 14462}#))))))
+                 (#{f\ 14460}# #{when-list\ 14452}# (quote ())))))
+           (#{chi-install-global\ 12993}#
+             (lambda (#{name\ 14474}# #{e\ 14475}#)
+               (#{build-global-definition\ 12856}#
                  #f
-                 #{name\ 2224}#
-                 (#{build-application\ 588}#
+                 #{name\ 14474}#
+                 (#{build-application\ 12838}#
                    #f
-                   (#{build-primref\ 614}#
+                   (#{build-primref\ 12864}#
                      #f
                      'make-syntax-transformer)
-                   (list (#{build-data\ 616}# #f #{name\ 2224}#)
-                         (#{build-data\ 616}# #f (quote macro))
-                         (#{build-application\ 588}#
+                   (list (#{build-data\ 12866}# #f #{name\ 14474}#)
+                         (#{build-data\ 12866}# #f (quote macro))
+                         (#{build-application\ 12838}#
                            #f
-                           (#{build-primref\ 614}# #f (quote cons))
-                           (list #{e\ 2225}#
-                                 (#{build-application\ 588}#
+                           (#{build-primref\ 12864}# #f (quote cons))
+                           (list #{e\ 14475}#
+                                 (#{build-application\ 12838}#
                                    #f
-                                   (#{build-primref\ 614}#
+                                   (#{build-primref\ 12864}#
                                      #f
                                      'module-name)
-                                   (list (#{build-application\ 588}#
+                                   (list (#{build-application\ 12838}#
                                            #f
-                                           (#{build-primref\ 614}#
+                                           (#{build-primref\ 12864}#
                                              #f
                                              'current-module)
                                            '()))))))))))
-           (#{chi-top-sequence\ 741}#
-             (lambda (#{body\ 2239}#
-                      #{r\ 2240}#
-                      #{w\ 2241}#
-                      #{s\ 2242}#
-                      #{m\ 2243}#
-                      #{esew\ 2244}#
-                      #{mod\ 2245}#)
-               (#{build-sequence\ 618}#
-                 #{s\ 2242}#
-                 (letrec ((#{dobody\ 2261}#
-                            (lambda (#{body\ 2262}#
-                                     #{r\ 2263}#
-                                     #{w\ 2264}#
-                                     #{m\ 2265}#
-                                     #{esew\ 2266}#
-                                     #{mod\ 2267}#
-                                     #{out\ 2268}#)
-                              (if (null? #{body\ 2262}#)
-                                (reverse #{out\ 2268}#)
-                                (#{dobody\ 2261}#
-                                  (cdr #{body\ 2262}#)
-                                  #{r\ 2263}#
-                                  #{w\ 2264}#
-                                  #{m\ 2265}#
-                                  #{esew\ 2266}#
-                                  #{mod\ 2267}#
-                                  (cons (#{chi-top\ 749}#
-                                          (car #{body\ 2262}#)
-                                          #{r\ 2263}#
-                                          #{w\ 2264}#
-                                          #{m\ 2265}#
-                                          #{esew\ 2266}#
-                                          #{mod\ 2267}#)
-                                        #{out\ 2268}#))))))
-                   (#{dobody\ 2261}#
-                     #{body\ 2239}#
-                     #{r\ 2240}#
-                     #{w\ 2241}#
-                     #{m\ 2243}#
-                     #{esew\ 2244}#
-                     #{mod\ 2245}#
+           (#{chi-top-sequence\ 12991}#
+             (lambda (#{body\ 14489}#
+                      #{r\ 14490}#
+                      #{w\ 14491}#
+                      #{s\ 14492}#
+                      #{m\ 14493}#
+                      #{esew\ 14494}#
+                      #{mod\ 14495}#)
+               (#{build-sequence\ 12868}#
+                 #{s\ 14492}#
+                 (letrec ((#{dobody\ 14511}#
+                            (lambda (#{body\ 14512}#
+                                     #{r\ 14513}#
+                                     #{w\ 14514}#
+                                     #{m\ 14515}#
+                                     #{esew\ 14516}#
+                                     #{mod\ 14517}#
+                                     #{out\ 14518}#)
+                              (if (null? #{body\ 14512}#)
+                                (reverse #{out\ 14518}#)
+                                (#{dobody\ 14511}#
+                                  (cdr #{body\ 14512}#)
+                                  #{r\ 14513}#
+                                  #{w\ 14514}#
+                                  #{m\ 14515}#
+                                  #{esew\ 14516}#
+                                  #{mod\ 14517}#
+                                  (cons (#{chi-top\ 12999}#
+                                          (car #{body\ 14512}#)
+                                          #{r\ 14513}#
+                                          #{w\ 14514}#
+                                          #{m\ 14515}#
+                                          #{esew\ 14516}#
+                                          #{mod\ 14517}#)
+                                        #{out\ 14518}#))))))
+                   (#{dobody\ 14511}#
+                     #{body\ 14489}#
+                     #{r\ 14490}#
+                     #{w\ 14491}#
+                     #{m\ 14493}#
+                     #{esew\ 14494}#
+                     #{mod\ 14495}#
                      '())))))
-           (#{chi-sequence\ 739}#
-             (lambda (#{body\ 2269}#
-                      #{r\ 2270}#
-                      #{w\ 2271}#
-                      #{s\ 2272}#
-                      #{mod\ 2273}#)
-               (#{build-sequence\ 618}#
-                 #{s\ 2272}#
-                 (letrec ((#{dobody\ 2284}#
-                            (lambda (#{body\ 2285}#
-                                     #{r\ 2286}#
-                                     #{w\ 2287}#
-                                     #{mod\ 2288}#)
-                              (if (null? #{body\ 2285}#)
+           (#{chi-sequence\ 12989}#
+             (lambda (#{body\ 14519}#
+                      #{r\ 14520}#
+                      #{w\ 14521}#
+                      #{s\ 14522}#
+                      #{mod\ 14523}#)
+               (#{build-sequence\ 12868}#
+                 #{s\ 14522}#
+                 (letrec ((#{dobody\ 14534}#
+                            (lambda (#{body\ 14535}#
+                                     #{r\ 14536}#
+                                     #{w\ 14537}#
+                                     #{mod\ 14538}#)
+                              (if (null? #{body\ 14535}#)
                                 '()
-                                (let ((#{first\ 2290}#
-                                        (#{chi\ 751}#
-                                          (car #{body\ 2285}#)
-                                          #{r\ 2286}#
-                                          #{w\ 2287}#
-                                          #{mod\ 2288}#)))
-                                  (cons #{first\ 2290}#
-                                        (#{dobody\ 2284}#
-                                          (cdr #{body\ 2285}#)
-                                          #{r\ 2286}#
-                                          #{w\ 2287}#
-                                          #{mod\ 2288}#)))))))
-                   (#{dobody\ 2284}#
-                     #{body\ 2269}#
-                     #{r\ 2270}#
-                     #{w\ 2271}#
-                     #{mod\ 2273}#)))))
-           (#{source-wrap\ 737}#
-             (lambda (#{x\ 2291}#
-                      #{w\ 2292}#
-                      #{s\ 2293}#
-                      #{defmod\ 2294}#)
-               (#{wrap\ 735}#
-                 (#{decorate-source\ 584}#
-                   #{x\ 2291}#
-                   #{s\ 2293}#)
-                 #{w\ 2292}#
-                 #{defmod\ 2294}#)))
-           (#{wrap\ 735}#
-             (lambda (#{x\ 2299}# #{w\ 2300}# #{defmod\ 2301}#)
-               (if (if (null? (#{wrap-marks\ 673}# #{w\ 2300}#))
-                     (null? (#{wrap-subst\ 675}# #{w\ 2300}#))
+                                (let ((#{first\ 14540}#
+                                        (#{chi\ 13001}#
+                                          (car #{body\ 14535}#)
+                                          #{r\ 14536}#
+                                          #{w\ 14537}#
+                                          #{mod\ 14538}#)))
+                                  (cons #{first\ 14540}#
+                                        (#{dobody\ 14534}#
+                                          (cdr #{body\ 14535}#)
+                                          #{r\ 14536}#
+                                          #{w\ 14537}#
+                                          #{mod\ 14538}#)))))))
+                   (#{dobody\ 14534}#
+                     #{body\ 14519}#
+                     #{r\ 14520}#
+                     #{w\ 14521}#
+                     #{mod\ 14523}#)))))
+           (#{source-wrap\ 12987}#
+             (lambda (#{x\ 14541}#
+                      #{w\ 14542}#
+                      #{s\ 14543}#
+                      #{defmod\ 14544}#)
+               (#{wrap\ 12985}#
+                 (#{decorate-source\ 12834}#
+                   #{x\ 14541}#
+                   #{s\ 14543}#)
+                 #{w\ 14542}#
+                 #{defmod\ 14544}#)))
+           (#{wrap\ 12985}#
+             (lambda (#{x\ 14549}# #{w\ 14550}# #{defmod\ 14551}#)
+               (if (if (null? (#{wrap-marks\ 12923}# #{w\ 14550}#))
+                     (null? (#{wrap-subst\ 12925}# #{w\ 14550}#))
                      #f)
-                 #{x\ 2299}#
-                 (if (#{syntax-object?\ 630}# #{x\ 2299}#)
-                   (#{make-syntax-object\ 628}#
-                     (#{syntax-object-expression\ 632}# #{x\ 2299}#)
-                     (#{join-wraps\ 717}#
-                       #{w\ 2300}#
-                       (#{syntax-object-wrap\ 634}# #{x\ 2299}#))
-                     (#{syntax-object-module\ 636}# #{x\ 2299}#))
-                   (if (null? #{x\ 2299}#)
-                     #{x\ 2299}#
-                     (#{make-syntax-object\ 628}#
-                       #{x\ 2299}#
-                       #{w\ 2300}#
-                       #{defmod\ 2301}#))))))
-           (#{bound-id-member?\ 733}#
-             (lambda (#{x\ 2314}# #{list\ 2315}#)
-               (if (not (null? #{list\ 2315}#))
-                 (let ((#{t\ 2322}#
-                         (#{bound-id=?\ 727}#
-                           #{x\ 2314}#
-                           (car #{list\ 2315}#))))
-                   (if #{t\ 2322}#
-                     #{t\ 2322}#
-                     (#{bound-id-member?\ 733}#
-                       #{x\ 2314}#
-                       (cdr #{list\ 2315}#))))
+                 #{x\ 14549}#
+                 (if (#{syntax-object?\ 12880}# #{x\ 14549}#)
+                   (#{make-syntax-object\ 12878}#
+                     (#{syntax-object-expression\ 12882}#
+                       #{x\ 14549}#)
+                     (#{join-wraps\ 12967}#
+                       #{w\ 14550}#
+                       (#{syntax-object-wrap\ 12884}# #{x\ 14549}#))
+                     (#{syntax-object-module\ 12886}# #{x\ 14549}#))
+                   (if (null? #{x\ 14549}#)
+                     #{x\ 14549}#
+                     (#{make-syntax-object\ 12878}#
+                       #{x\ 14549}#
+                       #{w\ 14550}#
+                       #{defmod\ 14551}#))))))
+           (#{bound-id-member?\ 12983}#
+             (lambda (#{x\ 14564}# #{list\ 14565}#)
+               (if (not (null? #{list\ 14565}#))
+                 (let ((#{t\ 14572}#
+                         (#{bound-id=?\ 12977}#
+                           #{x\ 14564}#
+                           (car #{list\ 14565}#))))
+                   (if #{t\ 14572}#
+                     #{t\ 14572}#
+                     (#{bound-id-member?\ 12983}#
+                       #{x\ 14564}#
+                       (cdr #{list\ 14565}#))))
                  #f)))
-           (#{distinct-bound-ids?\ 731}#
-             (lambda (#{ids\ 2324}#)
-               (letrec ((#{distinct?\ 2328}#
-                          (lambda (#{ids\ 2329}#)
-                            (let ((#{t\ 2332}# (null? #{ids\ 2329}#)))
-                              (if #{t\ 2332}#
-                                #{t\ 2332}#
-                                (if (not (#{bound-id-member?\ 733}#
-                                           (car #{ids\ 2329}#)
-                                           (cdr #{ids\ 2329}#)))
-                                  (#{distinct?\ 2328}# (cdr #{ids\ 2329}#))
+           (#{distinct-bound-ids?\ 12981}#
+             (lambda (#{ids\ 14574}#)
+               (letrec ((#{distinct?\ 14578}#
+                          (lambda (#{ids\ 14579}#)
+                            (let ((#{t\ 14582}# (null? #{ids\ 14579}#)))
+                              (if #{t\ 14582}#
+                                #{t\ 14582}#
+                                (if (not (#{bound-id-member?\ 12983}#
+                                           (car #{ids\ 14579}#)
+                                           (cdr #{ids\ 14579}#)))
+                                  (#{distinct?\ 14578}# (cdr #{ids\ 14579}#))
                                   #f))))))
-                 (#{distinct?\ 2328}# #{ids\ 2324}#))))
-           (#{valid-bound-ids?\ 729}#
-             (lambda (#{ids\ 2336}#)
-               (if (letrec ((#{all-ids?\ 2341}#
-                              (lambda (#{ids\ 2342}#)
-                                (let ((#{t\ 2345}# (null? #{ids\ 2342}#)))
-                                  (if #{t\ 2345}#
-                                    #{t\ 2345}#
-                                    (if (#{id?\ 666}# (car #{ids\ 2342}#))
-                                      (#{all-ids?\ 2341}# (cdr #{ids\ 2342}#))
+                 (#{distinct?\ 14578}# #{ids\ 14574}#))))
+           (#{valid-bound-ids?\ 12979}#
+             (lambda (#{ids\ 14586}#)
+               (if (letrec ((#{all-ids?\ 14591}#
+                              (lambda (#{ids\ 14592}#)
+                                (let ((#{t\ 14595}# (null? #{ids\ 14592}#)))
+                                  (if #{t\ 14595}#
+                                    #{t\ 14595}#
+                                    (if (#{id?\ 12916}# (car #{ids\ 14592}#))
+                                      (#{all-ids?\ 14591}#
+                                        (cdr #{ids\ 14592}#))
                                       #f))))))
-                     (#{all-ids?\ 2341}# #{ids\ 2336}#))
-                 (#{distinct-bound-ids?\ 731}# #{ids\ 2336}#)
+                     (#{all-ids?\ 14591}# #{ids\ 14586}#))
+                 (#{distinct-bound-ids?\ 12981}# #{ids\ 14586}#)
                  #f)))
-           (#{bound-id=?\ 727}#
-             (lambda (#{i\ 2350}# #{j\ 2351}#)
-               (if (if (#{syntax-object?\ 630}# #{i\ 2350}#)
-                     (#{syntax-object?\ 630}# #{j\ 2351}#)
+           (#{bound-id=?\ 12977}#
+             (lambda (#{i\ 14600}# #{j\ 14601}#)
+               (if (if (#{syntax-object?\ 12880}# #{i\ 14600}#)
+                     (#{syntax-object?\ 12880}# #{j\ 14601}#)
                      #f)
-                 (if (eq? (#{syntax-object-expression\ 632}# #{i\ 2350}#)
-                          (#{syntax-object-expression\ 632}# #{j\ 2351}#))
-                   (#{same-marks?\ 721}#
-                     (#{wrap-marks\ 673}#
-                       (#{syntax-object-wrap\ 634}# #{i\ 2350}#))
-                     (#{wrap-marks\ 673}#
-                       (#{syntax-object-wrap\ 634}# #{j\ 2351}#)))
+                 (if (eq? (#{syntax-object-expression\ 12882}#
+                            #{i\ 14600}#)
+                          (#{syntax-object-expression\ 12882}#
+                            #{j\ 14601}#))
+                   (#{same-marks?\ 12971}#
+                     (#{wrap-marks\ 12923}#
+                       (#{syntax-object-wrap\ 12884}# #{i\ 14600}#))
+                     (#{wrap-marks\ 12923}#
+                       (#{syntax-object-wrap\ 12884}# #{j\ 14601}#)))
                    #f)
-                 (eq? #{i\ 2350}# #{j\ 2351}#))))
-           (#{free-id=?\ 725}#
-             (lambda (#{i\ 2358}# #{j\ 2359}#)
-               (if (eq? (let ((#{x\ 2365}# #{i\ 2358}#))
-                          (if (#{syntax-object?\ 630}# #{x\ 2365}#)
-                            (#{syntax-object-expression\ 632}# #{x\ 2365}#)
-                            #{x\ 2365}#))
-                        (let ((#{x\ 2368}# #{j\ 2359}#))
-                          (if (#{syntax-object?\ 630}# #{x\ 2368}#)
-                            (#{syntax-object-expression\ 632}# #{x\ 2368}#)
-                            #{x\ 2368}#)))
-                 (eq? (#{id-var-name\ 723}# #{i\ 2358}# (quote (())))
-                      (#{id-var-name\ 723}# #{j\ 2359}# (quote (()))))
+                 (eq? #{i\ 14600}# #{j\ 14601}#))))
+           (#{free-id=?\ 12975}#
+             (lambda (#{i\ 14608}# #{j\ 14609}#)
+               (if (eq? (let ((#{x\ 14615}# #{i\ 14608}#))
+                          (if (#{syntax-object?\ 12880}# #{x\ 14615}#)
+                            (#{syntax-object-expression\ 12882}#
+                              #{x\ 14615}#)
+                            #{x\ 14615}#))
+                        (let ((#{x\ 14618}# #{j\ 14609}#))
+                          (if (#{syntax-object?\ 12880}# #{x\ 14618}#)
+                            (#{syntax-object-expression\ 12882}#
+                              #{x\ 14618}#)
+                            #{x\ 14618}#)))
+                 (eq? (#{id-var-name\ 12973}#
+                        #{i\ 14608}#
+                        '(()))
+                      (#{id-var-name\ 12973}#
+                        #{j\ 14609}#
+                        '(())))
                  #f)))
-           (#{id-var-name\ 723}#
-             (lambda (#{id\ 2372}# #{w\ 2373}#)
-               (letrec ((#{search-vector-rib\ 2382}#
-                          (lambda (#{sym\ 2394}#
-                                   #{subst\ 2395}#
-                                   #{marks\ 2396}#
-                                   #{symnames\ 2397}#
-                                   #{ribcage\ 2398}#)
-                            (let ((#{n\ 2405}#
-                                    (vector-length #{symnames\ 2397}#)))
-                              (letrec ((#{f\ 2408}#
-                                         (lambda (#{i\ 2409}#)
-                                           (if (#{fx=\ 571}#
-                                                 #{i\ 2409}#
-                                                 #{n\ 2405}#)
-                                             (#{search\ 2378}#
-                                               #{sym\ 2394}#
-                                               (cdr #{subst\ 2395}#)
-                                               #{marks\ 2396}#)
+           (#{id-var-name\ 12973}#
+             (lambda (#{id\ 14622}# #{w\ 14623}#)
+               (letrec ((#{search-vector-rib\ 14632}#
+                          (lambda (#{sym\ 14644}#
+                                   #{subst\ 14645}#
+                                   #{marks\ 14646}#
+                                   #{symnames\ 14647}#
+                                   #{ribcage\ 14648}#)
+                            (let ((#{n\ 14655}#
+                                    (vector-length #{symnames\ 14647}#)))
+                              (letrec ((#{f\ 14658}#
+                                         (lambda (#{i\ 14659}#)
+                                           (if (#{fx=\ 12821}#
+                                                 #{i\ 14659}#
+                                                 #{n\ 14655}#)
+                                             (#{search\ 14628}#
+                                               #{sym\ 14644}#
+                                               (cdr #{subst\ 14645}#)
+                                               #{marks\ 14646}#)
                                              (if (if (eq? (vector-ref
-                                                            #{symnames\ 2397}#
-                                                            #{i\ 2409}#)
-                                                          #{sym\ 2394}#)
-                                                   (#{same-marks?\ 721}#
-                                                     #{marks\ 2396}#
+                                                            #{symnames\ 14647}#
+                                                            #{i\ 14659}#)
+                                                          #{sym\ 14644}#)
+                                                   (#{same-marks?\ 12971}#
+                                                     #{marks\ 14646}#
                                                      (vector-ref
-                                                       (#{ribcage-marks\ 693}#
-                                                         #{ribcage\ 2398}#)
-                                                       #{i\ 2409}#))
+                                                       (#{ribcage-marks\ 
12943}#
+                                                         #{ribcage\ 14648}#)
+                                                       #{i\ 14659}#))
                                                    #f)
                                                (values
                                                  (vector-ref
-                                                   (#{ribcage-labels\ 695}#
-                                                     #{ribcage\ 2398}#)
-                                                   #{i\ 2409}#)
-                                                 #{marks\ 2396}#)
-                                               (#{f\ 2408}#
-                                                 (#{fx+\ 567}#
-                                                   #{i\ 2409}#
+                                                   (#{ribcage-labels\ 12945}#
+                                                     #{ribcage\ 14648}#)
+                                                   #{i\ 14659}#)
+                                                 #{marks\ 14646}#)
+                                               (#{f\ 14658}#
+                                                 (#{fx+\ 12817}#
+                                                   #{i\ 14659}#
                                                    1)))))))
-                                (#{f\ 2408}# 0)))))
-                        (#{search-list-rib\ 2380}#
-                          (lambda (#{sym\ 2417}#
-                                   #{subst\ 2418}#
-                                   #{marks\ 2419}#
-                                   #{symnames\ 2420}#
-                                   #{ribcage\ 2421}#)
-                            (letrec ((#{f\ 2430}#
-                                       (lambda (#{symnames\ 2431}# #{i\ 2432}#)
-                                         (if (null? #{symnames\ 2431}#)
-                                           (#{search\ 2378}#
-                                             #{sym\ 2417}#
-                                             (cdr #{subst\ 2418}#)
-                                             #{marks\ 2419}#)
-                                           (if (if (eq? (car #{symnames\ 
2431}#)
-                                                        #{sym\ 2417}#)
-                                                 (#{same-marks?\ 721}#
-                                                   #{marks\ 2419}#
+                                (#{f\ 14658}# 0)))))
+                        (#{search-list-rib\ 14630}#
+                          (lambda (#{sym\ 14667}#
+                                   #{subst\ 14668}#
+                                   #{marks\ 14669}#
+                                   #{symnames\ 14670}#
+                                   #{ribcage\ 14671}#)
+                            (letrec ((#{f\ 14680}#
+                                       (lambda (#{symnames\ 14681}#
+                                                #{i\ 14682}#)
+                                         (if (null? #{symnames\ 14681}#)
+                                           (#{search\ 14628}#
+                                             #{sym\ 14667}#
+                                             (cdr #{subst\ 14668}#)
+                                             #{marks\ 14669}#)
+                                           (if (if (eq? (car #{symnames\ 
14681}#)
+                                                        #{sym\ 14667}#)
+                                                 (#{same-marks?\ 12971}#
+                                                   #{marks\ 14669}#
                                                    (list-ref
-                                                     (#{ribcage-marks\ 693}#
-                                                       #{ribcage\ 2421}#)
-                                                     #{i\ 2432}#))
+                                                     (#{ribcage-marks\ 12943}#
+                                                       #{ribcage\ 14671}#)
+                                                     #{i\ 14682}#))
                                                  #f)
                                              (values
                                                (list-ref
-                                                 (#{ribcage-labels\ 695}#
-                                                   #{ribcage\ 2421}#)
-                                                 #{i\ 2432}#)
-                                               #{marks\ 2419}#)
-                                             (#{f\ 2430}#
-                                               (cdr #{symnames\ 2431}#)
-                                               (#{fx+\ 567}#
-                                                 #{i\ 2432}#
+                                                 (#{ribcage-labels\ 12945}#
+                                                   #{ribcage\ 14671}#)
+                                                 #{i\ 14682}#)
+                                               #{marks\ 14669}#)
+                                             (#{f\ 14680}#
+                                               (cdr #{symnames\ 14681}#)
+                                               (#{fx+\ 12817}#
+                                                 #{i\ 14682}#
                                                  1)))))))
-                              (#{f\ 2430}# #{symnames\ 2420}# 0))))
-                        (#{search\ 2378}#
-                          (lambda (#{sym\ 2440}#
-                                   #{subst\ 2441}#
-                                   #{marks\ 2442}#)
-                            (if (null? #{subst\ 2441}#)
-                              (values #f #{marks\ 2442}#)
-                              (let ((#{fst\ 2447}# (car #{subst\ 2441}#)))
-                                (if (eq? #{fst\ 2447}# (quote shift))
-                                  (#{search\ 2378}#
-                                    #{sym\ 2440}#
-                                    (cdr #{subst\ 2441}#)
-                                    (cdr #{marks\ 2442}#))
-                                  (let ((#{symnames\ 2449}#
-                                          (#{ribcage-symnames\ 691}#
-                                            #{fst\ 2447}#)))
-                                    (if (vector? #{symnames\ 2449}#)
-                                      (#{search-vector-rib\ 2382}#
-                                        #{sym\ 2440}#
-                                        #{subst\ 2441}#
-                                        #{marks\ 2442}#
-                                        #{symnames\ 2449}#
-                                        #{fst\ 2447}#)
-                                      (#{search-list-rib\ 2380}#
-                                        #{sym\ 2440}#
-                                        #{subst\ 2441}#
-                                        #{marks\ 2442}#
-                                        #{symnames\ 2449}#
-                                        #{fst\ 2447}#)))))))))
-                 (if (symbol? #{id\ 2372}#)
-                   (let ((#{t\ 2452}#
+                              (#{f\ 14680}# #{symnames\ 14670}# 0))))
+                        (#{search\ 14628}#
+                          (lambda (#{sym\ 14690}#
+                                   #{subst\ 14691}#
+                                   #{marks\ 14692}#)
+                            (if (null? #{subst\ 14691}#)
+                              (values #f #{marks\ 14692}#)
+                              (let ((#{fst\ 14697}# (car #{subst\ 14691}#)))
+                                (if (eq? #{fst\ 14697}# (quote shift))
+                                  (#{search\ 14628}#
+                                    #{sym\ 14690}#
+                                    (cdr #{subst\ 14691}#)
+                                    (cdr #{marks\ 14692}#))
+                                  (let ((#{symnames\ 14699}#
+                                          (#{ribcage-symnames\ 12941}#
+                                            #{fst\ 14697}#)))
+                                    (if (vector? #{symnames\ 14699}#)
+                                      (#{search-vector-rib\ 14632}#
+                                        #{sym\ 14690}#
+                                        #{subst\ 14691}#
+                                        #{marks\ 14692}#
+                                        #{symnames\ 14699}#
+                                        #{fst\ 14697}#)
+                                      (#{search-list-rib\ 14630}#
+                                        #{sym\ 14690}#
+                                        #{subst\ 14691}#
+                                        #{marks\ 14692}#
+                                        #{symnames\ 14699}#
+                                        #{fst\ 14697}#)))))))))
+                 (if (symbol? #{id\ 14622}#)
+                   (let ((#{t\ 14702}#
                            (call-with-values
                              (lambda ()
-                               (#{search\ 2378}#
-                                 #{id\ 2372}#
-                                 (#{wrap-subst\ 675}# #{w\ 2373}#)
-                                 (#{wrap-marks\ 673}# #{w\ 2373}#)))
-                             (lambda (#{x\ 2454}# . #{ignore\ 2455}#)
-                               #{x\ 2454}#))))
-                     (if #{t\ 2452}# #{t\ 2452}# #{id\ 2372}#))
-                   (if (#{syntax-object?\ 630}# #{id\ 2372}#)
-                     (let ((#{id\ 2463}#
-                             (#{syntax-object-expression\ 632}# #{id\ 2372}#))
-                           (#{w1\ 2464}#
-                             (#{syntax-object-wrap\ 634}# #{id\ 2372}#)))
-                       (let ((#{marks\ 2466}#
-                               (#{join-marks\ 719}#
-                                 (#{wrap-marks\ 673}# #{w\ 2373}#)
-                                 (#{wrap-marks\ 673}# #{w1\ 2464}#))))
+                               (#{search\ 14628}#
+                                 #{id\ 14622}#
+                                 (#{wrap-subst\ 12925}# #{w\ 14623}#)
+                                 (#{wrap-marks\ 12923}# #{w\ 14623}#)))
+                             (lambda (#{x\ 14704}# . #{ignore\ 14705}#)
+                               #{x\ 14704}#))))
+                     (if #{t\ 14702}# #{t\ 14702}# #{id\ 14622}#))
+                   (if (#{syntax-object?\ 12880}# #{id\ 14622}#)
+                     (let ((#{id\ 14713}#
+                             (#{syntax-object-expression\ 12882}#
+                               #{id\ 14622}#))
+                           (#{w1\ 14714}#
+                             (#{syntax-object-wrap\ 12884}# #{id\ 14622}#)))
+                       (let ((#{marks\ 14716}#
+                               (#{join-marks\ 12969}#
+                                 (#{wrap-marks\ 12923}# #{w\ 14623}#)
+                                 (#{wrap-marks\ 12923}# #{w1\ 14714}#))))
                          (call-with-values
                            (lambda ()
-                             (#{search\ 2378}#
-                               #{id\ 2463}#
-                               (#{wrap-subst\ 675}# #{w\ 2373}#)
-                               #{marks\ 2466}#))
-                           (lambda (#{new-id\ 2467}# #{marks\ 2468}#)
-                             (let ((#{t\ 2473}# #{new-id\ 2467}#))
-                               (if #{t\ 2473}#
-                                 #{t\ 2473}#
-                                 (let ((#{t\ 2476}#
+                             (#{search\ 14628}#
+                               #{id\ 14713}#
+                               (#{wrap-subst\ 12925}# #{w\ 14623}#)
+                               #{marks\ 14716}#))
+                           (lambda (#{new-id\ 14717}# #{marks\ 14718}#)
+                             (let ((#{t\ 14723}# #{new-id\ 14717}#))
+                               (if #{t\ 14723}#
+                                 #{t\ 14723}#
+                                 (let ((#{t\ 14726}#
                                          (call-with-values
                                            (lambda ()
-                                             (#{search\ 2378}#
-                                               #{id\ 2463}#
-                                               (#{wrap-subst\ 675}#
-                                                 #{w1\ 2464}#)
-                                               #{marks\ 2468}#))
-                                           (lambda (#{x\ 2478}#
+                                             (#{search\ 14628}#
+                                               #{id\ 14713}#
+                                               (#{wrap-subst\ 12925}#
+                                                 #{w1\ 14714}#)
+                                               #{marks\ 14718}#))
+                                           (lambda (#{x\ 14728}#
                                                     .
-                                                    #{ignore\ 2479}#)
-                                             #{x\ 2478}#))))
-                                   (if #{t\ 2476}#
-                                     #{t\ 2476}#
-                                     #{id\ 2463}#))))))))
+                                                    #{ignore\ 14729}#)
+                                             #{x\ 14728}#))))
+                                   (if #{t\ 14726}#
+                                     #{t\ 14726}#
+                                     #{id\ 14713}#))))))))
                      (syntax-violation
                        'id-var-name
                        "invalid id"
-                       #{id\ 2372}#))))))
-           (#{same-marks?\ 721}#
-             (lambda (#{x\ 2484}# #{y\ 2485}#)
-               (let ((#{t\ 2490}# (eq? #{x\ 2484}# #{y\ 2485}#)))
-                 (if #{t\ 2490}#
-                   #{t\ 2490}#
-                   (if (not (null? #{x\ 2484}#))
-                     (if (not (null? #{y\ 2485}#))
-                       (if (eq? (car #{x\ 2484}#) (car #{y\ 2485}#))
-                         (#{same-marks?\ 721}#
-                           (cdr #{x\ 2484}#)
-                           (cdr #{y\ 2485}#))
+                       #{id\ 14622}#))))))
+           (#{same-marks?\ 12971}#
+             (lambda (#{x\ 14734}# #{y\ 14735}#)
+               (let ((#{t\ 14740}# (eq? #{x\ 14734}# #{y\ 14735}#)))
+                 (if #{t\ 14740}#
+                   #{t\ 14740}#
+                   (if (not (null? #{x\ 14734}#))
+                     (if (not (null? #{y\ 14735}#))
+                       (if (eq? (car #{x\ 14734}#) (car #{y\ 14735}#))
+                         (#{same-marks?\ 12971}#
+                           (cdr #{x\ 14734}#)
+                           (cdr #{y\ 14735}#))
                          #f)
                        #f)
                      #f)))))
-           (#{join-marks\ 719}#
-             (lambda (#{m1\ 2496}# #{m2\ 2497}#)
-               (#{smart-append\ 715}# #{m1\ 2496}# #{m2\ 2497}#)))
-           (#{join-wraps\ 717}#
-             (lambda (#{w1\ 2500}# #{w2\ 2501}#)
-               (let ((#{m1\ 2506}# (#{wrap-marks\ 673}# #{w1\ 2500}#))
-                     (#{s1\ 2507}# (#{wrap-subst\ 675}# #{w1\ 2500}#)))
-                 (if (null? #{m1\ 2506}#)
-                   (if (null? #{s1\ 2507}#)
-                     #{w2\ 2501}#
-                     (#{make-wrap\ 671}#
-                       (#{wrap-marks\ 673}# #{w2\ 2501}#)
-                       (#{smart-append\ 715}#
-                         #{s1\ 2507}#
-                         (#{wrap-subst\ 675}# #{w2\ 2501}#))))
-                   (#{make-wrap\ 671}#
-                     (#{smart-append\ 715}#
-                       #{m1\ 2506}#
-                       (#{wrap-marks\ 673}# #{w2\ 2501}#))
-                     (#{smart-append\ 715}#
-                       #{s1\ 2507}#
-                       (#{wrap-subst\ 675}# #{w2\ 2501}#)))))))
-           (#{smart-append\ 715}#
-             (lambda (#{m1\ 2508}# #{m2\ 2509}#)
-               (if (null? #{m2\ 2509}#)
-                 #{m1\ 2508}#
-                 (append #{m1\ 2508}# #{m2\ 2509}#))))
-           (#{make-binding-wrap\ 713}#
-             (lambda (#{ids\ 2512}# #{labels\ 2513}# #{w\ 2514}#)
-               (if (null? #{ids\ 2512}#)
-                 #{w\ 2514}#
-                 (#{make-wrap\ 671}#
-                   (#{wrap-marks\ 673}# #{w\ 2514}#)
-                   (cons (let ((#{labelvec\ 2519}#
-                                 (list->vector #{labels\ 2513}#)))
-                           (let ((#{n\ 2521}#
-                                   (vector-length #{labelvec\ 2519}#)))
-                             (let ((#{symnamevec\ 2524}#
-                                     (make-vector #{n\ 2521}#))
-                                   (#{marksvec\ 2525}#
-                                     (make-vector #{n\ 2521}#)))
+           (#{join-marks\ 12969}#
+             (lambda (#{m1\ 14746}# #{m2\ 14747}#)
+               (#{smart-append\ 12965}#
+                 #{m1\ 14746}#
+                 #{m2\ 14747}#)))
+           (#{join-wraps\ 12967}#
+             (lambda (#{w1\ 14750}# #{w2\ 14751}#)
+               (let ((#{m1\ 14756}#
+                       (#{wrap-marks\ 12923}# #{w1\ 14750}#))
+                     (#{s1\ 14757}#
+                       (#{wrap-subst\ 12925}# #{w1\ 14750}#)))
+                 (if (null? #{m1\ 14756}#)
+                   (if (null? #{s1\ 14757}#)
+                     #{w2\ 14751}#
+                     (#{make-wrap\ 12921}#
+                       (#{wrap-marks\ 12923}# #{w2\ 14751}#)
+                       (#{smart-append\ 12965}#
+                         #{s1\ 14757}#
+                         (#{wrap-subst\ 12925}# #{w2\ 14751}#))))
+                   (#{make-wrap\ 12921}#
+                     (#{smart-append\ 12965}#
+                       #{m1\ 14756}#
+                       (#{wrap-marks\ 12923}# #{w2\ 14751}#))
+                     (#{smart-append\ 12965}#
+                       #{s1\ 14757}#
+                       (#{wrap-subst\ 12925}# #{w2\ 14751}#)))))))
+           (#{smart-append\ 12965}#
+             (lambda (#{m1\ 14758}# #{m2\ 14759}#)
+               (if (null? #{m2\ 14759}#)
+                 #{m1\ 14758}#
+                 (append #{m1\ 14758}# #{m2\ 14759}#))))
+           (#{make-binding-wrap\ 12963}#
+             (lambda (#{ids\ 14762}# #{labels\ 14763}# #{w\ 14764}#)
+               (if (null? #{ids\ 14762}#)
+                 #{w\ 14764}#
+                 (#{make-wrap\ 12921}#
+                   (#{wrap-marks\ 12923}# #{w\ 14764}#)
+                   (cons (let ((#{labelvec\ 14769}#
+                                 (list->vector #{labels\ 14763}#)))
+                           (let ((#{n\ 14771}#
+                                   (vector-length #{labelvec\ 14769}#)))
+                             (let ((#{symnamevec\ 14774}#
+                                     (make-vector #{n\ 14771}#))
+                                   (#{marksvec\ 14775}#
+                                     (make-vector #{n\ 14771}#)))
                                (begin
-                                 (letrec ((#{f\ 2529}#
-                                            (lambda (#{ids\ 2530}# #{i\ 2531}#)
-                                              (if (not (null? #{ids\ 2530}#))
+                                 (letrec ((#{f\ 14779}#
+                                            (lambda (#{ids\ 14780}#
+                                                     #{i\ 14781}#)
+                                              (if (not (null? #{ids\ 14780}#))
                                                 (call-with-values
                                                   (lambda ()
-                                                    (#{id-sym-name&marks\ 669}#
-                                                      (car #{ids\ 2530}#)
-                                                      #{w\ 2514}#))
-                                                  (lambda (#{symname\ 2532}#
-                                                           #{marks\ 2533}#)
+                                                    (#{id-sym-name&marks\ 
12919}#
+                                                      (car #{ids\ 14780}#)
+                                                      #{w\ 14764}#))
+                                                  (lambda (#{symname\ 14782}#
+                                                           #{marks\ 14783}#)
                                                     (begin
                                                       (vector-set!
-                                                        #{symnamevec\ 2524}#
-                                                        #{i\ 2531}#
-                                                        #{symname\ 2532}#)
+                                                        #{symnamevec\ 14774}#
+                                                        #{i\ 14781}#
+                                                        #{symname\ 14782}#)
                                                       (vector-set!
-                                                        #{marksvec\ 2525}#
-                                                        #{i\ 2531}#
-                                                        #{marks\ 2533}#)
-                                                      (#{f\ 2529}#
-                                                        (cdr #{ids\ 2530}#)
-                                                        (#{fx+\ 567}#
-                                                          #{i\ 2531}#
+                                                        #{marksvec\ 14775}#
+                                                        #{i\ 14781}#
+                                                        #{marks\ 14783}#)
+                                                      (#{f\ 14779}#
+                                                        (cdr #{ids\ 14780}#)
+                                                        (#{fx+\ 12817}#
+                                                          #{i\ 14781}#
                                                           1)))))))))
-                                   (#{f\ 2529}# #{ids\ 2512}# 0))
-                                 (#{make-ribcage\ 687}#
-                                   #{symnamevec\ 2524}#
-                                   #{marksvec\ 2525}#
-                                   #{labelvec\ 2519}#)))))
-                         (#{wrap-subst\ 675}# #{w\ 2514}#))))))
-           (#{extend-ribcage!\ 711}#
-             (lambda (#{ribcage\ 2536}# #{id\ 2537}# #{label\ 2538}#)
+                                   (#{f\ 14779}# #{ids\ 14762}# 0))
+                                 (#{make-ribcage\ 12937}#
+                                   #{symnamevec\ 14774}#
+                                   #{marksvec\ 14775}#
+                                   #{labelvec\ 14769}#)))))
+                         (#{wrap-subst\ 12925}# #{w\ 14764}#))))))
+           (#{extend-ribcage!\ 12961}#
+             (lambda (#{ribcage\ 14786}#
+                      #{id\ 14787}#
+                      #{label\ 14788}#)
                (begin
-                 (#{set-ribcage-symnames!\ 697}#
-                   #{ribcage\ 2536}#
-                   (cons (#{syntax-object-expression\ 632}# #{id\ 2537}#)
-                         (#{ribcage-symnames\ 691}# #{ribcage\ 2536}#)))
-                 (#{set-ribcage-marks!\ 699}#
-                   #{ribcage\ 2536}#
-                   (cons (#{wrap-marks\ 673}#
-                           (#{syntax-object-wrap\ 634}# #{id\ 2537}#))
-                         (#{ribcage-marks\ 693}# #{ribcage\ 2536}#)))
-                 (#{set-ribcage-labels!\ 701}#
-                   #{ribcage\ 2536}#
-                   (cons #{label\ 2538}#
-                         (#{ribcage-labels\ 695}# #{ribcage\ 2536}#))))))
-           (#{anti-mark\ 707}#
-             (lambda (#{w\ 2542}#)
-               (#{make-wrap\ 671}#
-                 (cons #f (#{wrap-marks\ 673}# #{w\ 2542}#))
+                 (#{set-ribcage-symnames!\ 12947}#
+                   #{ribcage\ 14786}#
+                   (cons (#{syntax-object-expression\ 12882}#
+                           #{id\ 14787}#)
+                         (#{ribcage-symnames\ 12941}# #{ribcage\ 14786}#)))
+                 (#{set-ribcage-marks!\ 12949}#
+                   #{ribcage\ 14786}#
+                   (cons (#{wrap-marks\ 12923}#
+                           (#{syntax-object-wrap\ 12884}# #{id\ 14787}#))
+                         (#{ribcage-marks\ 12943}# #{ribcage\ 14786}#)))
+                 (#{set-ribcage-labels!\ 12951}#
+                   #{ribcage\ 14786}#
+                   (cons #{label\ 14788}#
+                         (#{ribcage-labels\ 12945}# #{ribcage\ 14786}#))))))
+           (#{anti-mark\ 12957}#
+             (lambda (#{w\ 14792}#)
+               (#{make-wrap\ 12921}#
+                 (cons #f (#{wrap-marks\ 12923}# #{w\ 14792}#))
                  (cons 'shift
-                       (#{wrap-subst\ 675}# #{w\ 2542}#)))))
-           (#{set-ribcage-labels!\ 701}#
-             (lambda (#{x\ 2545}# #{update\ 2546}#)
-               (vector-set! #{x\ 2545}# 3 #{update\ 2546}#)))
-           (#{set-ribcage-marks!\ 699}#
-             (lambda (#{x\ 2549}# #{update\ 2550}#)
-               (vector-set! #{x\ 2549}# 2 #{update\ 2550}#)))
-           (#{set-ribcage-symnames!\ 697}#
-             (lambda (#{x\ 2553}# #{update\ 2554}#)
-               (vector-set! #{x\ 2553}# 1 #{update\ 2554}#)))
-           (#{ribcage-labels\ 695}#
-             (lambda (#{x\ 2557}#) (vector-ref #{x\ 2557}# 3)))
-           (#{ribcage-marks\ 693}#
-             (lambda (#{x\ 2559}#) (vector-ref #{x\ 2559}# 2)))
-           (#{ribcage-symnames\ 691}#
-             (lambda (#{x\ 2561}#) (vector-ref #{x\ 2561}# 1)))
-           (#{ribcage?\ 689}#
-             (lambda (#{x\ 2563}#)
-               (if (vector? #{x\ 2563}#)
-                 (if (= (vector-length #{x\ 2563}#) 4)
-                   (eq? (vector-ref #{x\ 2563}# 0) (quote ribcage))
+                       (#{wrap-subst\ 12925}# #{w\ 14792}#)))))
+           (#{set-ribcage-labels!\ 12951}#
+             (lambda (#{x\ 14795}# #{update\ 14796}#)
+               (vector-set! #{x\ 14795}# 3 #{update\ 14796}#)))
+           (#{set-ribcage-marks!\ 12949}#
+             (lambda (#{x\ 14799}# #{update\ 14800}#)
+               (vector-set! #{x\ 14799}# 2 #{update\ 14800}#)))
+           (#{set-ribcage-symnames!\ 12947}#
+             (lambda (#{x\ 14803}# #{update\ 14804}#)
+               (vector-set! #{x\ 14803}# 1 #{update\ 14804}#)))
+           (#{ribcage-labels\ 12945}#
+             (lambda (#{x\ 14807}#)
+               (vector-ref #{x\ 14807}# 3)))
+           (#{ribcage-marks\ 12943}#
+             (lambda (#{x\ 14809}#)
+               (vector-ref #{x\ 14809}# 2)))
+           (#{ribcage-symnames\ 12941}#
+             (lambda (#{x\ 14811}#)
+               (vector-ref #{x\ 14811}# 1)))
+           (#{ribcage?\ 12939}#
+             (lambda (#{x\ 14813}#)
+               (if (vector? #{x\ 14813}#)
+                 (if (= (vector-length #{x\ 14813}#) 4)
+                   (eq? (vector-ref #{x\ 14813}# 0) (quote ribcage))
                    #f)
                  #f)))
-           (#{make-ribcage\ 687}#
-             (lambda (#{symnames\ 2568}#
-                      #{marks\ 2569}#
-                      #{labels\ 2570}#)
+           (#{make-ribcage\ 12937}#
+             (lambda (#{symnames\ 14818}#
+                      #{marks\ 14819}#
+                      #{labels\ 14820}#)
                (vector
                  'ribcage
-                 #{symnames\ 2568}#
-                 #{marks\ 2569}#
-                 #{labels\ 2570}#)))
-           (#{gen-labels\ 684}#
-             (lambda (#{ls\ 2574}#)
-               (if (null? #{ls\ 2574}#)
+                 #{symnames\ 14818}#
+                 #{marks\ 14819}#
+                 #{labels\ 14820}#)))
+           (#{gen-labels\ 12934}#
+             (lambda (#{ls\ 14824}#)
+               (if (null? #{ls\ 14824}#)
                  '()
-                 (cons (#{gen-label\ 682}#)
-                       (#{gen-labels\ 684}# (cdr #{ls\ 2574}#))))))
-           (#{gen-label\ 682}#
+                 (cons (#{gen-label\ 12932}#)
+                       (#{gen-labels\ 12934}# (cdr #{ls\ 14824}#))))))
+           (#{gen-label\ 12932}#
              (lambda () (symbol->string (gensym "i"))))
-           (#{wrap-subst\ 675}# cdr)
-           (#{wrap-marks\ 673}# car)
-           (#{make-wrap\ 671}# cons)
-           (#{id-sym-name&marks\ 669}#
-             (lambda (#{x\ 2576}# #{w\ 2577}#)
-               (if (#{syntax-object?\ 630}# #{x\ 2576}#)
+           (#{wrap-subst\ 12925}# cdr)
+           (#{wrap-marks\ 12923}# car)
+           (#{make-wrap\ 12921}# cons)
+           (#{id-sym-name&marks\ 12919}#
+             (lambda (#{x\ 14826}# #{w\ 14827}#)
+               (if (#{syntax-object?\ 12880}# #{x\ 14826}#)
                  (values
-                   (#{syntax-object-expression\ 632}# #{x\ 2576}#)
-                   (#{join-marks\ 719}#
-                     (#{wrap-marks\ 673}# #{w\ 2577}#)
-                     (#{wrap-marks\ 673}#
-                       (#{syntax-object-wrap\ 634}# #{x\ 2576}#))))
+                   (#{syntax-object-expression\ 12882}#
+                     #{x\ 14826}#)
+                   (#{join-marks\ 12969}#
+                     (#{wrap-marks\ 12923}# #{w\ 14827}#)
+                     (#{wrap-marks\ 12923}#
+                       (#{syntax-object-wrap\ 12884}# #{x\ 14826}#))))
                  (values
-                   #{x\ 2576}#
-                   (#{wrap-marks\ 673}# #{w\ 2577}#)))))
-           (#{id?\ 666}#
-             (lambda (#{x\ 2580}#)
-               (if (symbol? #{x\ 2580}#)
+                   #{x\ 14826}#
+                   (#{wrap-marks\ 12923}# #{w\ 14827}#)))))
+           (#{id?\ 12916}#
+             (lambda (#{x\ 14830}#)
+               (if (symbol? #{x\ 14830}#)
                  #t
-                 (if (#{syntax-object?\ 630}# #{x\ 2580}#)
+                 (if (#{syntax-object?\ 12880}# #{x\ 14830}#)
                    (symbol?
-                     (#{syntax-object-expression\ 632}# #{x\ 2580}#))
+                     (#{syntax-object-expression\ 12882}#
+                       #{x\ 14830}#))
                    #f))))
-           (#{nonsymbol-id?\ 664}#
-             (lambda (#{x\ 2587}#)
-               (if (#{syntax-object?\ 630}# #{x\ 2587}#)
+           (#{nonsymbol-id?\ 12914}#
+             (lambda (#{x\ 14837}#)
+               (if (#{syntax-object?\ 12880}# #{x\ 14837}#)
                  (symbol?
-                   (#{syntax-object-expression\ 632}# #{x\ 2587}#))
+                   (#{syntax-object-expression\ 12882}#
+                     #{x\ 14837}#))
                  #f)))
-           (#{global-extend\ 662}#
-             (lambda (#{type\ 2591}# #{sym\ 2592}# #{val\ 2593}#)
-               (#{put-global-definition-hook\ 580}#
-                 #{sym\ 2592}#
-                 #{type\ 2591}#
-                 #{val\ 2593}#)))
-           (#{lookup\ 660}#
-             (lambda (#{x\ 2597}# #{r\ 2598}# #{mod\ 2599}#)
-               (let ((#{t\ 2605}# (assq #{x\ 2597}# #{r\ 2598}#)))
-                 (if #{t\ 2605}#
-                   (cdr #{t\ 2605}#)
-                   (if (symbol? #{x\ 2597}#)
-                     (let ((#{t\ 2611}#
-                             (#{get-global-definition-hook\ 582}#
-                               #{x\ 2597}#
-                               #{mod\ 2599}#)))
-                       (if #{t\ 2611}# #{t\ 2611}# (quote (global))))
+           (#{global-extend\ 12912}#
+             (lambda (#{type\ 14841}# #{sym\ 14842}# #{val\ 14843}#)
+               (#{put-global-definition-hook\ 12830}#
+                 #{sym\ 14842}#
+                 #{type\ 14841}#
+                 #{val\ 14843}#)))
+           (#{lookup\ 12910}#
+             (lambda (#{x\ 14847}# #{r\ 14848}# #{mod\ 14849}#)
+               (let ((#{t\ 14855}# (assq #{x\ 14847}# #{r\ 14848}#)))
+                 (if #{t\ 14855}#
+                   (cdr #{t\ 14855}#)
+                   (if (symbol? #{x\ 14847}#)
+                     (let ((#{t\ 14861}#
+                             (#{get-global-definition-hook\ 12832}#
+                               #{x\ 14847}#
+                               #{mod\ 14849}#)))
+                       (if #{t\ 14861}# #{t\ 14861}# (quote (global))))
                      '(displaced-lexical))))))
-           (#{macros-only-env\ 658}#
-             (lambda (#{r\ 2616}#)
-               (if (null? #{r\ 2616}#)
+           (#{macros-only-env\ 12908}#
+             (lambda (#{r\ 14866}#)
+               (if (null? #{r\ 14866}#)
                  '()
-                 (let ((#{a\ 2619}# (car #{r\ 2616}#)))
-                   (if (eq? (cadr #{a\ 2619}#) (quote macro))
-                     (cons #{a\ 2619}#
-                           (#{macros-only-env\ 658}# (cdr #{r\ 2616}#)))
-                     (#{macros-only-env\ 658}# (cdr #{r\ 2616}#)))))))
-           (#{extend-var-env\ 656}#
-             (lambda (#{labels\ 2620}# #{vars\ 2621}# #{r\ 2622}#)
-               (if (null? #{labels\ 2620}#)
-                 #{r\ 2622}#
-                 (#{extend-var-env\ 656}#
-                   (cdr #{labels\ 2620}#)
-                   (cdr #{vars\ 2621}#)
-                   (cons (cons (car #{labels\ 2620}#)
-                               (cons (quote lexical) (car #{vars\ 2621}#)))
-                         #{r\ 2622}#)))))
-           (#{extend-env\ 654}#
-             (lambda (#{labels\ 2627}# #{bindings\ 2628}# #{r\ 2629}#)
-               (if (null? #{labels\ 2627}#)
-                 #{r\ 2629}#
-                 (#{extend-env\ 654}#
-                   (cdr #{labels\ 2627}#)
-                   (cdr #{bindings\ 2628}#)
-                   (cons (cons (car #{labels\ 2627}#)
-                               (car #{bindings\ 2628}#))
-                         #{r\ 2629}#)))))
-           (#{binding-value\ 651}# cdr)
-           (#{binding-type\ 649}# car)
-           (#{source-annotation\ 645}#
-             (lambda (#{x\ 2633}#)
-               (if (#{syntax-object?\ 630}# #{x\ 2633}#)
-                 (#{source-annotation\ 645}#
-                   (#{syntax-object-expression\ 632}# #{x\ 2633}#))
-                 (if (pair? #{x\ 2633}#)
-                   (let ((#{props\ 2640}# (source-properties #{x\ 2633}#)))
-                     (if (pair? #{props\ 2640}#) #{props\ 2640}# #f))
+                 (let ((#{a\ 14869}# (car #{r\ 14866}#)))
+                   (if (eq? (cadr #{a\ 14869}#) (quote macro))
+                     (cons #{a\ 14869}#
+                           (#{macros-only-env\ 12908}# (cdr #{r\ 14866}#)))
+                     (#{macros-only-env\ 12908}# (cdr #{r\ 14866}#)))))))
+           (#{extend-var-env\ 12906}#
+             (lambda (#{labels\ 14870}# #{vars\ 14871}# #{r\ 14872}#)
+               (if (null? #{labels\ 14870}#)
+                 #{r\ 14872}#
+                 (#{extend-var-env\ 12906}#
+                   (cdr #{labels\ 14870}#)
+                   (cdr #{vars\ 14871}#)
+                   (cons (cons (car #{labels\ 14870}#)
+                               (cons (quote lexical) (car #{vars\ 14871}#)))
+                         #{r\ 14872}#)))))
+           (#{extend-env\ 12904}#
+             (lambda (#{labels\ 14877}#
+                      #{bindings\ 14878}#
+                      #{r\ 14879}#)
+               (if (null? #{labels\ 14877}#)
+                 #{r\ 14879}#
+                 (#{extend-env\ 12904}#
+                   (cdr #{labels\ 14877}#)
+                   (cdr #{bindings\ 14878}#)
+                   (cons (cons (car #{labels\ 14877}#)
+                               (car #{bindings\ 14878}#))
+                         #{r\ 14879}#)))))
+           (#{binding-value\ 12901}# cdr)
+           (#{binding-type\ 12899}# car)
+           (#{source-annotation\ 12895}#
+             (lambda (#{x\ 14883}#)
+               (if (#{syntax-object?\ 12880}# #{x\ 14883}#)
+                 (#{source-annotation\ 12895}#
+                   (#{syntax-object-expression\ 12882}#
+                     #{x\ 14883}#))
+                 (if (pair? #{x\ 14883}#)
+                   (let ((#{props\ 14890}#
+                           (source-properties #{x\ 14883}#)))
+                     (if (pair? #{props\ 14890}#) #{props\ 14890}# #f))
                    #f))))
-           (#{set-syntax-object-module!\ 642}#
-             (lambda (#{x\ 2642}# #{update\ 2643}#)
-               (vector-set! #{x\ 2642}# 3 #{update\ 2643}#)))
-           (#{set-syntax-object-wrap!\ 640}#
-             (lambda (#{x\ 2646}# #{update\ 2647}#)
-               (vector-set! #{x\ 2646}# 2 #{update\ 2647}#)))
-           (#{set-syntax-object-expression!\ 638}#
-             (lambda (#{x\ 2650}# #{update\ 2651}#)
-               (vector-set! #{x\ 2650}# 1 #{update\ 2651}#)))
-           (#{syntax-object-module\ 636}#
-             (lambda (#{x\ 2654}#) (vector-ref #{x\ 2654}# 3)))
-           (#{syntax-object-wrap\ 634}#
-             (lambda (#{x\ 2656}#) (vector-ref #{x\ 2656}# 2)))
-           (#{syntax-object-expression\ 632}#
-             (lambda (#{x\ 2658}#) (vector-ref #{x\ 2658}# 1)))
-           (#{syntax-object?\ 630}#
-             (lambda (#{x\ 2660}#)
-               (if (vector? #{x\ 2660}#)
-                 (if (= (vector-length #{x\ 2660}#) 4)
-                   (eq? (vector-ref #{x\ 2660}# 0)
+           (#{set-syntax-object-module!\ 12892}#
+             (lambda (#{x\ 14892}# #{update\ 14893}#)
+               (vector-set! #{x\ 14892}# 3 #{update\ 14893}#)))
+           (#{set-syntax-object-wrap!\ 12890}#
+             (lambda (#{x\ 14896}# #{update\ 14897}#)
+               (vector-set! #{x\ 14896}# 2 #{update\ 14897}#)))
+           (#{set-syntax-object-expression!\ 12888}#
+             (lambda (#{x\ 14900}# #{update\ 14901}#)
+               (vector-set! #{x\ 14900}# 1 #{update\ 14901}#)))
+           (#{syntax-object-module\ 12886}#
+             (lambda (#{x\ 14904}#)
+               (vector-ref #{x\ 14904}# 3)))
+           (#{syntax-object-wrap\ 12884}#
+             (lambda (#{x\ 14906}#)
+               (vector-ref #{x\ 14906}# 2)))
+           (#{syntax-object-expression\ 12882}#
+             (lambda (#{x\ 14908}#)
+               (vector-ref #{x\ 14908}# 1)))
+           (#{syntax-object?\ 12880}#
+             (lambda (#{x\ 14910}#)
+               (if (vector? #{x\ 14910}#)
+                 (if (= (vector-length #{x\ 14910}#) 4)
+                   (eq? (vector-ref #{x\ 14910}# 0)
                         'syntax-object)
                    #f)
                  #f)))
-           (#{make-syntax-object\ 628}#
-             (lambda (#{expression\ 2665}#
-                      #{wrap\ 2666}#
-                      #{module\ 2667}#)
+           (#{make-syntax-object\ 12878}#
+             (lambda (#{expression\ 14915}#
+                      #{wrap\ 14916}#
+                      #{module\ 14917}#)
                (vector
                  'syntax-object
-                 #{expression\ 2665}#
-                 #{wrap\ 2666}#
-                 #{module\ 2667}#)))
-           (#{build-letrec\ 624}#
-             (lambda (#{src\ 2671}#
-                      #{ids\ 2672}#
-                      #{vars\ 2673}#
-                      #{val-exps\ 2674}#
-                      #{body-exp\ 2675}#)
-               (if (null? #{vars\ 2673}#)
-                 #{body-exp\ 2675}#
-                 (let ((#{atom-key\ 2683}# (fluid-ref #{*mode*\ 565}#)))
-                   (if (memv #{atom-key\ 2683}# (quote (c)))
-                     (begin
-                       (for-each
-                         #{maybe-name-value!\ 604}#
-                         #{ids\ 2672}#
-                         #{val-exps\ 2674}#)
-                       ((@ (language tree-il) make-letrec)
-                        #{src\ 2671}#
-                        #{ids\ 2672}#
-                        #{vars\ 2673}#
-                        #{val-exps\ 2674}#
-                        #{body-exp\ 2675}#))
-                     (#{decorate-source\ 584}#
-                       (list 'letrec
-                             (map list #{vars\ 2673}# #{val-exps\ 2674}#)
-                             #{body-exp\ 2675}#)
-                       #{src\ 2671}#))))))
-           (#{build-named-let\ 622}#
-             (lambda (#{src\ 2687}#
-                      #{ids\ 2688}#
-                      #{vars\ 2689}#
-                      #{val-exps\ 2690}#
-                      #{body-exp\ 2691}#)
-               (let ((#{f\ 2701}# (car #{vars\ 2689}#))
-                     (#{f-name\ 2702}# (car #{ids\ 2688}#))
-                     (#{vars\ 2703}# (cdr #{vars\ 2689}#))
-                     (#{ids\ 2704}# (cdr #{ids\ 2688}#)))
-                 (let ((#{atom-key\ 2707}# (fluid-ref #{*mode*\ 565}#)))
-                   (if (memv #{atom-key\ 2707}# (quote (c)))
-                     (let ((#{proc\ 2710}#
-                             (#{build-simple-lambda\ 608}#
-                               #{src\ 2687}#
-                               #{ids\ 2704}#
-                               #f
-                               #{vars\ 2703}#
-                               '()
-                               #{body-exp\ 2691}#)))
-                       (begin
-                         (#{maybe-name-value!\ 604}#
-                           #{f-name\ 2702}#
-                           #{proc\ 2710}#)
-                         (for-each
-                           #{maybe-name-value!\ 604}#
-                           #{ids\ 2704}#
-                           #{val-exps\ 2690}#)
-                         ((@ (language tree-il) make-letrec)
-                          #{src\ 2687}#
-                          (list #{f-name\ 2702}#)
-                          (list #{f\ 2701}#)
-                          (list #{proc\ 2710}#)
-                          (#{build-application\ 588}#
-                            #{src\ 2687}#
-                            (#{build-lexical-reference\ 594}#
-                              'fun
-                              #{src\ 2687}#
-                              #{f-name\ 2702}#
-                              #{f\ 2701}#)
-                            #{val-exps\ 2690}#))))
-                     (#{decorate-source\ 584}#
-                       (list 'letrec
-                             (list (list #{f\ 2701}#
-                                         (list 'lambda
-                                               #{vars\ 2703}#
-                                               #{body-exp\ 2691}#)))
-                             (cons #{f\ 2701}# #{val-exps\ 2690}#))
-                       #{src\ 2687}#))))))
-           (#{build-let\ 620}#
-             (lambda (#{src\ 2713}#
-                      #{ids\ 2714}#
-                      #{vars\ 2715}#
-                      #{val-exps\ 2716}#
-                      #{body-exp\ 2717}#)
-               (if (null? #{vars\ 2715}#)
-                 #{body-exp\ 2717}#
-                 (let ((#{atom-key\ 2725}# (fluid-ref #{*mode*\ 565}#)))
-                   (if (memv #{atom-key\ 2725}# (quote (c)))
-                     (begin
-                       (for-each
-                         #{maybe-name-value!\ 604}#
-                         #{ids\ 2714}#
-                         #{val-exps\ 2716}#)
-                       ((@ (language tree-il) make-let)
-                        #{src\ 2713}#
-                        #{ids\ 2714}#
-                        #{vars\ 2715}#
-                        #{val-exps\ 2716}#
-                        #{body-exp\ 2717}#))
-                     (#{decorate-source\ 584}#
-                       (list 'let
-                             (map list #{vars\ 2715}# #{val-exps\ 2716}#)
-                             #{body-exp\ 2717}#)
-                       #{src\ 2713}#))))))
-           (#{build-sequence\ 618}#
-             (lambda (#{src\ 2729}# #{exps\ 2730}#)
-               (if (null? (cdr #{exps\ 2730}#))
-                 (car #{exps\ 2730}#)
-                 (let ((#{atom-key\ 2735}# (fluid-ref #{*mode*\ 565}#)))
-                   (if (memv #{atom-key\ 2735}# (quote (c)))
-                     ((@ (language tree-il) make-sequence)
-                      #{src\ 2729}#
-                      #{exps\ 2730}#)
-                     (#{decorate-source\ 584}#
-                       (cons (quote begin) #{exps\ 2730}#)
-                       #{src\ 2729}#))))))
-           (#{build-data\ 616}#
-             (lambda (#{src\ 2739}# #{exp\ 2740}#)
-               (let ((#{atom-key\ 2745}# (fluid-ref #{*mode*\ 565}#)))
-                 (if (memv #{atom-key\ 2745}# (quote (c)))
-                   ((@ (language tree-il) make-const)
-                    #{src\ 2739}#
-                    #{exp\ 2740}#)
-                   (#{decorate-source\ 584}#
-                     (if (if (self-evaluating? #{exp\ 2740}#)
-                           (not (vector? #{exp\ 2740}#))
-                           #f)
-                       #{exp\ 2740}#
-                       (list (quote quote) #{exp\ 2740}#))
-                     #{src\ 2739}#)))))
-           (#{build-primref\ 614}#
-             (lambda (#{src\ 2750}# #{name\ 2751}#)
+                 #{expression\ 14915}#
+                 #{wrap\ 14916}#
+                 #{module\ 14917}#)))
+           (#{build-letrec\ 12874}#
+             (lambda (#{src\ 14921}#
+                      #{ids\ 14922}#
+                      #{vars\ 14923}#
+                      #{val-exps\ 14924}#
+                      #{body-exp\ 14925}#)
+               (if (null? #{vars\ 14923}#)
+                 #{body-exp\ 14925}#
+                 (#{make-letrec\ 12813}#
+                   #{src\ 14921}#
+                   #{ids\ 14922}#
+                   #{vars\ 14923}#
+                   #{val-exps\ 14924}#
+                   #{body-exp\ 14925}#))))
+           (#{build-named-let\ 12872}#
+             (lambda (#{src\ 14931}#
+                      #{ids\ 14932}#
+                      #{vars\ 14933}#
+                      #{val-exps\ 14934}#
+                      #{body-exp\ 14935}#)
+               (let ((#{f\ 14945}# (car #{vars\ 14933}#))
+                     (#{f-name\ 14946}# (car #{ids\ 14932}#))
+                     (#{vars\ 14947}# (cdr #{vars\ 14933}#))
+                     (#{ids\ 14948}# (cdr #{ids\ 14932}#)))
+                 (let ((#{proc\ 14950}#
+                         (#{build-simple-lambda\ 12858}#
+                           #{src\ 14931}#
+                           #{ids\ 14948}#
+                           #f
+                           #{vars\ 14947}#
+                           '()
+                           #{body-exp\ 14935}#)))
+                   (#{make-letrec\ 12813}#
+                     #{src\ 14931}#
+                     (list #{f-name\ 14946}#)
+                     (list #{f\ 14945}#)
+                     (list #{proc\ 14950}#)
+                     (#{build-application\ 12838}#
+                       #{src\ 14931}#
+                       (#{build-lexical-reference\ 12844}#
+                         'fun
+                         #{src\ 14931}#
+                         #{f-name\ 14946}#
+                         #{f\ 14945}#)
+                       #{val-exps\ 14934}#))))))
+           (#{build-let\ 12870}#
+             (lambda (#{src\ 14951}#
+                      #{ids\ 14952}#
+                      #{vars\ 14953}#
+                      #{val-exps\ 14954}#
+                      #{body-exp\ 14955}#)
+               (if (null? #{vars\ 14953}#)
+                 #{body-exp\ 14955}#
+                 (#{make-let\ 12811}#
+                   #{src\ 14951}#
+                   #{ids\ 14952}#
+                   #{vars\ 14953}#
+                   #{val-exps\ 14954}#
+                   #{body-exp\ 14955}#))))
+           (#{build-sequence\ 12868}#
+             (lambda (#{src\ 14961}# #{exps\ 14962}#)
+               (if (null? (cdr #{exps\ 14962}#))
+                 (car #{exps\ 14962}#)
+                 (#{make-sequence\ 12805}#
+                   #{src\ 14961}#
+                   #{exps\ 14962}#))))
+           (#{build-data\ 12866}#
+             (lambda (#{src\ 14965}# #{exp\ 14966}#)
+               (#{make-const\ 12783}#
+                 #{src\ 14965}#
+                 #{exp\ 14966}#)))
+           (#{build-primref\ 12864}#
+             (lambda (#{src\ 14969}# #{name\ 14970}#)
                (if (equal?
                      (module-name (current-module))
                      '(guile))
-                 (let ((#{atom-key\ 2756}# (fluid-ref #{*mode*\ 565}#)))
-                   (if (memv #{atom-key\ 2756}# (quote (c)))
-                     ((@ (language tree-il) make-toplevel-ref)
-                      #{src\ 2750}#
-                      #{name\ 2751}#)
-                     (#{decorate-source\ 584}#
-                       #{name\ 2751}#
-                       #{src\ 2750}#)))
-                 (let ((#{atom-key\ 2761}# (fluid-ref #{*mode*\ 565}#)))
-                   (if (memv #{atom-key\ 2761}# (quote (c)))
-                     ((@ (language tree-il) make-module-ref)
-                      #{src\ 2750}#
-                      '(guile)
-                      #{name\ 2751}#
-                      #f)
-                     (#{decorate-source\ 584}#
-                       (list (quote @@) (quote (guile)) #{name\ 2751}#)
-                       #{src\ 2750}#))))))
-           (#{build-lambda-case\ 612}#
-             (lambda (#{src\ 2765}#
-                      #{req\ 2766}#
-                      #{opt\ 2767}#
-                      #{rest\ 2768}#
-                      #{kw\ 2769}#
-                      #{inits\ 2770}#
-                      #{vars\ 2771}#
-                      #{body\ 2772}#
-                      #{else-case\ 2773}#)
-               (let ((#{atom-key\ 2785}# (fluid-ref #{*mode*\ 565}#)))
-                 (if (memv #{atom-key\ 2785}# (quote (c)))
-                   ((@ (language tree-il) make-lambda-case)
-                    #{src\ 2765}#
-                    #{req\ 2766}#
-                    #{opt\ 2767}#
-                    #{rest\ 2768}#
-                    #{kw\ 2769}#
-                    #{inits\ 2770}#
-                    #{vars\ 2771}#
-                    #{body\ 2772}#
-                    #{else-case\ 2773}#)
-                   (let ((#{nreq\ 2790}# (length #{req\ 2766}#)))
-                     (let ((#{nopt\ 2792}#
-                             (if #{opt\ 2767}# (length #{opt\ 2767}#) 0)))
-                       (let ((#{rest-idx\ 2794}#
-                               (if #{rest\ 2768}#
-                                 (+ #{nreq\ 2790}# #{nopt\ 2792}#)
+                 (#{make-toplevel-ref\ 12795}#
+                   #{src\ 14969}#
+                   #{name\ 14970}#)
+                 (#{make-module-ref\ 12791}#
+                   #{src\ 14969}#
+                   '(guile)
+                   #{name\ 14970}#
+                   #f))))
+           (#{build-lambda-case\ 12862}#
+             (lambda (#{src\ 14973}#
+                      #{req\ 14974}#
+                      #{opt\ 14975}#
+                      #{rest\ 14976}#
+                      #{kw\ 14977}#
+                      #{inits\ 14978}#
+                      #{vars\ 14979}#
+                      #{body\ 14980}#
+                      #{else-case\ 14981}#)
+               (let ((#{atom-key\ 14993}#
+                       (fluid-ref #{*mode*\ 12778}#)))
+                 (if (memv #{atom-key\ 14993}# (quote (c)))
+                   (#{make-lambda-case\ 12809}#
+                     #{src\ 14973}#
+                     #{req\ 14974}#
+                     #{opt\ 14975}#
+                     #{rest\ 14976}#
+                     #{kw\ 14977}#
+                     #{inits\ 14978}#
+                     #{vars\ 14979}#
+                     #{body\ 14980}#
+                     #{else-case\ 14981}#)
+                   (let ((#{nreq\ 14998}# (length #{req\ 14974}#)))
+                     (let ((#{nopt\ 15000}#
+                             (if #{opt\ 14975}# (length #{opt\ 14975}#) 0)))
+                       (let ((#{rest-idx\ 15002}#
+                               (if #{rest\ 14976}#
+                                 (+ #{nreq\ 14998}# #{nopt\ 15000}#)
                                  #f)))
-                         (let ((#{allow-other-keys?\ 2798}#
-                                 (if #{kw\ 2769}# (car #{kw\ 2769}#) #f)))
-                           (let ((#{kw-indices\ 2800}#
-                                   (map (lambda (#{x\ 2801}#)
-                                          (cons (car #{x\ 2801}#)
+                         (let ((#{allow-other-keys?\ 15006}#
+                                 (if #{kw\ 14977}# (car #{kw\ 14977}#) #f)))
+                           (let ((#{kw-indices\ 15008}#
+                                   (map (lambda (#{x\ 15009}#)
+                                          (cons (car #{x\ 15009}#)
                                                 (list-index
-                                                  #{vars\ 2771}#
-                                                  (caddr #{x\ 2801}#))))
-                                        (if #{kw\ 2769}#
-                                          (cdr #{kw\ 2769}#)
+                                                  #{vars\ 14979}#
+                                                  (caddr #{x\ 15009}#))))
+                                        (if #{kw\ 14977}#
+                                          (cdr #{kw\ 14977}#)
                                           '()))))
-                             (let ((#{nargs\ 2804}#
+                             (let ((#{nargs\ 15012}#
                                      (apply max
-                                            (+ #{nreq\ 2790}#
-                                               #{nopt\ 2792}#
-                                               (if #{rest\ 2768}# 1 0))
+                                            (+ #{nreq\ 14998}#
+                                               #{nopt\ 15000}#
+                                               (if #{rest\ 14976}# 1 0))
                                             (map 1+
                                                  (map cdr
-                                                      #{kw-indices\ 2800}#)))))
+                                                      #{kw-indices\ 
15008}#)))))
                                (begin
-                                 (let ((#{t\ 2807}#
-                                         (= #{nargs\ 2804}#
-                                            (length #{vars\ 2771}#)
-                                            (+ #{nreq\ 2790}#
-                                               (length #{inits\ 2770}#)
-                                               (if #{rest\ 2768}# 1 0)))))
-                                   (if #{t\ 2807}#
-                                     #{t\ 2807}#
+                                 (let ((#{t\ 15015}#
+                                         (= #{nargs\ 15012}#
+                                            (length #{vars\ 14979}#)
+                                            (+ #{nreq\ 14998}#
+                                               (length #{inits\ 14978}#)
+                                               (if #{rest\ 14976}# 1 0)))))
+                                   (if #{t\ 15015}#
+                                     #{t\ 15015}#
                                      (error "something went wrong"
-                                            #{req\ 2766}#
-                                            #{opt\ 2767}#
-                                            #{rest\ 2768}#
-                                            #{kw\ 2769}#
-                                            #{inits\ 2770}#
-                                            #{vars\ 2771}#
-                                            #{nreq\ 2790}#
-                                            #{nopt\ 2792}#
-                                            #{kw-indices\ 2800}#
-                                            #{nargs\ 2804}#)))
-                                 (#{decorate-source\ 584}#
-                                   (cons (list (append
-                                                 (list-head
-                                                   #{vars\ 2771}#
-                                                   #{nreq\ 2790}#)
-                                                 (append
-                                                   (if #{opt\ 2767}#
-                                                     (cons #:optional
-                                                           (map list
-                                                                (list-head
-                                                                  (list-tail
-                                                                    #{vars\ 
2771}#
-                                                                    #{nreq\ 
2790}#)
-                                                                  #{nopt\ 
2792}#)
-                                                                (list-head
-                                                                  #{inits\ 
2770}#
-                                                                  #{nopt\ 
2792}#)))
-                                                     '())
-                                                   (append
-                                                     (if #{kw\ 2769}#
-                                                       (cons #:key
-                                                             (map (lambda 
(#{x\ 2812}#
-                                                                           
#{init\ 2813}#)
-                                                                    (list 
(caddr #{x\ 2812}#)
-                                                                          
#{init\ 2813}#
-                                                                          (car 
#{x\ 2812}#)))
-                                                                  (cdr #{kw\ 
2769}#)
-                                                                  (list-tail
-                                                                    #{inits\ 
2770}#
-                                                                    #{nopt\ 
2792}#)))
-                                                       '())
-                                                     (append
-                                                       (if 
#{allow-other-keys?\ 2798}#
-                                                         '(#:allow-other-keys)
-                                                         '())
-                                                       (if #{rest\ 2768}#
-                                                         (list-ref
-                                                           #{vars\ 2771}#
-                                                           #{rest-idx\ 2794}#)
-                                                         '())))))
-                                               #{body\ 2772}#)
-                                         (let ((#{t\ 2818}#
-                                                 #{else-case\ 2773}#))
-                                           (if #{t\ 2818}#
-                                             #{t\ 2818}#
-                                             '())))
-                                   #{src\ 2765}#))))))))))))
-           (#{build-case-lambda\ 610}#
-             (lambda (#{src\ 2820}# #{meta\ 2821}# #{body\ 2822}#)
-               (let ((#{atom-key\ 2828}# (fluid-ref #{*mode*\ 565}#)))
-                 (if (memv #{atom-key\ 2828}# (quote (c)))
-                   ((@ (language tree-il) make-lambda)
-                    #{src\ 2820}#
-                    #{meta\ 2821}#
-                    #{body\ 2822}#)
-                   (#{decorate-source\ 584}#
-                     (cons (quote case-lambda*) #{body\ 2822}#)
-                     #{src\ 2820}#)))))
-           (#{build-simple-lambda\ 608}#
-             (lambda (#{src\ 2832}#
-                      #{req\ 2833}#
-                      #{rest\ 2834}#
-                      #{vars\ 2835}#
-                      #{meta\ 2836}#
-                      #{exp\ 2837}#)
-               (let ((#{atom-key\ 2846}# (fluid-ref #{*mode*\ 565}#)))
-                 (if (memv #{atom-key\ 2846}# (quote (c)))
-                   ((@ (language tree-il) make-lambda)
-                    #{src\ 2832}#
-                    #{meta\ 2836}#
-                    ((@ (language tree-il) make-lambda-case)
-                     #{src\ 2832}#
-                     #{req\ 2833}#
-                     #f
-                     #{rest\ 2834}#
-                     #f
-                     '()
-                     #{vars\ 2835}#
-                     #{exp\ 2837}#
-                     #f))
-                   (#{decorate-source\ 584}#
-                     (list 'lambda
-                           (if #{rest\ 2834}#
-                             (apply cons* #{vars\ 2835}#)
-                             #{vars\ 2835}#)
-                           #{exp\ 2837}#)
-                     #{src\ 2832}#)))))
-           (#{build-global-definition\ 606}#
-             (lambda (#{source\ 2850}# #{var\ 2851}# #{exp\ 2852}#)
-               (let ((#{atom-key\ 2858}# (fluid-ref #{*mode*\ 565}#)))
-                 (if (memv #{atom-key\ 2858}# (quote (c)))
-                   (begin
-                     (#{maybe-name-value!\ 604}#
-                       #{var\ 2851}#
-                       #{exp\ 2852}#)
-                     ((@ (language tree-il) make-toplevel-define)
-                      #{source\ 2850}#
-                      #{var\ 2851}#
-                      #{exp\ 2852}#))
-                   (#{decorate-source\ 584}#
-                     (list (quote define) #{var\ 2851}# #{exp\ 2852}#)
-                     #{source\ 2850}#)))))
-           (#{maybe-name-value!\ 604}#
-             (lambda (#{name\ 2862}# #{val\ 2863}#)
-               (if ((@ (language tree-il) lambda?) #{val\ 2863}#)
-                 (let ((#{meta\ 2869}#
+                                            #{req\ 14974}#
+                                            #{opt\ 14975}#
+                                            #{rest\ 14976}#
+                                            #{kw\ 14977}#
+                                            #{inits\ 14978}#
+                                            #{vars\ 14979}#
+                                            #{nreq\ 14998}#
+                                            #{nopt\ 15000}#
+                                            #{kw-indices\ 15008}#
+                                            #{nargs\ 15012}#)))
+                                 (#{make-lambda-case\ 12809}#
+                                   #{src\ 14973}#
+                                   #{req\ 14974}#
+                                   #{opt\ 14975}#
+                                   #{rest\ 14976}#
+                                   (if #{kw\ 14977}#
+                                     (cons #{allow-other-keys?\ 15006}#
+                                           #{kw-indices\ 15008}#)
+                                     #f)
+                                   #{inits\ 14978}#
+                                   #{vars\ 14979}#
+                                   #{body\ 14980}#
+                                   #{else-case\ 14981}#))))))))))))
+           (#{build-case-lambda\ 12860}#
+             (lambda (#{src\ 15019}# #{meta\ 15020}# #{body\ 15021}#)
+               (#{make-lambda\ 12807}#
+                 #{src\ 15019}#
+                 #{meta\ 15020}#
+                 #{body\ 15021}#)))
+           (#{build-simple-lambda\ 12858}#
+             (lambda (#{src\ 15025}#
+                      #{req\ 15026}#
+                      #{rest\ 15027}#
+                      #{vars\ 15028}#
+                      #{meta\ 15029}#
+                      #{exp\ 15030}#)
+               (#{make-lambda\ 12807}#
+                 #{src\ 15025}#
+                 #{meta\ 15029}#
+                 (#{make-lambda-case\ 12809}#
+                   #{src\ 15025}#
+                   #{req\ 15026}#
+                   #f
+                   #{rest\ 15027}#
+                   #f
+                   '()
+                   #{vars\ 15028}#
+                   #{exp\ 15030}#
+                   #f))))
+           (#{build-global-definition\ 12856}#
+             (lambda (#{source\ 15037}# #{var\ 15038}# #{exp\ 15039}#)
+               (#{make-toplevel-define\ 12799}#
+                 #{source\ 15037}#
+                 #{var\ 15038}#
+                 #{exp\ 15039}#)))
+           (#{maybe-name-value!\ 12854}#
+             (lambda (#{name\ 15043}# #{val\ 15044}#)
+               (if ((@ (language tree-il) lambda?) #{val\ 15044}#)
+                 (let ((#{meta\ 15050}#
                          ((@ (language tree-il) lambda-meta)
-                          #{val\ 2863}#)))
-                   (if (not (assq (quote name) #{meta\ 2869}#))
+                          #{val\ 15044}#)))
+                   (if (not (assq (quote name) #{meta\ 15050}#))
                      ((setter (@ (language tree-il) lambda-meta))
-                      #{val\ 2863}#
+                      #{val\ 15044}#
                       (acons 'name
-                             #{name\ 2862}#
-                             #{meta\ 2869}#)))))))
-           (#{build-global-assignment\ 602}#
-             (lambda (#{source\ 2870}#
-                      #{var\ 2871}#
-                      #{exp\ 2872}#
-                      #{mod\ 2873}#)
-               (#{analyze-variable\ 598}#
-                 #{mod\ 2873}#
-                 #{var\ 2871}#
-                 (lambda (#{mod\ 2878}# #{var\ 2879}# #{public?\ 2880}#)
-                   (let ((#{atom-key\ 2886}# (fluid-ref #{*mode*\ 565}#)))
-                     (if (memv #{atom-key\ 2886}# (quote (c)))
-                       ((@ (language tree-il) make-module-set)
-                        #{source\ 2870}#
-                        #{mod\ 2878}#
-                        #{var\ 2879}#
-                        #{public?\ 2880}#
-                        #{exp\ 2872}#)
-                       (#{decorate-source\ 584}#
-                         (list 'set!
-                               (list (if #{public?\ 2880}#
-                                       '@
-                                       '@@)
-                                     #{mod\ 2878}#
-                                     #{var\ 2879}#)
-                               #{exp\ 2872}#)
-                         #{source\ 2870}#))))
-                 (lambda (#{var\ 2890}#)
-                   (let ((#{atom-key\ 2894}# (fluid-ref #{*mode*\ 565}#)))
-                     (if (memv #{atom-key\ 2894}# (quote (c)))
-                       ((@ (language tree-il) make-toplevel-set)
-                        #{source\ 2870}#
-                        #{var\ 2890}#
-                        #{exp\ 2872}#)
-                       (#{decorate-source\ 584}#
-                         (list (quote set!) #{var\ 2890}# #{exp\ 2872}#)
-                         #{source\ 2870}#)))))))
-           (#{build-global-reference\ 600}#
-             (lambda (#{source\ 2898}# #{var\ 2899}# #{mod\ 2900}#)
-               (#{analyze-variable\ 598}#
-                 #{mod\ 2900}#
-                 #{var\ 2899}#
-                 (lambda (#{mod\ 2904}# #{var\ 2905}# #{public?\ 2906}#)
-                   (let ((#{atom-key\ 2912}# (fluid-ref #{*mode*\ 565}#)))
-                     (if (memv #{atom-key\ 2912}# (quote (c)))
-                       ((@ (language tree-il) make-module-ref)
-                        #{source\ 2898}#
-                        #{mod\ 2904}#
-                        #{var\ 2905}#
-                        #{public?\ 2906}#)
-                       (#{decorate-source\ 584}#
-                         (list (if #{public?\ 2906}# (quote @) (quote @@))
-                               #{mod\ 2904}#
-                               #{var\ 2905}#)
-                         #{source\ 2898}#))))
-                 (lambda (#{var\ 2915}#)
-                   (let ((#{atom-key\ 2919}# (fluid-ref #{*mode*\ 565}#)))
-                     (if (memv #{atom-key\ 2919}# (quote (c)))
-                       ((@ (language tree-il) make-toplevel-ref)
-                        #{source\ 2898}#
-                        #{var\ 2915}#)
-                       (#{decorate-source\ 584}#
-                         #{var\ 2915}#
-                         #{source\ 2898}#)))))))
-           (#{analyze-variable\ 598}#
-             (lambda (#{mod\ 2922}#
-                      #{var\ 2923}#
-                      #{modref-cont\ 2924}#
-                      #{bare-cont\ 2925}#)
-               (if (not #{mod\ 2922}#)
-                 (#{bare-cont\ 2925}# #{var\ 2923}#)
-                 (let ((#{kind\ 2932}# (car #{mod\ 2922}#))
-                       (#{mod\ 2933}# (cdr #{mod\ 2922}#)))
-                   (if (memv #{kind\ 2932}# (quote (public)))
-                     (#{modref-cont\ 2924}#
-                       #{mod\ 2933}#
-                       #{var\ 2923}#
+                             #{name\ 15043}#
+                             #{meta\ 15050}#)))))))
+           (#{build-global-assignment\ 12852}#
+             (lambda (#{source\ 15051}#
+                      #{var\ 15052}#
+                      #{exp\ 15053}#
+                      #{mod\ 15054}#)
+               (#{analyze-variable\ 12848}#
+                 #{mod\ 15054}#
+                 #{var\ 15052}#
+                 (lambda (#{mod\ 15059}#
+                          #{var\ 15060}#
+                          #{public?\ 15061}#)
+                   (#{make-module-set\ 12793}#
+                     #{source\ 15051}#
+                     #{mod\ 15059}#
+                     #{var\ 15060}#
+                     #{public?\ 15061}#
+                     #{exp\ 15053}#))
+                 (lambda (#{var\ 15065}#)
+                   (#{make-toplevel-set\ 12797}#
+                     #{source\ 15051}#
+                     #{var\ 15065}#
+                     #{exp\ 15053}#)))))
+           (#{build-global-reference\ 12850}#
+             (lambda (#{source\ 15067}# #{var\ 15068}# #{mod\ 15069}#)
+               (#{analyze-variable\ 12848}#
+                 #{mod\ 15069}#
+                 #{var\ 15068}#
+                 (lambda (#{mod\ 15073}#
+                          #{var\ 15074}#
+                          #{public?\ 15075}#)
+                   (#{make-module-ref\ 12791}#
+                     #{source\ 15067}#
+                     #{mod\ 15073}#
+                     #{var\ 15074}#
+                     #{public?\ 15075}#))
+                 (lambda (#{var\ 15079}#)
+                   (#{make-toplevel-ref\ 12795}#
+                     #{source\ 15067}#
+                     #{var\ 15079}#)))))
+           (#{analyze-variable\ 12848}#
+             (lambda (#{mod\ 15081}#
+                      #{var\ 15082}#
+                      #{modref-cont\ 15083}#
+                      #{bare-cont\ 15084}#)
+               (if (not #{mod\ 15081}#)
+                 (#{bare-cont\ 15084}# #{var\ 15082}#)
+                 (let ((#{kind\ 15091}# (car #{mod\ 15081}#))
+                       (#{mod\ 15092}# (cdr #{mod\ 15081}#)))
+                   (if (memv #{kind\ 15091}# (quote (public)))
+                     (#{modref-cont\ 15083}#
+                       #{mod\ 15092}#
+                       #{var\ 15082}#
                        #t)
-                     (if (memv #{kind\ 2932}# (quote (private)))
+                     (if (memv #{kind\ 15091}# (quote (private)))
                        (if (not (equal?
-                                  #{mod\ 2933}#
+                                  #{mod\ 15092}#
                                   (module-name (current-module))))
-                         (#{modref-cont\ 2924}#
-                           #{mod\ 2933}#
-                           #{var\ 2923}#
+                         (#{modref-cont\ 15083}#
+                           #{mod\ 15092}#
+                           #{var\ 15082}#
                            #f)
-                         (#{bare-cont\ 2925}# #{var\ 2923}#))
-                       (if (memv #{kind\ 2932}# (quote (bare)))
-                         (#{bare-cont\ 2925}# #{var\ 2923}#)
-                         (if (memv #{kind\ 2932}# (quote (hygiene)))
+                         (#{bare-cont\ 15084}# #{var\ 15082}#))
+                       (if (memv #{kind\ 15091}# (quote (bare)))
+                         (#{bare-cont\ 15084}# #{var\ 15082}#)
+                         (if (memv #{kind\ 15091}# (quote (hygiene)))
                            (if (if (not (equal?
-                                          #{mod\ 2933}#
+                                          #{mod\ 15092}#
                                           (module-name (current-module))))
                                  (module-variable
-                                   (resolve-module #{mod\ 2933}#)
-                                   #{var\ 2923}#)
+                                   (resolve-module #{mod\ 15092}#)
+                                   #{var\ 15082}#)
                                  #f)
-                             (#{modref-cont\ 2924}#
-                               #{mod\ 2933}#
-                               #{var\ 2923}#
+                             (#{modref-cont\ 15083}#
+                               #{mod\ 15092}#
+                               #{var\ 15082}#
                                #f)
-                             (#{bare-cont\ 2925}# #{var\ 2923}#))
+                             (#{bare-cont\ 15084}# #{var\ 15082}#))
                            (syntax-violation
                              #f
                              "bad module kind"
-                             #{var\ 2923}#
-                             #{mod\ 2933}#)))))))))
-           (#{build-lexical-assignment\ 596}#
-             (lambda (#{source\ 2941}#
-                      #{name\ 2942}#
-                      #{var\ 2943}#
-                      #{exp\ 2944}#)
-               (let ((#{atom-key\ 2951}# (fluid-ref #{*mode*\ 565}#)))
-                 (if (memv #{atom-key\ 2951}# (quote (c)))
-                   ((@ (language tree-il) make-lexical-set)
-                    #{source\ 2941}#
-                    #{name\ 2942}#
-                    #{var\ 2943}#
-                    #{exp\ 2944}#)
-                   (#{decorate-source\ 584}#
-                     (list (quote set!) #{var\ 2943}# #{exp\ 2944}#)
-                     #{source\ 2941}#)))))
-           (#{build-lexical-reference\ 594}#
-             (lambda (#{type\ 2955}#
-                      #{source\ 2956}#
-                      #{name\ 2957}#
-                      #{var\ 2958}#)
-               (let ((#{atom-key\ 2965}# (fluid-ref #{*mode*\ 565}#)))
-                 (if (memv #{atom-key\ 2965}# (quote (c)))
-                   ((@ (language tree-il) make-lexical-ref)
-                    #{source\ 2956}#
-                    #{name\ 2957}#
-                    #{var\ 2958}#)
-                   (#{decorate-source\ 584}#
-                     #{var\ 2958}#
-                     #{source\ 2956}#)))))
-           (#{build-dynlet\ 592}#
-             (lambda (#{source\ 2968}#
-                      #{fluids\ 2969}#
-                      #{vals\ 2970}#
-                      #{body\ 2971}#)
-               (let ((#{atom-key\ 2978}# (fluid-ref #{*mode*\ 565}#)))
-                 (if (memv #{atom-key\ 2978}# (quote (c)))
-                   ((@ (language tree-il) make-dynlet)
-                    #{source\ 2968}#
-                    #{fluids\ 2969}#
-                    #{vals\ 2970}#
-                    #{body\ 2971}#)
-                   (#{decorate-source\ 584}#
-                     (list 'with-fluids
-                           (map list #{fluids\ 2969}# #{vals\ 2970}#)
-                           #{body\ 2971}#)
-                     #{source\ 2968}#)))))
-           (#{build-conditional\ 590}#
-             (lambda (#{source\ 2982}#
-                      #{test-exp\ 2983}#
-                      #{then-exp\ 2984}#
-                      #{else-exp\ 2985}#)
-               (let ((#{atom-key\ 2992}# (fluid-ref #{*mode*\ 565}#)))
-                 (if (memv #{atom-key\ 2992}# (quote (c)))
-                   ((@ (language tree-il) make-conditional)
-                    #{source\ 2982}#
-                    #{test-exp\ 2983}#
-                    #{then-exp\ 2984}#
-                    #{else-exp\ 2985}#)
-                   (#{decorate-source\ 584}#
-                     (if (equal? #{else-exp\ 2985}# (quote (if #f #f)))
-                       (list 'if
-                             #{test-exp\ 2983}#
-                             #{then-exp\ 2984}#)
-                       (list 'if
-                             #{test-exp\ 2983}#
-                             #{then-exp\ 2984}#
-                             #{else-exp\ 2985}#))
-                     #{source\ 2982}#)))))
-           (#{build-application\ 588}#
-             (lambda (#{source\ 2997}#
-                      #{fun-exp\ 2998}#
-                      #{arg-exps\ 2999}#)
-               (let ((#{atom-key\ 3005}# (fluid-ref #{*mode*\ 565}#)))
-                 (if (memv #{atom-key\ 3005}# (quote (c)))
-                   ((@ (language tree-il) make-application)
-                    #{source\ 2997}#
-                    #{fun-exp\ 2998}#
-                    #{arg-exps\ 2999}#)
-                   (#{decorate-source\ 584}#
-                     (cons #{fun-exp\ 2998}# #{arg-exps\ 2999}#)
-                     #{source\ 2997}#)))))
-           (#{build-void\ 586}#
-             (lambda (#{source\ 3009}#)
-               (let ((#{atom-key\ 3013}# (fluid-ref #{*mode*\ 565}#)))
-                 (if (memv #{atom-key\ 3013}# (quote (c)))
-                   ((@ (language tree-il) make-void)
-                    #{source\ 3009}#)
-                   (#{decorate-source\ 584}#
-                     '(if #f #f)
-                     #{source\ 3009}#)))))
-           (#{decorate-source\ 584}#
-             (lambda (#{e\ 3016}# #{s\ 3017}#)
+                             #{var\ 15082}#
+                             #{mod\ 15092}#)))))))))
+           (#{build-lexical-assignment\ 12846}#
+             (lambda (#{source\ 15100}#
+                      #{name\ 15101}#
+                      #{var\ 15102}#
+                      #{exp\ 15103}#)
+               (#{make-lexical-set\ 12789}#
+                 #{source\ 15100}#
+                 #{name\ 15101}#
+                 #{var\ 15102}#
+                 #{exp\ 15103}#)))
+           (#{build-lexical-reference\ 12844}#
+             (lambda (#{type\ 15108}#
+                      #{source\ 15109}#
+                      #{name\ 15110}#
+                      #{var\ 15111}#)
+               (#{make-lexical-ref\ 12787}#
+                 #{source\ 15109}#
+                 #{name\ 15110}#
+                 #{var\ 15111}#)))
+           (#{build-dynlet\ 12842}#
+             (lambda (#{source\ 15116}#
+                      #{fluids\ 15117}#
+                      #{vals\ 15118}#
+                      #{body\ 15119}#)
+               (#{make-dynlet\ 12815}#
+                 #{source\ 15116}#
+                 #{fluids\ 15117}#
+                 #{vals\ 15118}#
+                 #{body\ 15119}#)))
+           (#{build-conditional\ 12840}#
+             (lambda (#{source\ 15124}#
+                      #{test-exp\ 15125}#
+                      #{then-exp\ 15126}#
+                      #{else-exp\ 15127}#)
+               (#{make-conditional\ 12801}#
+                 #{source\ 15124}#
+                 #{test-exp\ 15125}#
+                 #{then-exp\ 15126}#
+                 #{else-exp\ 15127}#)))
+           (#{build-application\ 12838}#
+             (lambda (#{source\ 15132}#
+                      #{fun-exp\ 15133}#
+                      #{arg-exps\ 15134}#)
+               (#{make-application\ 12803}#
+                 #{source\ 15132}#
+                 #{fun-exp\ 15133}#
+                 #{arg-exps\ 15134}#)))
+           (#{build-void\ 12836}#
+             (lambda (#{source\ 15138}#)
+               (#{make-void\ 12781}# #{source\ 15138}#)))
+           (#{decorate-source\ 12834}#
+             (lambda (#{e\ 15140}# #{s\ 15141}#)
                (begin
-                 (if (if (pair? #{e\ 3016}#) #{s\ 3017}# #f)
-                   (set-source-properties! #{e\ 3016}# #{s\ 3017}#))
-                 #{e\ 3016}#)))
-           (#{get-global-definition-hook\ 582}#
-             (lambda (#{symbol\ 3022}# #{module\ 3023}#)
+                 (if (if (pair? #{e\ 15140}#) #{s\ 15141}# #f)
+                   (set-source-properties!
+                     #{e\ 15140}#
+                     #{s\ 15141}#))
+                 #{e\ 15140}#)))
+           (#{get-global-definition-hook\ 12832}#
+             (lambda (#{symbol\ 15146}# #{module\ 15147}#)
                (begin
-                 (if (if (not #{module\ 3023}#) (current-module) #f)
+                 (if (if (not #{module\ 15147}#) (current-module) #f)
                    (warn "module system is booted, we should have a module"
-                         #{symbol\ 3022}#))
-                 (let ((#{v\ 3029}#
+                         #{symbol\ 15146}#))
+                 (let ((#{v\ 15153}#
                          (module-variable
-                           (if #{module\ 3023}#
-                             (resolve-module (cdr #{module\ 3023}#))
+                           (if #{module\ 15147}#
+                             (resolve-module (cdr #{module\ 15147}#))
                              (current-module))
-                           #{symbol\ 3022}#)))
-                   (if #{v\ 3029}#
-                     (if (variable-bound? #{v\ 3029}#)
-                       (let ((#{val\ 3034}# (variable-ref #{v\ 3029}#)))
-                         (if (macro? #{val\ 3034}#)
-                           (if (macro-type #{val\ 3034}#)
-                             (cons (macro-type #{val\ 3034}#)
-                                   (macro-binding #{val\ 3034}#))
+                           #{symbol\ 15146}#)))
+                   (if #{v\ 15153}#
+                     (if (variable-bound? #{v\ 15153}#)
+                       (let ((#{val\ 15158}# (variable-ref #{v\ 15153}#)))
+                         (if (macro? #{val\ 15158}#)
+                           (if (macro-type #{val\ 15158}#)
+                             (cons (macro-type #{val\ 15158}#)
+                                   (macro-binding #{val\ 15158}#))
                              #f)
                            #f))
                        #f)
                      #f)))))
-           (#{put-global-definition-hook\ 580}#
-             (lambda (#{symbol\ 3038}# #{type\ 3039}# #{val\ 3040}#)
+           (#{put-global-definition-hook\ 12830}#
+             (lambda (#{symbol\ 15162}#
+                      #{type\ 15163}#
+                      #{val\ 15164}#)
                (module-define!
                  (current-module)
-                 #{symbol\ 3038}#
+                 #{symbol\ 15162}#
                  (make-syntax-transformer
-                   #{symbol\ 3038}#
-                   #{type\ 3039}#
-                   #{val\ 3040}#))))
-           (#{local-eval-hook\ 577}#
-             (lambda (#{x\ 3044}# #{mod\ 3045}#)
+                   #{symbol\ 15162}#
+                   #{type\ 15163}#
+                   #{val\ 15164}#))))
+           (#{local-eval-hook\ 12827}#
+             (lambda (#{x\ 15168}# #{mod\ 15169}#)
                (primitive-eval
-                 (memoize-expression
-                   (let ((#{atom-key\ 3050}# (fluid-ref #{*mode*\ 565}#)))
-                     (if (memv #{atom-key\ 3050}# (quote (c)))
-                       ((@ (language tree-il) tree-il->scheme)
-                        #{x\ 3044}#)
-                       #{x\ 3044}#))))))
-           (#{top-level-eval-hook\ 575}#
-             (lambda (#{x\ 3053}# #{mod\ 3054}#)
+                 (memoize-expression #{x\ 15168}#))))
+           (#{top-level-eval-hook\ 12825}#
+             (lambda (#{x\ 15172}# #{mod\ 15173}#)
                (primitive-eval
-                 (memoize-expression
-                   (let ((#{atom-key\ 3059}# (fluid-ref #{*mode*\ 565}#)))
-                     (if (memv #{atom-key\ 3059}# (quote (c)))
-                       ((@ (language tree-il) tree-il->scheme)
-                        #{x\ 3053}#)
-                       #{x\ 3053}#))))))
-           (#{fx<\ 573}# <)
-           (#{fx=\ 571}# =)
-           (#{fx-\ 569}# -)
-           (#{fx+\ 567}# +)
-           (#{*mode*\ 565}# (make-fluid)))
+                 (memoize-expression #{x\ 15172}#))))
+           (#{fx<\ 12823}# <)
+           (#{fx=\ 12821}# =)
+           (#{fx-\ 12819}# -)
+           (#{fx+\ 12817}# +)
+           (#{make-dynlet\ 12815}#
+             (lambda (#{src\ 15176}#
+                      #{fluids\ 15177}#
+                      #{vals\ 15178}#
+                      #{body\ 15179}#)
+               (make-struct
+                 (vector-ref %expanded-vtables 17)
+                 0
+                 #{src\ 15176}#
+                 #{fluids\ 15177}#
+                 #{vals\ 15178}#
+                 #{body\ 15179}#)))
+           (#{make-letrec\ 12813}#
+             (lambda (#{src\ 15184}#
+                      #{names\ 15185}#
+                      #{gensyms\ 15186}#
+                      #{vals\ 15187}#
+                      #{body\ 15188}#)
+               (make-struct
+                 (vector-ref %expanded-vtables 16)
+                 0
+                 #{src\ 15184}#
+                 #{names\ 15185}#
+                 #{gensyms\ 15186}#
+                 #{vals\ 15187}#
+                 #{body\ 15188}#)))
+           (#{make-let\ 12811}#
+             (lambda (#{src\ 15194}#
+                      #{names\ 15195}#
+                      #{gensyms\ 15196}#
+                      #{vals\ 15197}#
+                      #{body\ 15198}#)
+               (make-struct
+                 (vector-ref %expanded-vtables 15)
+                 0
+                 #{src\ 15194}#
+                 #{names\ 15195}#
+                 #{gensyms\ 15196}#
+                 #{vals\ 15197}#
+                 #{body\ 15198}#)))
+           (#{make-lambda-case\ 12809}#
+             (lambda (#{src\ 15204}#
+                      #{req\ 15205}#
+                      #{opt\ 15206}#
+                      #{rest\ 15207}#
+                      #{kw\ 15208}#
+                      #{inits\ 15209}#
+                      #{gensyms\ 15210}#
+                      #{body\ 15211}#
+                      #{alternate\ 15212}#)
+               (make-struct
+                 (vector-ref %expanded-vtables 14)
+                 0
+                 #{src\ 15204}#
+                 #{req\ 15205}#
+                 #{opt\ 15206}#
+                 #{rest\ 15207}#
+                 #{kw\ 15208}#
+                 #{inits\ 15209}#
+                 #{gensyms\ 15210}#
+                 #{body\ 15211}#
+                 #{alternate\ 15212}#)))
+           (#{make-lambda\ 12807}#
+             (lambda (#{src\ 15222}# #{meta\ 15223}# #{body\ 15224}#)
+               (make-struct
+                 (vector-ref %expanded-vtables 13)
+                 0
+                 #{src\ 15222}#
+                 #{meta\ 15223}#
+                 #{body\ 15224}#)))
+           (#{make-sequence\ 12805}#
+             (lambda (#{src\ 15228}# #{exps\ 15229}#)
+               (make-struct
+                 (vector-ref %expanded-vtables 12)
+                 0
+                 #{src\ 15228}#
+                 #{exps\ 15229}#)))
+           (#{make-application\ 12803}#
+             (lambda (#{src\ 15232}# #{proc\ 15233}# #{args\ 15234}#)
+               (make-struct
+                 (vector-ref %expanded-vtables 11)
+                 0
+                 #{src\ 15232}#
+                 #{proc\ 15233}#
+                 #{args\ 15234}#)))
+           (#{make-conditional\ 12801}#
+             (lambda (#{src\ 15238}#
+                      #{test\ 15239}#
+                      #{consequent\ 15240}#
+                      #{alternate\ 15241}#)
+               (make-struct
+                 (vector-ref %expanded-vtables 10)
+                 0
+                 #{src\ 15238}#
+                 #{test\ 15239}#
+                 #{consequent\ 15240}#
+                 #{alternate\ 15241}#)))
+           (#{make-toplevel-define\ 12799}#
+             (lambda (#{src\ 15246}# #{name\ 15247}# #{exp\ 15248}#)
+               (make-struct
+                 (vector-ref %expanded-vtables 9)
+                 0
+                 #{src\ 15246}#
+                 #{name\ 15247}#
+                 #{exp\ 15248}#)))
+           (#{make-toplevel-set\ 12797}#
+             (lambda (#{src\ 15252}# #{name\ 15253}# #{exp\ 15254}#)
+               (make-struct
+                 (vector-ref %expanded-vtables 8)
+                 0
+                 #{src\ 15252}#
+                 #{name\ 15253}#
+                 #{exp\ 15254}#)))
+           (#{make-toplevel-ref\ 12795}#
+             (lambda (#{src\ 15258}# #{name\ 15259}#)
+               (make-struct
+                 (vector-ref %expanded-vtables 7)
+                 0
+                 #{src\ 15258}#
+                 #{name\ 15259}#)))
+           (#{make-module-set\ 12793}#
+             (lambda (#{src\ 15262}#
+                      #{mod\ 15263}#
+                      #{name\ 15264}#
+                      #{public?\ 15265}#
+                      #{exp\ 15266}#)
+               (make-struct
+                 (vector-ref %expanded-vtables 6)
+                 0
+                 #{src\ 15262}#
+                 #{mod\ 15263}#
+                 #{name\ 15264}#
+                 #{public?\ 15265}#
+                 #{exp\ 15266}#)))
+           (#{make-module-ref\ 12791}#
+             (lambda (#{src\ 15272}#
+                      #{mod\ 15273}#
+                      #{name\ 15274}#
+                      #{public?\ 15275}#)
+               (make-struct
+                 (vector-ref %expanded-vtables 5)
+                 0
+                 #{src\ 15272}#
+                 #{mod\ 15273}#
+                 #{name\ 15274}#
+                 #{public?\ 15275}#)))
+           (#{make-lexical-set\ 12789}#
+             (lambda (#{src\ 15280}#
+                      #{name\ 15281}#
+                      #{gensym\ 15282}#
+                      #{exp\ 15283}#)
+               (make-struct
+                 (vector-ref %expanded-vtables 4)
+                 0
+                 #{src\ 15280}#
+                 #{name\ 15281}#
+                 #{gensym\ 15282}#
+                 #{exp\ 15283}#)))
+           (#{make-lexical-ref\ 12787}#
+             (lambda (#{src\ 15288}#
+                      #{name\ 15289}#
+                      #{gensym\ 15290}#)
+               (make-struct
+                 (vector-ref %expanded-vtables 3)
+                 0
+                 #{src\ 15288}#
+                 #{name\ 15289}#
+                 #{gensym\ 15290}#)))
+           (#{make-primitive-ref\ 12785}#
+             (lambda (#{src\ 15294}# #{name\ 15295}#)
+               (make-struct
+                 (vector-ref %expanded-vtables 2)
+                 0
+                 #{src\ 15294}#
+                 #{name\ 15295}#)))
+           (#{make-const\ 12783}#
+             (lambda (#{src\ 15298}# #{exp\ 15299}#)
+               (make-struct
+                 (vector-ref %expanded-vtables 1)
+                 0
+                 #{src\ 15298}#
+                 #{exp\ 15299}#)))
+           (#{make-void\ 12781}#
+             (lambda (#{src\ 15302}#)
+               (make-struct
+                 (vector-ref %expanded-vtables 0)
+                 0
+                 #{src\ 15302}#)))
+           (#{*mode*\ 12778}# (make-fluid)))
     (begin
-      (#{global-extend\ 662}#
+      (#{global-extend\ 12912}#
         'local-syntax
         'letrec-syntax
         #t)
-      (#{global-extend\ 662}#
+      (#{global-extend\ 12912}#
         'local-syntax
         'let-syntax
         #f)
-      (#{global-extend\ 662}#
+      (#{global-extend\ 12912}#
         'core
         'fluid-let-syntax
-        (lambda (#{e\ 3062}#
-                 #{r\ 3063}#
-                 #{w\ 3064}#
-                 #{s\ 3065}#
-                 #{mod\ 3066}#)
-          ((lambda (#{tmp\ 3072}#)
-             ((lambda (#{tmp\ 3073}#)
-                (if (if #{tmp\ 3073}#
-                      (apply (lambda (#{_\ 3079}#
-                                      #{var\ 3080}#
-                                      #{val\ 3081}#
-                                      #{e1\ 3082}#
-                                      #{e2\ 3083}#)
-                               (#{valid-bound-ids?\ 729}# #{var\ 3080}#))
-                             #{tmp\ 3073}#)
+        (lambda (#{e\ 15304}#
+                 #{r\ 15305}#
+                 #{w\ 15306}#
+                 #{s\ 15307}#
+                 #{mod\ 15308}#)
+          ((lambda (#{tmp\ 15314}#)
+             ((lambda (#{tmp\ 15315}#)
+                (if (if #{tmp\ 15315}#
+                      (apply (lambda (#{_\ 15321}#
+                                      #{var\ 15322}#
+                                      #{val\ 15323}#
+                                      #{e1\ 15324}#
+                                      #{e2\ 15325}#)
+                               (#{valid-bound-ids?\ 12979}# #{var\ 15322}#))
+                             #{tmp\ 15315}#)
                       #f)
-                  (apply (lambda (#{_\ 3090}#
-                                  #{var\ 3091}#
-                                  #{val\ 3092}#
-                                  #{e1\ 3093}#
-                                  #{e2\ 3094}#)
-                           (let ((#{names\ 3096}#
-                                   (map (lambda (#{x\ 3097}#)
-                                          (#{id-var-name\ 723}#
-                                            #{x\ 3097}#
-                                            #{w\ 3064}#))
-                                        #{var\ 3091}#)))
+                  (apply (lambda (#{_\ 15332}#
+                                  #{var\ 15333}#
+                                  #{val\ 15334}#
+                                  #{e1\ 15335}#
+                                  #{e2\ 15336}#)
+                           (let ((#{names\ 15338}#
+                                   (map (lambda (#{x\ 15339}#)
+                                          (#{id-var-name\ 12973}#
+                                            #{x\ 15339}#
+                                            #{w\ 15306}#))
+                                        #{var\ 15333}#)))
                              (begin
                                (for-each
-                                 (lambda (#{id\ 3100}# #{n\ 3101}#)
-                                   (let ((#{atom-key\ 3106}#
-                                           (#{binding-type\ 649}#
-                                             (#{lookup\ 660}#
-                                               #{n\ 3101}#
-                                               #{r\ 3063}#
-                                               #{mod\ 3066}#))))
-                                     (if (memv #{atom-key\ 3106}#
+                                 (lambda (#{id\ 15342}# #{n\ 15343}#)
+                                   (let ((#{atom-key\ 15348}#
+                                           (#{binding-type\ 12899}#
+                                             (#{lookup\ 12910}#
+                                               #{n\ 15343}#
+                                               #{r\ 15305}#
+                                               #{mod\ 15308}#))))
+                                     (if (memv #{atom-key\ 15348}#
                                                '(displaced-lexical))
                                        (syntax-violation
                                          'fluid-let-syntax
                                          "identifier out of context"
-                                         #{e\ 3062}#
-                                         (#{source-wrap\ 737}#
-                                           #{id\ 3100}#
-                                           #{w\ 3064}#
-                                           #{s\ 3065}#
-                                           #{mod\ 3066}#)))))
-                                 #{var\ 3091}#
-                                 #{names\ 3096}#)
-                               (#{chi-body\ 759}#
-                                 (cons #{e1\ 3093}# #{e2\ 3094}#)
-                                 (#{source-wrap\ 737}#
-                                   #{e\ 3062}#
-                                   #{w\ 3064}#
-                                   #{s\ 3065}#
-                                   #{mod\ 3066}#)
-                                 (#{extend-env\ 654}#
-                                   #{names\ 3096}#
-                                   (let ((#{trans-r\ 3111}#
-                                           (#{macros-only-env\ 658}#
-                                             #{r\ 3063}#)))
-                                     (map (lambda (#{x\ 3112}#)
+                                         #{e\ 15304}#
+                                         (#{source-wrap\ 12987}#
+                                           #{id\ 15342}#
+                                           #{w\ 15306}#
+                                           #{s\ 15307}#
+                                           #{mod\ 15308}#)))))
+                                 #{var\ 15333}#
+                                 #{names\ 15338}#)
+                               (#{chi-body\ 13009}#
+                                 (cons #{e1\ 15335}# #{e2\ 15336}#)
+                                 (#{source-wrap\ 12987}#
+                                   #{e\ 15304}#
+                                   #{w\ 15306}#
+                                   #{s\ 15307}#
+                                   #{mod\ 15308}#)
+                                 (#{extend-env\ 12904}#
+                                   #{names\ 15338}#
+                                   (let ((#{trans-r\ 15353}#
+                                           (#{macros-only-env\ 12908}#
+                                             #{r\ 15305}#)))
+                                     (map (lambda (#{x\ 15354}#)
                                             (cons 'macro
-                                                  (#{eval-local-transformer\ 
763}#
-                                                    (#{chi\ 751}#
-                                                      #{x\ 3112}#
-                                                      #{trans-r\ 3111}#
-                                                      #{w\ 3064}#
-                                                      #{mod\ 3066}#)
-                                                    #{mod\ 3066}#)))
-                                          #{val\ 3092}#))
-                                   #{r\ 3063}#)
-                                 #{w\ 3064}#
-                                 #{mod\ 3066}#))))
-                         #{tmp\ 3073}#)
-                  ((lambda (#{_\ 3117}#)
+                                                  (#{eval-local-transformer\ 
13013}#
+                                                    (#{chi\ 13001}#
+                                                      #{x\ 15354}#
+                                                      #{trans-r\ 15353}#
+                                                      #{w\ 15306}#
+                                                      #{mod\ 15308}#)
+                                                    #{mod\ 15308}#)))
+                                          #{val\ 15334}#))
+                                   #{r\ 15305}#)
+                                 #{w\ 15306}#
+                                 #{mod\ 15308}#))))
+                         #{tmp\ 15315}#)
+                  ((lambda (#{_\ 15359}#)
                      (syntax-violation
                        'fluid-let-syntax
                        "bad syntax"
-                       (#{source-wrap\ 737}#
-                         #{e\ 3062}#
-                         #{w\ 3064}#
-                         #{s\ 3065}#
-                         #{mod\ 3066}#)))
-                   #{tmp\ 3072}#)))
+                       (#{source-wrap\ 12987}#
+                         #{e\ 15304}#
+                         #{w\ 15306}#
+                         #{s\ 15307}#
+                         #{mod\ 15308}#)))
+                   #{tmp\ 15314}#)))
               ($sc-dispatch
-                #{tmp\ 3072}#
+                #{tmp\ 15314}#
                 '(any #(each (any any)) any . each-any))))
-           #{e\ 3062}#)))
-      (#{global-extend\ 662}#
+           #{e\ 15304}#)))
+      (#{global-extend\ 12912}#
         'core
         'quote
-        (lambda (#{e\ 3118}#
-                 #{r\ 3119}#
-                 #{w\ 3120}#
-                 #{s\ 3121}#
-                 #{mod\ 3122}#)
-          ((lambda (#{tmp\ 3128}#)
-             ((lambda (#{tmp\ 3129}#)
-                (if #{tmp\ 3129}#
-                  (apply (lambda (#{_\ 3132}# #{e\ 3133}#)
-                           (#{build-data\ 616}#
-                             #{s\ 3121}#
-                             (#{strip\ 777}# #{e\ 3133}# #{w\ 3120}#)))
-                         #{tmp\ 3129}#)
-                  ((lambda (#{_\ 3135}#)
+        (lambda (#{e\ 15360}#
+                 #{r\ 15361}#
+                 #{w\ 15362}#
+                 #{s\ 15363}#
+                 #{mod\ 15364}#)
+          ((lambda (#{tmp\ 15370}#)
+             ((lambda (#{tmp\ 15371}#)
+                (if #{tmp\ 15371}#
+                  (apply (lambda (#{_\ 15374}# #{e\ 15375}#)
+                           (#{build-data\ 12866}#
+                             #{s\ 15363}#
+                             (#{strip\ 13027}# #{e\ 15375}# #{w\ 15362}#)))
+                         #{tmp\ 15371}#)
+                  ((lambda (#{_\ 15377}#)
                      (syntax-violation
                        'quote
                        "bad syntax"
-                       (#{source-wrap\ 737}#
-                         #{e\ 3118}#
-                         #{w\ 3120}#
-                         #{s\ 3121}#
-                         #{mod\ 3122}#)))
-                   #{tmp\ 3128}#)))
-              ($sc-dispatch #{tmp\ 3128}# (quote (any any)))))
-           #{e\ 3118}#)))
-      (#{global-extend\ 662}#
+                       (#{source-wrap\ 12987}#
+                         #{e\ 15360}#
+                         #{w\ 15362}#
+                         #{s\ 15363}#
+                         #{mod\ 15364}#)))
+                   #{tmp\ 15370}#)))
+              ($sc-dispatch #{tmp\ 15370}# (quote (any any)))))
+           #{e\ 15360}#)))
+      (#{global-extend\ 12912}#
         'core
         'syntax
-        (letrec ((#{regen\ 3151}#
-                   (lambda (#{x\ 3152}#)
-                     (let ((#{atom-key\ 3156}# (car #{x\ 3152}#)))
-                       (if (memv #{atom-key\ 3156}# (quote (ref)))
-                         (#{build-lexical-reference\ 594}#
+        (letrec ((#{regen\ 15393}#
+                   (lambda (#{x\ 15394}#)
+                     (let ((#{atom-key\ 15398}# (car #{x\ 15394}#)))
+                       (if (memv #{atom-key\ 15398}# (quote (ref)))
+                         (#{build-lexical-reference\ 12844}#
                            'value
                            #f
-                           (cadr #{x\ 3152}#)
-                           (cadr #{x\ 3152}#))
-                         (if (memv #{atom-key\ 3156}# (quote (primitive)))
-                           (#{build-primref\ 614}# #f (cadr #{x\ 3152}#))
-                           (if (memv #{atom-key\ 3156}# (quote (quote)))
-                             (#{build-data\ 616}# #f (cadr #{x\ 3152}#))
-                             (if (memv #{atom-key\ 3156}# (quote (lambda)))
-                               (if (list? (cadr #{x\ 3152}#))
-                                 (#{build-simple-lambda\ 608}#
+                           (cadr #{x\ 15394}#)
+                           (cadr #{x\ 15394}#))
+                         (if (memv #{atom-key\ 15398}# (quote (primitive)))
+                           (#{build-primref\ 12864}# #f (cadr #{x\ 15394}#))
+                           (if (memv #{atom-key\ 15398}# (quote (quote)))
+                             (#{build-data\ 12866}# #f (cadr #{x\ 15394}#))
+                             (if (memv #{atom-key\ 15398}# (quote (lambda)))
+                               (if (list? (cadr #{x\ 15394}#))
+                                 (#{build-simple-lambda\ 12858}#
                                    #f
-                                   (cadr #{x\ 3152}#)
+                                   (cadr #{x\ 15394}#)
                                    #f
-                                   (cadr #{x\ 3152}#)
+                                   (cadr #{x\ 15394}#)
                                    '()
-                                   (#{regen\ 3151}# (caddr #{x\ 3152}#)))
-                                 (error "how did we get here" #{x\ 3152}#))
-                               (#{build-application\ 588}#
+                                   (#{regen\ 15393}# (caddr #{x\ 15394}#)))
+                                 (error "how did we get here" #{x\ 15394}#))
+                               (#{build-application\ 12838}#
                                  #f
-                                 (#{build-primref\ 614}# #f (car #{x\ 3152}#))
-                                 (map #{regen\ 3151}#
-                                      (cdr #{x\ 3152}#))))))))))
-                 (#{gen-vector\ 3149}#
-                   (lambda (#{x\ 3168}#)
-                     (if (eq? (car #{x\ 3168}#) (quote list))
-                       (cons (quote vector) (cdr #{x\ 3168}#))
-                       (if (eq? (car #{x\ 3168}#) (quote quote))
+                                 (#{build-primref\ 12864}#
+                                   #f
+                                   (car #{x\ 15394}#))
+                                 (map #{regen\ 15393}#
+                                      (cdr #{x\ 15394}#))))))))))
+                 (#{gen-vector\ 15391}#
+                   (lambda (#{x\ 15410}#)
+                     (if (eq? (car #{x\ 15410}#) (quote list))
+                       (cons (quote vector) (cdr #{x\ 15410}#))
+                       (if (eq? (car #{x\ 15410}#) (quote quote))
                          (list 'quote
-                               (list->vector (cadr #{x\ 3168}#)))
-                         (list (quote list->vector) #{x\ 3168}#)))))
-                 (#{gen-append\ 3147}#
-                   (lambda (#{x\ 3178}# #{y\ 3179}#)
-                     (if (equal? #{y\ 3179}# (quote (quote ())))
-                       #{x\ 3178}#
-                       (list (quote append) #{x\ 3178}# #{y\ 3179}#))))
-                 (#{gen-cons\ 3145}#
-                   (lambda (#{x\ 3183}# #{y\ 3184}#)
-                     (let ((#{atom-key\ 3189}# (car #{y\ 3184}#)))
-                       (if (memv #{atom-key\ 3189}# (quote (quote)))
-                         (if (eq? (car #{x\ 3183}#) (quote quote))
+                               (list->vector (cadr #{x\ 15410}#)))
+                         (list (quote list->vector) #{x\ 15410}#)))))
+                 (#{gen-append\ 15389}#
+                   (lambda (#{x\ 15420}# #{y\ 15421}#)
+                     (if (equal? #{y\ 15421}# (quote (quote ())))
+                       #{x\ 15420}#
+                       (list (quote append) #{x\ 15420}# #{y\ 15421}#))))
+                 (#{gen-cons\ 15387}#
+                   (lambda (#{x\ 15425}# #{y\ 15426}#)
+                     (let ((#{atom-key\ 15431}# (car #{y\ 15426}#)))
+                       (if (memv #{atom-key\ 15431}# (quote (quote)))
+                         (if (eq? (car #{x\ 15425}#) (quote quote))
                            (list 'quote
-                                 (cons (cadr #{x\ 3183}#) (cadr #{y\ 3184}#)))
-                           (if (eq? (cadr #{y\ 3184}#) (quote ()))
-                             (list (quote list) #{x\ 3183}#)
-                             (list (quote cons) #{x\ 3183}# #{y\ 3184}#)))
-                         (if (memv #{atom-key\ 3189}# (quote (list)))
+                                 (cons (cadr #{x\ 15425}#)
+                                       (cadr #{y\ 15426}#)))
+                           (if (eq? (cadr #{y\ 15426}#) (quote ()))
+                             (list (quote list) #{x\ 15425}#)
+                             (list (quote cons) #{x\ 15425}# #{y\ 15426}#)))
+                         (if (memv #{atom-key\ 15431}# (quote (list)))
                            (cons 'list
-                                 (cons #{x\ 3183}# (cdr #{y\ 3184}#)))
-                           (list (quote cons) #{x\ 3183}# #{y\ 3184}#))))))
-                 (#{gen-map\ 3143}#
-                   (lambda (#{e\ 3198}# #{map-env\ 3199}#)
-                     (let ((#{formals\ 3204}# (map cdr #{map-env\ 3199}#))
-                           (#{actuals\ 3205}#
-                             (map (lambda (#{x\ 3206}#)
-                                    (list (quote ref) (car #{x\ 3206}#)))
-                                  #{map-env\ 3199}#)))
-                       (if (eq? (car #{e\ 3198}#) (quote ref))
-                         (car #{actuals\ 3205}#)
+                                 (cons #{x\ 15425}# (cdr #{y\ 15426}#)))
+                           (list (quote cons) #{x\ 15425}# #{y\ 15426}#))))))
+                 (#{gen-map\ 15385}#
+                   (lambda (#{e\ 15440}# #{map-env\ 15441}#)
+                     (let ((#{formals\ 15446}# (map cdr #{map-env\ 15441}#))
+                           (#{actuals\ 15447}#
+                             (map (lambda (#{x\ 15448}#)
+                                    (list (quote ref) (car #{x\ 15448}#)))
+                                  #{map-env\ 15441}#)))
+                       (if (eq? (car #{e\ 15440}#) (quote ref))
+                         (car #{actuals\ 15447}#)
                          (if (and-map
-                               (lambda (#{x\ 3213}#)
-                                 (if (eq? (car #{x\ 3213}#) (quote ref))
-                                   (memq (cadr #{x\ 3213}#) #{formals\ 3204}#)
+                               (lambda (#{x\ 15455}#)
+                                 (if (eq? (car #{x\ 15455}#) (quote ref))
+                                   (memq (cadr #{x\ 15455}#)
+                                         #{formals\ 15446}#)
                                    #f))
-                               (cdr #{e\ 3198}#))
+                               (cdr #{e\ 15440}#))
                            (cons 'map
                                  (cons (list 'primitive
-                                             (car #{e\ 3198}#))
-                                       (map (let ((#{r\ 3219}#
+                                             (car #{e\ 15440}#))
+                                       (map (let ((#{r\ 15461}#
                                                     (map cons
-                                                         #{formals\ 3204}#
-                                                         #{actuals\ 3205}#)))
-                                              (lambda (#{x\ 3220}#)
-                                                (cdr (assq (cadr #{x\ 3220}#)
-                                                           #{r\ 3219}#))))
-                                            (cdr #{e\ 3198}#))))
+                                                         #{formals\ 15446}#
+                                                         #{actuals\ 15447}#)))
+                                              (lambda (#{x\ 15462}#)
+                                                (cdr (assq (cadr #{x\ 15462}#)
+                                                           #{r\ 15461}#))))
+                                            (cdr #{e\ 15440}#))))
                            (cons 'map
                                  (cons (list 'lambda
-                                             #{formals\ 3204}#
-                                             #{e\ 3198}#)
-                                       #{actuals\ 3205}#)))))))
-                 (#{gen-mappend\ 3141}#
-                   (lambda (#{e\ 3224}# #{map-env\ 3225}#)
+                                             #{formals\ 15446}#
+                                             #{e\ 15440}#)
+                                       #{actuals\ 15447}#)))))))
+                 (#{gen-mappend\ 15383}#
+                   (lambda (#{e\ 15466}# #{map-env\ 15467}#)
                      (list 'apply
                            '(primitive append)
-                           (#{gen-map\ 3143}# #{e\ 3224}# #{map-env\ 3225}#))))
-                 (#{gen-ref\ 3139}#
-                   (lambda (#{src\ 3229}#
-                            #{var\ 3230}#
-                            #{level\ 3231}#
-                            #{maps\ 3232}#)
-                     (if (#{fx=\ 571}# #{level\ 3231}# 0)
-                       (values #{var\ 3230}# #{maps\ 3232}#)
-                       (if (null? #{maps\ 3232}#)
+                           (#{gen-map\ 15385}#
+                             #{e\ 15466}#
+                             #{map-env\ 15467}#))))
+                 (#{gen-ref\ 15381}#
+                   (lambda (#{src\ 15471}#
+                            #{var\ 15472}#
+                            #{level\ 15473}#
+                            #{maps\ 15474}#)
+                     (if (#{fx=\ 12821}# #{level\ 15473}# 0)
+                       (values #{var\ 15472}# #{maps\ 15474}#)
+                       (if (null? #{maps\ 15474}#)
                          (syntax-violation
                            'syntax
                            "missing ellipsis"
-                           #{src\ 3229}#)
+                           #{src\ 15471}#)
                          (call-with-values
                            (lambda ()
-                             (#{gen-ref\ 3139}#
-                               #{src\ 3229}#
-                               #{var\ 3230}#
-                               (#{fx-\ 569}# #{level\ 3231}# 1)
-                               (cdr #{maps\ 3232}#)))
-                           (lambda (#{outer-var\ 3237}# #{outer-maps\ 3238}#)
-                             (let ((#{b\ 3242}#
-                                     (assq #{outer-var\ 3237}#
-                                           (car #{maps\ 3232}#))))
-                               (if #{b\ 3242}#
-                                 (values (cdr #{b\ 3242}#) #{maps\ 3232}#)
-                                 (let ((#{inner-var\ 3244}#
-                                         (#{gen-var\ 779}# (quote tmp))))
+                             (#{gen-ref\ 15381}#
+                               #{src\ 15471}#
+                               #{var\ 15472}#
+                               (#{fx-\ 12819}# #{level\ 15473}# 1)
+                               (cdr #{maps\ 15474}#)))
+                           (lambda (#{outer-var\ 15479}# #{outer-maps\ 15480}#)
+                             (let ((#{b\ 15484}#
+                                     (assq #{outer-var\ 15479}#
+                                           (car #{maps\ 15474}#))))
+                               (if #{b\ 15484}#
+                                 (values (cdr #{b\ 15484}#) #{maps\ 15474}#)
+                                 (let ((#{inner-var\ 15486}#
+                                         (#{gen-var\ 13029}# (quote tmp))))
                                    (values
-                                     #{inner-var\ 3244}#
-                                     (cons (cons (cons #{outer-var\ 3237}#
-                                                       #{inner-var\ 3244}#)
-                                                 (car #{maps\ 3232}#))
-                                           #{outer-maps\ 3238}#)))))))))))
-                 (#{gen-syntax\ 3137}#
-                   (lambda (#{src\ 3245}#
-                            #{e\ 3246}#
-                            #{r\ 3247}#
-                            #{maps\ 3248}#
-                            #{ellipsis?\ 3249}#
-                            #{mod\ 3250}#)
-                     (if (#{id?\ 666}# #{e\ 3246}#)
-                       (let ((#{label\ 3258}#
-                               (#{id-var-name\ 723}#
-                                 #{e\ 3246}#
+                                     #{inner-var\ 15486}#
+                                     (cons (cons (cons #{outer-var\ 15479}#
+                                                       #{inner-var\ 15486}#)
+                                                 (car #{maps\ 15474}#))
+                                           #{outer-maps\ 15480}#)))))))))))
+                 (#{gen-syntax\ 15379}#
+                   (lambda (#{src\ 15487}#
+                            #{e\ 15488}#
+                            #{r\ 15489}#
+                            #{maps\ 15490}#
+                            #{ellipsis?\ 15491}#
+                            #{mod\ 15492}#)
+                     (if (#{id?\ 12916}# #{e\ 15488}#)
+                       (let ((#{label\ 15500}#
+                               (#{id-var-name\ 12973}#
+                                 #{e\ 15488}#
                                  '(()))))
-                         (let ((#{b\ 3261}#
-                                 (#{lookup\ 660}#
-                                   #{label\ 3258}#
-                                   #{r\ 3247}#
-                                   #{mod\ 3250}#)))
-                           (if (eq? (#{binding-type\ 649}# #{b\ 3261}#)
+                         (let ((#{b\ 15503}#
+                                 (#{lookup\ 12910}#
+                                   #{label\ 15500}#
+                                   #{r\ 15489}#
+                                   #{mod\ 15492}#)))
+                           (if (eq? (#{binding-type\ 12899}# #{b\ 15503}#)
                                     'syntax)
                              (call-with-values
                                (lambda ()
-                                 (let ((#{var.lev\ 3263}#
-                                         (#{binding-value\ 651}# #{b\ 3261}#)))
-                                   (#{gen-ref\ 3139}#
-                                     #{src\ 3245}#
-                                     (car #{var.lev\ 3263}#)
-                                     (cdr #{var.lev\ 3263}#)
-                                     #{maps\ 3248}#)))
-                               (lambda (#{var\ 3264}# #{maps\ 3265}#)
+                                 (let ((#{var.lev\ 15505}#
+                                         (#{binding-value\ 12901}#
+                                           #{b\ 15503}#)))
+                                   (#{gen-ref\ 15381}#
+                                     #{src\ 15487}#
+                                     (car #{var.lev\ 15505}#)
+                                     (cdr #{var.lev\ 15505}#)
+                                     #{maps\ 15490}#)))
+                               (lambda (#{var\ 15506}# #{maps\ 15507}#)
                                  (values
-                                   (list (quote ref) #{var\ 3264}#)
-                                   #{maps\ 3265}#)))
-                             (if (#{ellipsis?\ 3249}# #{e\ 3246}#)
+                                   (list (quote ref) #{var\ 15506}#)
+                                   #{maps\ 15507}#)))
+                             (if (#{ellipsis?\ 15491}# #{e\ 15488}#)
                                (syntax-violation
                                  'syntax
                                  "misplaced ellipsis"
-                                 #{src\ 3245}#)
+                                 #{src\ 15487}#)
                                (values
-                                 (list (quote quote) #{e\ 3246}#)
-                                 #{maps\ 3248}#)))))
-                       ((lambda (#{tmp\ 3270}#)
-                          ((lambda (#{tmp\ 3271}#)
-                             (if (if #{tmp\ 3271}#
-                                   (apply (lambda (#{dots\ 3274}# #{e\ 3275}#)
-                                            (#{ellipsis?\ 3249}#
-                                              #{dots\ 3274}#))
-                                          #{tmp\ 3271}#)
+                                 (list (quote quote) #{e\ 15488}#)
+                                 #{maps\ 15490}#)))))
+                       ((lambda (#{tmp\ 15512}#)
+                          ((lambda (#{tmp\ 15513}#)
+                             (if (if #{tmp\ 15513}#
+                                   (apply (lambda (#{dots\ 15516}#
+                                                   #{e\ 15517}#)
+                                            (#{ellipsis?\ 15491}#
+                                              #{dots\ 15516}#))
+                                          #{tmp\ 15513}#)
                                    #f)
-                               (apply (lambda (#{dots\ 3278}# #{e\ 3279}#)
-                                        (#{gen-syntax\ 3137}#
-                                          #{src\ 3245}#
-                                          #{e\ 3279}#
-                                          #{r\ 3247}#
-                                          #{maps\ 3248}#
-                                          (lambda (#{x\ 3280}#) #f)
-                                          #{mod\ 3250}#))
-                                      #{tmp\ 3271}#)
-                               ((lambda (#{tmp\ 3282}#)
-                                  (if (if #{tmp\ 3282}#
-                                        (apply (lambda (#{x\ 3286}#
-                                                        #{dots\ 3287}#
-                                                        #{y\ 3288}#)
-                                                 (#{ellipsis?\ 3249}#
-                                                   #{dots\ 3287}#))
-                                               #{tmp\ 3282}#)
+                               (apply (lambda (#{dots\ 15520}# #{e\ 15521}#)
+                                        (#{gen-syntax\ 15379}#
+                                          #{src\ 15487}#
+                                          #{e\ 15521}#
+                                          #{r\ 15489}#
+                                          #{maps\ 15490}#
+                                          (lambda (#{x\ 15522}#) #f)
+                                          #{mod\ 15492}#))
+                                      #{tmp\ 15513}#)
+                               ((lambda (#{tmp\ 15524}#)
+                                  (if (if #{tmp\ 15524}#
+                                        (apply (lambda (#{x\ 15528}#
+                                                        #{dots\ 15529}#
+                                                        #{y\ 15530}#)
+                                                 (#{ellipsis?\ 15491}#
+                                                   #{dots\ 15529}#))
+                                               #{tmp\ 15524}#)
                                         #f)
-                                    (apply (lambda (#{x\ 3292}#
-                                                    #{dots\ 3293}#
-                                                    #{y\ 3294}#)
-                                             (letrec ((#{f\ 3298}#
-                                                        (lambda (#{y\ 3299}#
-                                                                 #{k\ 3300}#)
-                                                          ((lambda (#{tmp\ 
3307}#)
-                                                             ((lambda (#{tmp\ 
3308}#)
-                                                                (if (if #{tmp\ 
3308}#
-                                                                      (apply 
(lambda (#{dots\ 3311}#
-                                                                               
       #{y\ 3312}#)
-                                                                               
(#{ellipsis?\ 3249}#
-                                                                               
  #{dots\ 3311}#))
-                                                                             
#{tmp\ 3308}#)
+                                    (apply (lambda (#{x\ 15534}#
+                                                    #{dots\ 15535}#
+                                                    #{y\ 15536}#)
+                                             (letrec ((#{f\ 15540}#
+                                                        (lambda (#{y\ 15541}#
+                                                                 #{k\ 15542}#)
+                                                          ((lambda (#{tmp\ 
15549}#)
+                                                             ((lambda (#{tmp\ 
15550}#)
+                                                                (if (if #{tmp\ 
15550}#
+                                                                      (apply 
(lambda (#{dots\ 15553}#
+                                                                               
       #{y\ 15554}#)
+                                                                               
(#{ellipsis?\ 15491}#
+                                                                               
  #{dots\ 15553}#))
+                                                                             
#{tmp\ 15550}#)
                                                                       #f)
-                                                                  (apply 
(lambda (#{dots\ 3315}#
-                                                                               
   #{y\ 3316}#)
-                                                                           
(#{f\ 3298}#
-                                                                             
#{y\ 3316}#
-                                                                             
(lambda (#{maps\ 3317}#)
+                                                                  (apply 
(lambda (#{dots\ 15557}#
+                                                                               
   #{y\ 15558}#)
+                                                                           
(#{f\ 15540}#
+                                                                             
#{y\ 15558}#
+                                                                             
(lambda (#{maps\ 15559}#)
                                                                                
(call-with-values
                                                                                
  (lambda ()
-                                                                               
    (#{k\ 3300}#
+                                                                               
    (#{k\ 15542}#
                                                                                
      (cons '()
-                                                                               
            #{maps\ 3317}#)))
-                                                                               
  (lambda (#{x\ 3319}#
-                                                                               
           #{maps\ 3320}#)
-                                                                               
    (if (null? (car #{maps\ 3320}#))
+                                                                               
            #{maps\ 15559}#)))
+                                                                               
  (lambda (#{x\ 15561}#
+                                                                               
           #{maps\ 15562}#)
+                                                                               
    (if (null? (car #{maps\ 15562}#))
                                                                                
      (syntax-violation
                                                                                
        'syntax
                                                                                
        "extra ellipsis"
-                                                                               
        #{src\ 3245}#)
+                                                                               
        #{src\ 15487}#)
                                                                                
      (values
-                                                                               
        (#{gen-mappend\ 3141}#
-                                                                               
          #{x\ 3319}#
-                                                                               
          (car #{maps\ 3320}#))
-                                                                               
        (cdr #{maps\ 3320}#))))))))
-                                                                         
#{tmp\ 3308}#)
-                                                                  ((lambda 
(#{_\ 3324}#)
+                                                                               
        (#{gen-mappend\ 15383}#
+                                                                               
          #{x\ 15561}#
+                                                                               
          (car #{maps\ 15562}#))
+                                                                               
        (cdr #{maps\ 15562}#))))))))
+                                                                         
#{tmp\ 15550}#)
+                                                                  ((lambda 
(#{_\ 15566}#)
                                                                      
(call-with-values
                                                                        (lambda 
()
-                                                                         
(#{gen-syntax\ 3137}#
-                                                                           
#{src\ 3245}#
-                                                                           
#{y\ 3299}#
-                                                                           
#{r\ 3247}#
-                                                                           
#{maps\ 3248}#
-                                                                           
#{ellipsis?\ 3249}#
-                                                                           
#{mod\ 3250}#))
-                                                                       (lambda 
(#{y\ 3325}#
-                                                                               
 #{maps\ 3326}#)
+                                                                         
(#{gen-syntax\ 15379}#
+                                                                           
#{src\ 15487}#
+                                                                           
#{y\ 15541}#
+                                                                           
#{r\ 15489}#
+                                                                           
#{maps\ 15490}#
+                                                                           
#{ellipsis?\ 15491}#
+                                                                           
#{mod\ 15492}#))
+                                                                       (lambda 
(#{y\ 15567}#
+                                                                               
 #{maps\ 15568}#)
                                                                          
(call-with-values
                                                                            
(lambda ()
-                                                                             
(#{k\ 3300}#
-                                                                               
#{maps\ 3326}#))
-                                                                           
(lambda (#{x\ 3329}#
-                                                                               
     #{maps\ 3330}#)
+                                                                             
(#{k\ 15542}#
+                                                                               
#{maps\ 15568}#))
+                                                                           
(lambda (#{x\ 15571}#
+                                                                               
     #{maps\ 15572}#)
                                                                              
(values
-                                                                               
(#{gen-append\ 3147}#
-                                                                               
  #{x\ 3329}#
-                                                                               
  #{y\ 3325}#)
-                                                                               
#{maps\ 3330}#))))))
-                                                                   #{tmp\ 
3307}#)))
+                                                                               
(#{gen-append\ 15389}#
+                                                                               
  #{x\ 15571}#
+                                                                               
  #{y\ 15567}#)
+                                                                               
#{maps\ 15572}#))))))
+                                                                   #{tmp\ 
15549}#)))
                                                               ($sc-dispatch
-                                                                #{tmp\ 3307}#
+                                                                #{tmp\ 15549}#
                                                                 '(any . any))))
-                                                           #{y\ 3299}#))))
-                                               (#{f\ 3298}#
-                                                 #{y\ 3294}#
-                                                 (lambda (#{maps\ 3301}#)
+                                                           #{y\ 15541}#))))
+                                               (#{f\ 15540}#
+                                                 #{y\ 15536}#
+                                                 (lambda (#{maps\ 15543}#)
                                                    (call-with-values
                                                      (lambda ()
-                                                       (#{gen-syntax\ 3137}#
-                                                         #{src\ 3245}#
-                                                         #{x\ 3292}#
-                                                         #{r\ 3247}#
+                                                       (#{gen-syntax\ 15379}#
+                                                         #{src\ 15487}#
+                                                         #{x\ 15534}#
+                                                         #{r\ 15489}#
                                                          (cons '()
-                                                               #{maps\ 3301}#)
-                                                         #{ellipsis?\ 3249}#
-                                                         #{mod\ 3250}#))
-                                                     (lambda (#{x\ 3303}#
-                                                              #{maps\ 3304}#)
-                                                       (if (null? (car #{maps\ 
3304}#))
+                                                               #{maps\ 15543}#)
+                                                         #{ellipsis?\ 15491}#
+                                                         #{mod\ 15492}#))
+                                                     (lambda (#{x\ 15545}#
+                                                              #{maps\ 15546}#)
+                                                       (if (null? (car #{maps\ 
15546}#))
                                                          (syntax-violation
                                                            'syntax
                                                            "extra ellipsis"
-                                                           #{src\ 3245}#)
+                                                           #{src\ 15487}#)
                                                          (values
-                                                           (#{gen-map\ 3143}#
-                                                             #{x\ 3303}#
-                                                             (car #{maps\ 
3304}#))
-                                                           (cdr #{maps\ 
3304}#)))))))))
-                                           #{tmp\ 3282}#)
-                                    ((lambda (#{tmp\ 3333}#)
-                                       (if #{tmp\ 3333}#
-                                         (apply (lambda (#{x\ 3336}#
-                                                         #{y\ 3337}#)
+                                                           (#{gen-map\ 15385}#
+                                                             #{x\ 15545}#
+                                                             (car #{maps\ 
15546}#))
+                                                           (cdr #{maps\ 
15546}#)))))))))
+                                           #{tmp\ 15524}#)
+                                    ((lambda (#{tmp\ 15575}#)
+                                       (if #{tmp\ 15575}#
+                                         (apply (lambda (#{x\ 15578}#
+                                                         #{y\ 15579}#)
                                                   (call-with-values
                                                     (lambda ()
-                                                      (#{gen-syntax\ 3137}#
-                                                        #{src\ 3245}#
-                                                        #{x\ 3336}#
-                                                        #{r\ 3247}#
-                                                        #{maps\ 3248}#
-                                                        #{ellipsis?\ 3249}#
-                                                        #{mod\ 3250}#))
-                                                    (lambda (#{x\ 3338}#
-                                                             #{maps\ 3339}#)
+                                                      (#{gen-syntax\ 15379}#
+                                                        #{src\ 15487}#
+                                                        #{x\ 15578}#
+                                                        #{r\ 15489}#
+                                                        #{maps\ 15490}#
+                                                        #{ellipsis?\ 15491}#
+                                                        #{mod\ 15492}#))
+                                                    (lambda (#{x\ 15580}#
+                                                             #{maps\ 15581}#)
                                                       (call-with-values
                                                         (lambda ()
-                                                          (#{gen-syntax\ 3137}#
-                                                            #{src\ 3245}#
-                                                            #{y\ 3337}#
-                                                            #{r\ 3247}#
-                                                            #{maps\ 3339}#
-                                                            #{ellipsis?\ 3249}#
-                                                            #{mod\ 3250}#))
-                                                        (lambda (#{y\ 3342}#
-                                                                 #{maps\ 
3343}#)
+                                                          (#{gen-syntax\ 
15379}#
+                                                            #{src\ 15487}#
+                                                            #{y\ 15579}#
+                                                            #{r\ 15489}#
+                                                            #{maps\ 15581}#
+                                                            #{ellipsis?\ 
15491}#
+                                                            #{mod\ 15492}#))
+                                                        (lambda (#{y\ 15584}#
+                                                                 #{maps\ 
15585}#)
                                                           (values
-                                                            (#{gen-cons\ 3145}#
-                                                              #{x\ 3338}#
-                                                              #{y\ 3342}#)
-                                                            #{maps\ 
3343}#))))))
-                                                #{tmp\ 3333}#)
-                                         ((lambda (#{tmp\ 3346}#)
-                                            (if #{tmp\ 3346}#
-                                              (apply (lambda (#{e1\ 3349}#
-                                                              #{e2\ 3350}#)
+                                                            (#{gen-cons\ 
15387}#
+                                                              #{x\ 15580}#
+                                                              #{y\ 15584}#)
+                                                            #{maps\ 
15585}#))))))
+                                                #{tmp\ 15575}#)
+                                         ((lambda (#{tmp\ 15588}#)
+                                            (if #{tmp\ 15588}#
+                                              (apply (lambda (#{e1\ 15591}#
+                                                              #{e2\ 15592}#)
                                                        (call-with-values
                                                          (lambda ()
-                                                           (#{gen-syntax\ 
3137}#
-                                                             #{src\ 3245}#
-                                                             (cons #{e1\ 3349}#
-                                                                   #{e2\ 
3350}#)
-                                                             #{r\ 3247}#
-                                                             #{maps\ 3248}#
-                                                             #{ellipsis?\ 
3249}#
-                                                             #{mod\ 3250}#))
-                                                         (lambda (#{e\ 3352}#
-                                                                  #{maps\ 
3353}#)
+                                                           (#{gen-syntax\ 
15379}#
+                                                             #{src\ 15487}#
+                                                             (cons #{e1\ 
15591}#
+                                                                   #{e2\ 
15592}#)
+                                                             #{r\ 15489}#
+                                                             #{maps\ 15490}#
+                                                             #{ellipsis?\ 
15491}#
+                                                             #{mod\ 15492}#))
+                                                         (lambda (#{e\ 15594}#
+                                                                  #{maps\ 
15595}#)
                                                            (values
-                                                             (#{gen-vector\ 
3149}#
-                                                               #{e\ 3352}#)
-                                                             #{maps\ 3353}#))))
-                                                     #{tmp\ 3346}#)
-                                              ((lambda (#{_\ 3357}#)
+                                                             (#{gen-vector\ 
15391}#
+                                                               #{e\ 15594}#)
+                                                             #{maps\ 
15595}#))))
+                                                     #{tmp\ 15588}#)
+                                              ((lambda (#{_\ 15599}#)
                                                  (values
                                                    (list 'quote
-                                                         #{e\ 3246}#)
-                                                   #{maps\ 3248}#))
-                                               #{tmp\ 3270}#)))
+                                                         #{e\ 15488}#)
+                                                   #{maps\ 15490}#))
+                                               #{tmp\ 15512}#)))
                                           ($sc-dispatch
-                                            #{tmp\ 3270}#
+                                            #{tmp\ 15512}#
                                             '#(vector (any . each-any))))))
                                      ($sc-dispatch
-                                       #{tmp\ 3270}#
+                                       #{tmp\ 15512}#
                                        '(any . any)))))
                                 ($sc-dispatch
-                                  #{tmp\ 3270}#
+                                  #{tmp\ 15512}#
                                   '(any any . any)))))
-                           ($sc-dispatch #{tmp\ 3270}# (quote (any any)))))
-                        #{e\ 3246}#)))))
-          (lambda (#{e\ 3359}#
-                   #{r\ 3360}#
-                   #{w\ 3361}#
-                   #{s\ 3362}#
-                   #{mod\ 3363}#)
-            (let ((#{e\ 3370}#
-                    (#{source-wrap\ 737}#
-                      #{e\ 3359}#
-                      #{w\ 3361}#
-                      #{s\ 3362}#
-                      #{mod\ 3363}#)))
-              ((lambda (#{tmp\ 3371}#)
-                 ((lambda (#{tmp\ 3372}#)
-                    (if #{tmp\ 3372}#
-                      (apply (lambda (#{_\ 3375}# #{x\ 3376}#)
+                           ($sc-dispatch #{tmp\ 15512}# (quote (any any)))))
+                        #{e\ 15488}#)))))
+          (lambda (#{e\ 15601}#
+                   #{r\ 15602}#
+                   #{w\ 15603}#
+                   #{s\ 15604}#
+                   #{mod\ 15605}#)
+            (let ((#{e\ 15612}#
+                    (#{source-wrap\ 12987}#
+                      #{e\ 15601}#
+                      #{w\ 15603}#
+                      #{s\ 15604}#
+                      #{mod\ 15605}#)))
+              ((lambda (#{tmp\ 15613}#)
+                 ((lambda (#{tmp\ 15614}#)
+                    (if #{tmp\ 15614}#
+                      (apply (lambda (#{_\ 15617}# #{x\ 15618}#)
                                (call-with-values
                                  (lambda ()
-                                   (#{gen-syntax\ 3137}#
-                                     #{e\ 3370}#
-                                     #{x\ 3376}#
-                                     #{r\ 3360}#
+                                   (#{gen-syntax\ 15379}#
+                                     #{e\ 15612}#
+                                     #{x\ 15618}#
+                                     #{r\ 15602}#
                                      '()
-                                     #{ellipsis?\ 767}#
-                                     #{mod\ 3363}#))
-                                 (lambda (#{e\ 3377}# #{maps\ 3378}#)
-                                   (#{regen\ 3151}# #{e\ 3377}#))))
-                             #{tmp\ 3372}#)
-                      ((lambda (#{_\ 3382}#)
+                                     #{ellipsis?\ 13017}#
+                                     #{mod\ 15605}#))
+                                 (lambda (#{e\ 15619}# #{maps\ 15620}#)
+                                   (#{regen\ 15393}# #{e\ 15619}#))))
+                             #{tmp\ 15614}#)
+                      ((lambda (#{_\ 15624}#)
                          (syntax-violation
                            'syntax
                            "bad `syntax' form"
-                           #{e\ 3370}#))
-                       #{tmp\ 3371}#)))
-                  ($sc-dispatch #{tmp\ 3371}# (quote (any any)))))
-               #{e\ 3370}#)))))
-      (#{global-extend\ 662}#
+                           #{e\ 15612}#))
+                       #{tmp\ 15613}#)))
+                  ($sc-dispatch #{tmp\ 15613}# (quote (any any)))))
+               #{e\ 15612}#)))))
+      (#{global-extend\ 12912}#
         'core
         'lambda
-        (lambda (#{e\ 3383}#
-                 #{r\ 3384}#
-                 #{w\ 3385}#
-                 #{s\ 3386}#
-                 #{mod\ 3387}#)
-          ((lambda (#{tmp\ 3393}#)
-             ((lambda (#{tmp\ 3394}#)
-                (if #{tmp\ 3394}#
-                  (apply (lambda (#{_\ 3399}#
-                                  #{args\ 3400}#
-                                  #{e1\ 3401}#
-                                  #{e2\ 3402}#)
+        (lambda (#{e\ 15625}#
+                 #{r\ 15626}#
+                 #{w\ 15627}#
+                 #{s\ 15628}#
+                 #{mod\ 15629}#)
+          ((lambda (#{tmp\ 15635}#)
+             ((lambda (#{tmp\ 15636}#)
+                (if #{tmp\ 15636}#
+                  (apply (lambda (#{_\ 15641}#
+                                  #{args\ 15642}#
+                                  #{e1\ 15643}#
+                                  #{e2\ 15644}#)
                            (call-with-values
                              (lambda ()
-                               (#{lambda-formals\ 769}# #{args\ 3400}#))
-                             (lambda (#{req\ 3403}#
-                                      #{opt\ 3404}#
-                                      #{rest\ 3405}#
-                                      #{kw\ 3406}#)
-                               (letrec ((#{lp\ 3414}#
-                                          (lambda (#{body\ 3415}#
-                                                   #{meta\ 3416}#)
-                                            ((lambda (#{tmp\ 3418}#)
-                                               ((lambda (#{tmp\ 3419}#)
-                                                  (if (if #{tmp\ 3419}#
-                                                        (apply (lambda 
(#{docstring\ 3423}#
-                                                                        #{e1\ 
3424}#
-                                                                        #{e2\ 
3425}#)
+                               (#{lambda-formals\ 13019}# #{args\ 15642}#))
+                             (lambda (#{req\ 15645}#
+                                      #{opt\ 15646}#
+                                      #{rest\ 15647}#
+                                      #{kw\ 15648}#)
+                               (letrec ((#{lp\ 15656}#
+                                          (lambda (#{body\ 15657}#
+                                                   #{meta\ 15658}#)
+                                            ((lambda (#{tmp\ 15660}#)
+                                               ((lambda (#{tmp\ 15661}#)
+                                                  (if (if #{tmp\ 15661}#
+                                                        (apply (lambda 
(#{docstring\ 15665}#
+                                                                        #{e1\ 
15666}#
+                                                                        #{e2\ 
15667}#)
                                                                  (string?
                                                                    
(syntax->datum
-                                                                     
#{docstring\ 3423}#)))
-                                                               #{tmp\ 3419}#)
+                                                                     
#{docstring\ 15665}#)))
+                                                               #{tmp\ 15661}#)
                                                         #f)
-                                                    (apply (lambda 
(#{docstring\ 3429}#
-                                                                    #{e1\ 
3430}#
-                                                                    #{e2\ 
3431}#)
-                                                             (#{lp\ 3414}#
-                                                               (cons #{e1\ 
3430}#
-                                                                     #{e2\ 
3431}#)
+                                                    (apply (lambda 
(#{docstring\ 15671}#
+                                                                    #{e1\ 
15672}#
+                                                                    #{e2\ 
15673}#)
+                                                             (#{lp\ 15656}#
+                                                               (cons #{e1\ 
15672}#
+                                                                     #{e2\ 
15673}#)
                                                                (append
-                                                                 #{meta\ 3416}#
+                                                                 #{meta\ 
15658}#
                                                                  (list (cons 
'documentation
                                                                              
(syntax->datum
-                                                                               
#{docstring\ 3429}#))))))
-                                                           #{tmp\ 3419}#)
-                                                    ((lambda (#{tmp\ 3434}#)
-                                                       (if #{tmp\ 3434}#
-                                                         (apply (lambda (#{k\ 
3439}#
-                                                                         #{v\ 
3440}#
-                                                                         #{e1\ 
3441}#
-                                                                         #{e2\ 
3442}#)
-                                                                  (#{lp\ 3414}#
-                                                                    (cons 
#{e1\ 3441}#
-                                                                          
#{e2\ 3442}#)
+                                                                               
#{docstring\ 15671}#))))))
+                                                           #{tmp\ 15661}#)
+                                                    ((lambda (#{tmp\ 15676}#)
+                                                       (if #{tmp\ 15676}#
+                                                         (apply (lambda (#{k\ 
15681}#
+                                                                         #{v\ 
15682}#
+                                                                         #{e1\ 
15683}#
+                                                                         #{e2\ 
15684}#)
+                                                                  (#{lp\ 
15656}#
+                                                                    (cons 
#{e1\ 15683}#
+                                                                          
#{e2\ 15684}#)
                                                                     (append
-                                                                      #{meta\ 
3416}#
+                                                                      #{meta\ 
15658}#
                                                                       
(syntax->datum
                                                                         (map 
cons
-                                                                             
#{k\ 3439}#
-                                                                             
#{v\ 3440}#)))))
-                                                                #{tmp\ 3434}#)
-                                                         ((lambda (#{_\ 3447}#)
-                                                            
(#{chi-simple-lambda\ 771}#
-                                                              #{e\ 3383}#
-                                                              #{r\ 3384}#
-                                                              #{w\ 3385}#
-                                                              #{s\ 3386}#
-                                                              #{mod\ 3387}#
-                                                              #{req\ 3403}#
-                                                              #{rest\ 3405}#
-                                                              #{meta\ 3416}#
-                                                              #{body\ 3415}#))
-                                                          #{tmp\ 3418}#)))
+                                                                             
#{k\ 15681}#
+                                                                             
#{v\ 15682}#)))))
+                                                                #{tmp\ 15676}#)
+                                                         ((lambda (#{_\ 
15689}#)
+                                                            
(#{chi-simple-lambda\ 13021}#
+                                                              #{e\ 15625}#
+                                                              #{r\ 15626}#
+                                                              #{w\ 15627}#
+                                                              #{s\ 15628}#
+                                                              #{mod\ 15629}#
+                                                              #{req\ 15645}#
+                                                              #{rest\ 15647}#
+                                                              #{meta\ 15658}#
+                                                              #{body\ 15657}#))
+                                                          #{tmp\ 15660}#)))
                                                      ($sc-dispatch
-                                                       #{tmp\ 3418}#
+                                                       #{tmp\ 15660}#
                                                        '(#(vector
                                                            #(each (any . any)))
                                                          any
                                                          .
                                                          each-any)))))
                                                 ($sc-dispatch
-                                                  #{tmp\ 3418}#
+                                                  #{tmp\ 15660}#
                                                   '(any any . each-any))))
-                                             #{body\ 3415}#))))
-                                 (#{lp\ 3414}#
-                                   (cons #{e1\ 3401}# #{e2\ 3402}#)
+                                             #{body\ 15657}#))))
+                                 (#{lp\ 15656}#
+                                   (cons #{e1\ 15643}# #{e2\ 15644}#)
                                    '())))))
-                         #{tmp\ 3394}#)
-                  ((lambda (#{_\ 3449}#)
+                         #{tmp\ 15636}#)
+                  ((lambda (#{_\ 15691}#)
                      (syntax-violation
                        'lambda
                        "bad lambda"
-                       #{e\ 3383}#))
-                   #{tmp\ 3393}#)))
+                       #{e\ 15625}#))
+                   #{tmp\ 15635}#)))
               ($sc-dispatch
-                #{tmp\ 3393}#
+                #{tmp\ 15635}#
                 '(any any any . each-any))))
-           #{e\ 3383}#)))
-      (#{global-extend\ 662}#
+           #{e\ 15625}#)))
+      (#{global-extend\ 12912}#
         'core
         'lambda*
-        (lambda (#{e\ 3450}#
-                 #{r\ 3451}#
-                 #{w\ 3452}#
-                 #{s\ 3453}#
-                 #{mod\ 3454}#)
-          ((lambda (#{tmp\ 3460}#)
-             ((lambda (#{tmp\ 3461}#)
-                (if #{tmp\ 3461}#
-                  (apply (lambda (#{_\ 3466}#
-                                  #{args\ 3467}#
-                                  #{e1\ 3468}#
-                                  #{e2\ 3469}#)
+        (lambda (#{e\ 15692}#
+                 #{r\ 15693}#
+                 #{w\ 15694}#
+                 #{s\ 15695}#
+                 #{mod\ 15696}#)
+          ((lambda (#{tmp\ 15702}#)
+             ((lambda (#{tmp\ 15703}#)
+                (if #{tmp\ 15703}#
+                  (apply (lambda (#{_\ 15708}#
+                                  #{args\ 15709}#
+                                  #{e1\ 15710}#
+                                  #{e2\ 15711}#)
                            (call-with-values
                              (lambda ()
-                               (#{chi-lambda-case\ 775}#
-                                 #{e\ 3450}#
-                                 #{r\ 3451}#
-                                 #{w\ 3452}#
-                                 #{s\ 3453}#
-                                 #{mod\ 3454}#
-                                 #{lambda*-formals\ 773}#
-                                 (list (cons #{args\ 3467}#
-                                             (cons #{e1\ 3468}#
-                                                   #{e2\ 3469}#)))))
-                             (lambda (#{meta\ 3471}# #{lcase\ 3472}#)
-                               (#{build-case-lambda\ 610}#
-                                 #{s\ 3453}#
-                                 #{meta\ 3471}#
-                                 #{lcase\ 3472}#))))
-                         #{tmp\ 3461}#)
-                  ((lambda (#{_\ 3476}#)
+                               (#{chi-lambda-case\ 13025}#
+                                 #{e\ 15692}#
+                                 #{r\ 15693}#
+                                 #{w\ 15694}#
+                                 #{s\ 15695}#
+                                 #{mod\ 15696}#
+                                 #{lambda*-formals\ 13023}#
+                                 (list (cons #{args\ 15709}#
+                                             (cons #{e1\ 15710}#
+                                                   #{e2\ 15711}#)))))
+                             (lambda (#{meta\ 15713}# #{lcase\ 15714}#)
+                               (#{build-case-lambda\ 12860}#
+                                 #{s\ 15695}#
+                                 #{meta\ 15713}#
+                                 #{lcase\ 15714}#))))
+                         #{tmp\ 15703}#)
+                  ((lambda (#{_\ 15718}#)
                      (syntax-violation
                        'lambda
                        "bad lambda*"
-                       #{e\ 3450}#))
-                   #{tmp\ 3460}#)))
+                       #{e\ 15692}#))
+                   #{tmp\ 15702}#)))
               ($sc-dispatch
-                #{tmp\ 3460}#
+                #{tmp\ 15702}#
                 '(any any any . each-any))))
-           #{e\ 3450}#)))
-      (#{global-extend\ 662}#
+           #{e\ 15692}#)))
+      (#{global-extend\ 12912}#
         'core
         'case-lambda
-        (lambda (#{e\ 3477}#
-                 #{r\ 3478}#
-                 #{w\ 3479}#
-                 #{s\ 3480}#
-                 #{mod\ 3481}#)
-          ((lambda (#{tmp\ 3487}#)
-             ((lambda (#{tmp\ 3488}#)
-                (if #{tmp\ 3488}#
-                  (apply (lambda (#{_\ 3496}#
-                                  #{args\ 3497}#
-                                  #{e1\ 3498}#
-                                  #{e2\ 3499}#
-                                  #{args*\ 3500}#
-                                  #{e1*\ 3501}#
-                                  #{e2*\ 3502}#)
+        (lambda (#{e\ 15719}#
+                 #{r\ 15720}#
+                 #{w\ 15721}#
+                 #{s\ 15722}#
+                 #{mod\ 15723}#)
+          ((lambda (#{tmp\ 15729}#)
+             ((lambda (#{tmp\ 15730}#)
+                (if #{tmp\ 15730}#
+                  (apply (lambda (#{_\ 15738}#
+                                  #{args\ 15739}#
+                                  #{e1\ 15740}#
+                                  #{e2\ 15741}#
+                                  #{args*\ 15742}#
+                                  #{e1*\ 15743}#
+                                  #{e2*\ 15744}#)
                            (call-with-values
                              (lambda ()
-                               (#{chi-lambda-case\ 775}#
-                                 #{e\ 3477}#
-                                 #{r\ 3478}#
-                                 #{w\ 3479}#
-                                 #{s\ 3480}#
-                                 #{mod\ 3481}#
-                                 #{lambda-formals\ 769}#
-                                 (cons (cons #{args\ 3497}#
-                                             (cons #{e1\ 3498}# #{e2\ 3499}#))
-                                       (map (lambda (#{tmp\ 3506}#
-                                                     #{tmp\ 3505}#
-                                                     #{tmp\ 3504}#)
-                                              (cons #{tmp\ 3504}#
-                                                    (cons #{tmp\ 3505}#
-                                                          #{tmp\ 3506}#)))
-                                            #{e2*\ 3502}#
-                                            #{e1*\ 3501}#
-                                            #{args*\ 3500}#))))
-                             (lambda (#{meta\ 3508}# #{lcase\ 3509}#)
-                               (#{build-case-lambda\ 610}#
-                                 #{s\ 3480}#
-                                 #{meta\ 3508}#
-                                 #{lcase\ 3509}#))))
-                         #{tmp\ 3488}#)
-                  ((lambda (#{_\ 3513}#)
+                               (#{chi-lambda-case\ 13025}#
+                                 #{e\ 15719}#
+                                 #{r\ 15720}#
+                                 #{w\ 15721}#
+                                 #{s\ 15722}#
+                                 #{mod\ 15723}#
+                                 #{lambda-formals\ 13019}#
+                                 (cons (cons #{args\ 15739}#
+                                             (cons #{e1\ 15740}#
+                                                   #{e2\ 15741}#))
+                                       (map (lambda (#{tmp\ 15748}#
+                                                     #{tmp\ 15747}#
+                                                     #{tmp\ 15746}#)
+                                              (cons #{tmp\ 15746}#
+                                                    (cons #{tmp\ 15747}#
+                                                          #{tmp\ 15748}#)))
+                                            #{e2*\ 15744}#
+                                            #{e1*\ 15743}#
+                                            #{args*\ 15742}#))))
+                             (lambda (#{meta\ 15750}# #{lcase\ 15751}#)
+                               (#{build-case-lambda\ 12860}#
+                                 #{s\ 15722}#
+                                 #{meta\ 15750}#
+                                 #{lcase\ 15751}#))))
+                         #{tmp\ 15730}#)
+                  ((lambda (#{_\ 15755}#)
                      (syntax-violation
                        'case-lambda
                        "bad case-lambda"
-                       #{e\ 3477}#))
-                   #{tmp\ 3487}#)))
+                       #{e\ 15719}#))
+                   #{tmp\ 15729}#)))
               ($sc-dispatch
-                #{tmp\ 3487}#
+                #{tmp\ 15729}#
                 '(any (any any . each-any)
                       .
                       #(each (any any . each-any))))))
-           #{e\ 3477}#)))
-      (#{global-extend\ 662}#
+           #{e\ 15719}#)))
+      (#{global-extend\ 12912}#
         'core
         'case-lambda*
-        (lambda (#{e\ 3514}#
-                 #{r\ 3515}#
-                 #{w\ 3516}#
-                 #{s\ 3517}#
-                 #{mod\ 3518}#)
-          ((lambda (#{tmp\ 3524}#)
-             ((lambda (#{tmp\ 3525}#)
-                (if #{tmp\ 3525}#
-                  (apply (lambda (#{_\ 3533}#
-                                  #{args\ 3534}#
-                                  #{e1\ 3535}#
-                                  #{e2\ 3536}#
-                                  #{args*\ 3537}#
-                                  #{e1*\ 3538}#
-                                  #{e2*\ 3539}#)
+        (lambda (#{e\ 15756}#
+                 #{r\ 15757}#
+                 #{w\ 15758}#
+                 #{s\ 15759}#
+                 #{mod\ 15760}#)
+          ((lambda (#{tmp\ 15766}#)
+             ((lambda (#{tmp\ 15767}#)
+                (if #{tmp\ 15767}#
+                  (apply (lambda (#{_\ 15775}#
+                                  #{args\ 15776}#
+                                  #{e1\ 15777}#
+                                  #{e2\ 15778}#
+                                  #{args*\ 15779}#
+                                  #{e1*\ 15780}#
+                                  #{e2*\ 15781}#)
                            (call-with-values
                              (lambda ()
-                               (#{chi-lambda-case\ 775}#
-                                 #{e\ 3514}#
-                                 #{r\ 3515}#
-                                 #{w\ 3516}#
-                                 #{s\ 3517}#
-                                 #{mod\ 3518}#
-                                 #{lambda*-formals\ 773}#
-                                 (cons (cons #{args\ 3534}#
-                                             (cons #{e1\ 3535}# #{e2\ 3536}#))
-                                       (map (lambda (#{tmp\ 3543}#
-                                                     #{tmp\ 3542}#
-                                                     #{tmp\ 3541}#)
-                                              (cons #{tmp\ 3541}#
-                                                    (cons #{tmp\ 3542}#
-                                                          #{tmp\ 3543}#)))
-                                            #{e2*\ 3539}#
-                                            #{e1*\ 3538}#
-                                            #{args*\ 3537}#))))
-                             (lambda (#{meta\ 3545}# #{lcase\ 3546}#)
-                               (#{build-case-lambda\ 610}#
-                                 #{s\ 3517}#
-                                 #{meta\ 3545}#
-                                 #{lcase\ 3546}#))))
-                         #{tmp\ 3525}#)
-                  ((lambda (#{_\ 3550}#)
+                               (#{chi-lambda-case\ 13025}#
+                                 #{e\ 15756}#
+                                 #{r\ 15757}#
+                                 #{w\ 15758}#
+                                 #{s\ 15759}#
+                                 #{mod\ 15760}#
+                                 #{lambda*-formals\ 13023}#
+                                 (cons (cons #{args\ 15776}#
+                                             (cons #{e1\ 15777}#
+                                                   #{e2\ 15778}#))
+                                       (map (lambda (#{tmp\ 15785}#
+                                                     #{tmp\ 15784}#
+                                                     #{tmp\ 15783}#)
+                                              (cons #{tmp\ 15783}#
+                                                    (cons #{tmp\ 15784}#
+                                                          #{tmp\ 15785}#)))
+                                            #{e2*\ 15781}#
+                                            #{e1*\ 15780}#
+                                            #{args*\ 15779}#))))
+                             (lambda (#{meta\ 15787}# #{lcase\ 15788}#)
+                               (#{build-case-lambda\ 12860}#
+                                 #{s\ 15759}#
+                                 #{meta\ 15787}#
+                                 #{lcase\ 15788}#))))
+                         #{tmp\ 15767}#)
+                  ((lambda (#{_\ 15792}#)
                      (syntax-violation
                        'case-lambda
                        "bad case-lambda*"
-                       #{e\ 3514}#))
-                   #{tmp\ 3524}#)))
+                       #{e\ 15756}#))
+                   #{tmp\ 15766}#)))
               ($sc-dispatch
-                #{tmp\ 3524}#
+                #{tmp\ 15766}#
                 '(any (any any . each-any)
                       .
                       #(each (any any . each-any))))))
-           #{e\ 3514}#)))
-      (#{global-extend\ 662}#
+           #{e\ 15756}#)))
+      (#{global-extend\ 12912}#
         'core
         'let
-        (letrec ((#{chi-let\ 3552}#
-                   (lambda (#{e\ 3553}#
-                            #{r\ 3554}#
-                            #{w\ 3555}#
-                            #{s\ 3556}#
-                            #{mod\ 3557}#
-                            #{constructor\ 3558}#
-                            #{ids\ 3559}#
-                            #{vals\ 3560}#
-                            #{exps\ 3561}#)
-                     (if (not (#{valid-bound-ids?\ 729}# #{ids\ 3559}#))
+        (letrec ((#{chi-let\ 15794}#
+                   (lambda (#{e\ 15795}#
+                            #{r\ 15796}#
+                            #{w\ 15797}#
+                            #{s\ 15798}#
+                            #{mod\ 15799}#
+                            #{constructor\ 15800}#
+                            #{ids\ 15801}#
+                            #{vals\ 15802}#
+                            #{exps\ 15803}#)
+                     (if (not (#{valid-bound-ids?\ 12979}# #{ids\ 15801}#))
                        (syntax-violation
                          'let
                          "duplicate bound variable"
-                         #{e\ 3553}#)
-                       (let ((#{labels\ 3573}#
-                               (#{gen-labels\ 684}# #{ids\ 3559}#))
-                             (#{new-vars\ 3574}#
-                               (map #{gen-var\ 779}# #{ids\ 3559}#)))
-                         (let ((#{nw\ 3577}#
-                                 (#{make-binding-wrap\ 713}#
-                                   #{ids\ 3559}#
-                                   #{labels\ 3573}#
-                                   #{w\ 3555}#))
-                               (#{nr\ 3578}#
-                                 (#{extend-var-env\ 656}#
-                                   #{labels\ 3573}#
-                                   #{new-vars\ 3574}#
-                                   #{r\ 3554}#)))
-                           (#{constructor\ 3558}#
-                             #{s\ 3556}#
-                             (map syntax->datum #{ids\ 3559}#)
-                             #{new-vars\ 3574}#
-                             (map (lambda (#{x\ 3579}#)
-                                    (#{chi\ 751}#
-                                      #{x\ 3579}#
-                                      #{r\ 3554}#
-                                      #{w\ 3555}#
-                                      #{mod\ 3557}#))
-                                  #{vals\ 3560}#)
-                             (#{chi-body\ 759}#
-                               #{exps\ 3561}#
-                               (#{source-wrap\ 737}#
-                                 #{e\ 3553}#
-                                 #{nw\ 3577}#
-                                 #{s\ 3556}#
-                                 #{mod\ 3557}#)
-                               #{nr\ 3578}#
-                               #{nw\ 3577}#
-                               #{mod\ 3557}#))))))))
-          (lambda (#{e\ 3581}#
-                   #{r\ 3582}#
-                   #{w\ 3583}#
-                   #{s\ 3584}#
-                   #{mod\ 3585}#)
-            ((lambda (#{tmp\ 3591}#)
-               ((lambda (#{tmp\ 3592}#)
-                  (if (if #{tmp\ 3592}#
-                        (apply (lambda (#{_\ 3598}#
-                                        #{id\ 3599}#
-                                        #{val\ 3600}#
-                                        #{e1\ 3601}#
-                                        #{e2\ 3602}#)
-                                 (and-map #{id?\ 666}# #{id\ 3599}#))
-                               #{tmp\ 3592}#)
+                         #{e\ 15795}#)
+                       (let ((#{labels\ 15815}#
+                               (#{gen-labels\ 12934}# #{ids\ 15801}#))
+                             (#{new-vars\ 15816}#
+                               (map #{gen-var\ 13029}# #{ids\ 15801}#)))
+                         (let ((#{nw\ 15819}#
+                                 (#{make-binding-wrap\ 12963}#
+                                   #{ids\ 15801}#
+                                   #{labels\ 15815}#
+                                   #{w\ 15797}#))
+                               (#{nr\ 15820}#
+                                 (#{extend-var-env\ 12906}#
+                                   #{labels\ 15815}#
+                                   #{new-vars\ 15816}#
+                                   #{r\ 15796}#)))
+                           (#{constructor\ 15800}#
+                             #{s\ 15798}#
+                             (map syntax->datum #{ids\ 15801}#)
+                             #{new-vars\ 15816}#
+                             (map (lambda (#{x\ 15821}#)
+                                    (#{chi\ 13001}#
+                                      #{x\ 15821}#
+                                      #{r\ 15796}#
+                                      #{w\ 15797}#
+                                      #{mod\ 15799}#))
+                                  #{vals\ 15802}#)
+                             (#{chi-body\ 13009}#
+                               #{exps\ 15803}#
+                               (#{source-wrap\ 12987}#
+                                 #{e\ 15795}#
+                                 #{nw\ 15819}#
+                                 #{s\ 15798}#
+                                 #{mod\ 15799}#)
+                               #{nr\ 15820}#
+                               #{nw\ 15819}#
+                               #{mod\ 15799}#))))))))
+          (lambda (#{e\ 15823}#
+                   #{r\ 15824}#
+                   #{w\ 15825}#
+                   #{s\ 15826}#
+                   #{mod\ 15827}#)
+            ((lambda (#{tmp\ 15833}#)
+               ((lambda (#{tmp\ 15834}#)
+                  (if (if #{tmp\ 15834}#
+                        (apply (lambda (#{_\ 15840}#
+                                        #{id\ 15841}#
+                                        #{val\ 15842}#
+                                        #{e1\ 15843}#
+                                        #{e2\ 15844}#)
+                                 (and-map #{id?\ 12916}# #{id\ 15841}#))
+                               #{tmp\ 15834}#)
                         #f)
-                    (apply (lambda (#{_\ 3609}#
-                                    #{id\ 3610}#
-                                    #{val\ 3611}#
-                                    #{e1\ 3612}#
-                                    #{e2\ 3613}#)
-                             (#{chi-let\ 3552}#
-                               #{e\ 3581}#
-                               #{r\ 3582}#
-                               #{w\ 3583}#
-                               #{s\ 3584}#
-                               #{mod\ 3585}#
-                               #{build-let\ 620}#
-                               #{id\ 3610}#
-                               #{val\ 3611}#
-                               (cons #{e1\ 3612}# #{e2\ 3613}#)))
-                           #{tmp\ 3592}#)
-                    ((lambda (#{tmp\ 3617}#)
-                       (if (if #{tmp\ 3617}#
-                             (apply (lambda (#{_\ 3624}#
-                                             #{f\ 3625}#
-                                             #{id\ 3626}#
-                                             #{val\ 3627}#
-                                             #{e1\ 3628}#
-                                             #{e2\ 3629}#)
-                                      (if (#{id?\ 666}# #{f\ 3625}#)
-                                        (and-map #{id?\ 666}# #{id\ 3626}#)
+                    (apply (lambda (#{_\ 15851}#
+                                    #{id\ 15852}#
+                                    #{val\ 15853}#
+                                    #{e1\ 15854}#
+                                    #{e2\ 15855}#)
+                             (#{chi-let\ 15794}#
+                               #{e\ 15823}#
+                               #{r\ 15824}#
+                               #{w\ 15825}#
+                               #{s\ 15826}#
+                               #{mod\ 15827}#
+                               #{build-let\ 12870}#
+                               #{id\ 15852}#
+                               #{val\ 15853}#
+                               (cons #{e1\ 15854}# #{e2\ 15855}#)))
+                           #{tmp\ 15834}#)
+                    ((lambda (#{tmp\ 15859}#)
+                       (if (if #{tmp\ 15859}#
+                             (apply (lambda (#{_\ 15866}#
+                                             #{f\ 15867}#
+                                             #{id\ 15868}#
+                                             #{val\ 15869}#
+                                             #{e1\ 15870}#
+                                             #{e2\ 15871}#)
+                                      (if (#{id?\ 12916}# #{f\ 15867}#)
+                                        (and-map #{id?\ 12916}# #{id\ 15868}#)
                                         #f))
-                                    #{tmp\ 3617}#)
+                                    #{tmp\ 15859}#)
                              #f)
-                         (apply (lambda (#{_\ 3639}#
-                                         #{f\ 3640}#
-                                         #{id\ 3641}#
-                                         #{val\ 3642}#
-                                         #{e1\ 3643}#
-                                         #{e2\ 3644}#)
-                                  (#{chi-let\ 3552}#
-                                    #{e\ 3581}#
-                                    #{r\ 3582}#
-                                    #{w\ 3583}#
-                                    #{s\ 3584}#
-                                    #{mod\ 3585}#
-                                    #{build-named-let\ 622}#
-                                    (cons #{f\ 3640}# #{id\ 3641}#)
-                                    #{val\ 3642}#
-                                    (cons #{e1\ 3643}# #{e2\ 3644}#)))
-                                #{tmp\ 3617}#)
-                         ((lambda (#{_\ 3649}#)
+                         (apply (lambda (#{_\ 15881}#
+                                         #{f\ 15882}#
+                                         #{id\ 15883}#
+                                         #{val\ 15884}#
+                                         #{e1\ 15885}#
+                                         #{e2\ 15886}#)
+                                  (#{chi-let\ 15794}#
+                                    #{e\ 15823}#
+                                    #{r\ 15824}#
+                                    #{w\ 15825}#
+                                    #{s\ 15826}#
+                                    #{mod\ 15827}#
+                                    #{build-named-let\ 12872}#
+                                    (cons #{f\ 15882}# #{id\ 15883}#)
+                                    #{val\ 15884}#
+                                    (cons #{e1\ 15885}# #{e2\ 15886}#)))
+                                #{tmp\ 15859}#)
+                         ((lambda (#{_\ 15891}#)
                             (syntax-violation
                               'let
                               "bad let"
-                              (#{source-wrap\ 737}#
-                                #{e\ 3581}#
-                                #{w\ 3583}#
-                                #{s\ 3584}#
-                                #{mod\ 3585}#)))
-                          #{tmp\ 3591}#)))
+                              (#{source-wrap\ 12987}#
+                                #{e\ 15823}#
+                                #{w\ 15825}#
+                                #{s\ 15826}#
+                                #{mod\ 15827}#)))
+                          #{tmp\ 15833}#)))
                      ($sc-dispatch
-                       #{tmp\ 3591}#
+                       #{tmp\ 15833}#
                        '(any any #(each (any any)) any . each-any)))))
                 ($sc-dispatch
-                  #{tmp\ 3591}#
+                  #{tmp\ 15833}#
                   '(any #(each (any any)) any . each-any))))
-             #{e\ 3581}#))))
-      (#{global-extend\ 662}#
+             #{e\ 15823}#))))
+      (#{global-extend\ 12912}#
         'core
         'letrec
-        (lambda (#{e\ 3650}#
-                 #{r\ 3651}#
-                 #{w\ 3652}#
-                 #{s\ 3653}#
-                 #{mod\ 3654}#)
-          ((lambda (#{tmp\ 3660}#)
-             ((lambda (#{tmp\ 3661}#)
-                (if (if #{tmp\ 3661}#
-                      (apply (lambda (#{_\ 3667}#
-                                      #{id\ 3668}#
-                                      #{val\ 3669}#
-                                      #{e1\ 3670}#
-                                      #{e2\ 3671}#)
-                               (and-map #{id?\ 666}# #{id\ 3668}#))
-                             #{tmp\ 3661}#)
+        (lambda (#{e\ 15892}#
+                 #{r\ 15893}#
+                 #{w\ 15894}#
+                 #{s\ 15895}#
+                 #{mod\ 15896}#)
+          ((lambda (#{tmp\ 15902}#)
+             ((lambda (#{tmp\ 15903}#)
+                (if (if #{tmp\ 15903}#
+                      (apply (lambda (#{_\ 15909}#
+                                      #{id\ 15910}#
+                                      #{val\ 15911}#
+                                      #{e1\ 15912}#
+                                      #{e2\ 15913}#)
+                               (and-map #{id?\ 12916}# #{id\ 15910}#))
+                             #{tmp\ 15903}#)
                       #f)
-                  (apply (lambda (#{_\ 3678}#
-                                  #{id\ 3679}#
-                                  #{val\ 3680}#
-                                  #{e1\ 3681}#
-                                  #{e2\ 3682}#)
-                           (let ((#{ids\ 3684}# #{id\ 3679}#))
-                             (if (not (#{valid-bound-ids?\ 729}#
-                                        #{ids\ 3684}#))
+                  (apply (lambda (#{_\ 15920}#
+                                  #{id\ 15921}#
+                                  #{val\ 15922}#
+                                  #{e1\ 15923}#
+                                  #{e2\ 15924}#)
+                           (let ((#{ids\ 15926}# #{id\ 15921}#))
+                             (if (not (#{valid-bound-ids?\ 12979}#
+                                        #{ids\ 15926}#))
                                (syntax-violation
                                  'letrec
                                  "duplicate bound variable"
-                                 #{e\ 3650}#)
-                               (let ((#{labels\ 3688}#
-                                       (#{gen-labels\ 684}# #{ids\ 3684}#))
-                                     (#{new-vars\ 3689}#
-                                       (map #{gen-var\ 779}# #{ids\ 3684}#)))
-                                 (let ((#{w\ 3692}#
-                                         (#{make-binding-wrap\ 713}#
-                                           #{ids\ 3684}#
-                                           #{labels\ 3688}#
-                                           #{w\ 3652}#))
-                                       (#{r\ 3693}#
-                                         (#{extend-var-env\ 656}#
-                                           #{labels\ 3688}#
-                                           #{new-vars\ 3689}#
-                                           #{r\ 3651}#)))
-                                   (#{build-letrec\ 624}#
-                                     #{s\ 3653}#
-                                     (map syntax->datum #{ids\ 3684}#)
-                                     #{new-vars\ 3689}#
-                                     (map (lambda (#{x\ 3694}#)
-                                            (#{chi\ 751}#
-                                              #{x\ 3694}#
-                                              #{r\ 3693}#
-                                              #{w\ 3692}#
-                                              #{mod\ 3654}#))
-                                          #{val\ 3680}#)
-                                     (#{chi-body\ 759}#
-                                       (cons #{e1\ 3681}# #{e2\ 3682}#)
-                                       (#{source-wrap\ 737}#
-                                         #{e\ 3650}#
-                                         #{w\ 3692}#
-                                         #{s\ 3653}#
-                                         #{mod\ 3654}#)
-                                       #{r\ 3693}#
-                                       #{w\ 3692}#
-                                       #{mod\ 3654}#)))))))
-                         #{tmp\ 3661}#)
-                  ((lambda (#{_\ 3699}#)
+                                 #{e\ 15892}#)
+                               (let ((#{labels\ 15930}#
+                                       (#{gen-labels\ 12934}# #{ids\ 15926}#))
+                                     (#{new-vars\ 15931}#
+                                       (map #{gen-var\ 13029}#
+                                            #{ids\ 15926}#)))
+                                 (let ((#{w\ 15934}#
+                                         (#{make-binding-wrap\ 12963}#
+                                           #{ids\ 15926}#
+                                           #{labels\ 15930}#
+                                           #{w\ 15894}#))
+                                       (#{r\ 15935}#
+                                         (#{extend-var-env\ 12906}#
+                                           #{labels\ 15930}#
+                                           #{new-vars\ 15931}#
+                                           #{r\ 15893}#)))
+                                   (#{build-letrec\ 12874}#
+                                     #{s\ 15895}#
+                                     (map syntax->datum #{ids\ 15926}#)
+                                     #{new-vars\ 15931}#
+                                     (map (lambda (#{x\ 15936}#)
+                                            (#{chi\ 13001}#
+                                              #{x\ 15936}#
+                                              #{r\ 15935}#
+                                              #{w\ 15934}#
+                                              #{mod\ 15896}#))
+                                          #{val\ 15922}#)
+                                     (#{chi-body\ 13009}#
+                                       (cons #{e1\ 15923}# #{e2\ 15924}#)
+                                       (#{source-wrap\ 12987}#
+                                         #{e\ 15892}#
+                                         #{w\ 15934}#
+                                         #{s\ 15895}#
+                                         #{mod\ 15896}#)
+                                       #{r\ 15935}#
+                                       #{w\ 15934}#
+                                       #{mod\ 15896}#)))))))
+                         #{tmp\ 15903}#)
+                  ((lambda (#{_\ 15941}#)
                      (syntax-violation
                        'letrec
                        "bad letrec"
-                       (#{source-wrap\ 737}#
-                         #{e\ 3650}#
-                         #{w\ 3652}#
-                         #{s\ 3653}#
-                         #{mod\ 3654}#)))
-                   #{tmp\ 3660}#)))
+                       (#{source-wrap\ 12987}#
+                         #{e\ 15892}#
+                         #{w\ 15894}#
+                         #{s\ 15895}#
+                         #{mod\ 15896}#)))
+                   #{tmp\ 15902}#)))
               ($sc-dispatch
-                #{tmp\ 3660}#
+                #{tmp\ 15902}#
                 '(any #(each (any any)) any . each-any))))
-           #{e\ 3650}#)))
-      (#{global-extend\ 662}#
+           #{e\ 15892}#)))
+      (#{global-extend\ 12912}#
         'core
         'set!
-        (lambda (#{e\ 3700}#
-                 #{r\ 3701}#
-                 #{w\ 3702}#
-                 #{s\ 3703}#
-                 #{mod\ 3704}#)
-          ((lambda (#{tmp\ 3710}#)
-             ((lambda (#{tmp\ 3711}#)
-                (if (if #{tmp\ 3711}#
-                      (apply (lambda (#{_\ 3715}# #{id\ 3716}# #{val\ 3717}#)
-                               (#{id?\ 666}# #{id\ 3716}#))
-                             #{tmp\ 3711}#)
+        (lambda (#{e\ 15942}#
+                 #{r\ 15943}#
+                 #{w\ 15944}#
+                 #{s\ 15945}#
+                 #{mod\ 15946}#)
+          ((lambda (#{tmp\ 15952}#)
+             ((lambda (#{tmp\ 15953}#)
+                (if (if #{tmp\ 15953}#
+                      (apply (lambda (#{_\ 15957}#
+                                      #{id\ 15958}#
+                                      #{val\ 15959}#)
+                               (#{id?\ 12916}# #{id\ 15958}#))
+                             #{tmp\ 15953}#)
                       #f)
-                  (apply (lambda (#{_\ 3721}# #{id\ 3722}# #{val\ 3723}#)
-                           (let ((#{val\ 3726}#
-                                   (#{chi\ 751}#
-                                     #{val\ 3723}#
-                                     #{r\ 3701}#
-                                     #{w\ 3702}#
-                                     #{mod\ 3704}#))
-                                 (#{n\ 3727}#
-                                   (#{id-var-name\ 723}#
-                                     #{id\ 3722}#
-                                     #{w\ 3702}#)))
-                             (let ((#{b\ 3729}#
-                                     (#{lookup\ 660}#
-                                       #{n\ 3727}#
-                                       #{r\ 3701}#
-                                       #{mod\ 3704}#)))
-                               (let ((#{atom-key\ 3732}#
-                                       (#{binding-type\ 649}# #{b\ 3729}#)))
-                                 (if (memv #{atom-key\ 3732}#
+                  (apply (lambda (#{_\ 15963}# #{id\ 15964}# #{val\ 15965}#)
+                           (let ((#{val\ 15968}#
+                                   (#{chi\ 13001}#
+                                     #{val\ 15965}#
+                                     #{r\ 15943}#
+                                     #{w\ 15944}#
+                                     #{mod\ 15946}#))
+                                 (#{n\ 15969}#
+                                   (#{id-var-name\ 12973}#
+                                     #{id\ 15964}#
+                                     #{w\ 15944}#)))
+                             (let ((#{b\ 15971}#
+                                     (#{lookup\ 12910}#
+                                       #{n\ 15969}#
+                                       #{r\ 15943}#
+                                       #{mod\ 15946}#)))
+                               (let ((#{atom-key\ 15974}#
+                                       (#{binding-type\ 12899}# #{b\ 15971}#)))
+                                 (if (memv #{atom-key\ 15974}#
                                            '(lexical))
-                                   (#{build-lexical-assignment\ 596}#
-                                     #{s\ 3703}#
-                                     (syntax->datum #{id\ 3722}#)
-                                     (#{binding-value\ 651}# #{b\ 3729}#)
-                                     #{val\ 3726}#)
-                                   (if (memv #{atom-key\ 3732}#
+                                   (#{build-lexical-assignment\ 12846}#
+                                     #{s\ 15945}#
+                                     (syntax->datum #{id\ 15964}#)
+                                     (#{binding-value\ 12901}# #{b\ 15971}#)
+                                     #{val\ 15968}#)
+                                   (if (memv #{atom-key\ 15974}#
                                              '(global))
-                                     (#{build-global-assignment\ 602}#
-                                       #{s\ 3703}#
-                                       #{n\ 3727}#
-                                       #{val\ 3726}#
-                                       #{mod\ 3704}#)
-                                     (if (memv #{atom-key\ 3732}#
+                                     (#{build-global-assignment\ 12852}#
+                                       #{s\ 15945}#
+                                       #{n\ 15969}#
+                                       #{val\ 15968}#
+                                       #{mod\ 15946}#)
+                                     (if (memv #{atom-key\ 15974}#
                                                '(displaced-lexical))
                                        (syntax-violation
                                          'set!
                                          "identifier out of context"
-                                         (#{wrap\ 735}#
-                                           #{id\ 3722}#
-                                           #{w\ 3702}#
-                                           #{mod\ 3704}#))
+                                         (#{wrap\ 12985}#
+                                           #{id\ 15964}#
+                                           #{w\ 15944}#
+                                           #{mod\ 15946}#))
                                        (syntax-violation
                                          'set!
                                          "bad set!"
-                                         (#{source-wrap\ 737}#
-                                           #{e\ 3700}#
-                                           #{w\ 3702}#
-                                           #{s\ 3703}#
-                                           #{mod\ 3704}#)))))))))
-                         #{tmp\ 3711}#)
-                  ((lambda (#{tmp\ 3737}#)
-                     (if #{tmp\ 3737}#
-                       (apply (lambda (#{_\ 3742}#
-                                       #{head\ 3743}#
-                                       #{tail\ 3744}#
-                                       #{val\ 3745}#)
+                                         (#{source-wrap\ 12987}#
+                                           #{e\ 15942}#
+                                           #{w\ 15944}#
+                                           #{s\ 15945}#
+                                           #{mod\ 15946}#)))))))))
+                         #{tmp\ 15953}#)
+                  ((lambda (#{tmp\ 15979}#)
+                     (if #{tmp\ 15979}#
+                       (apply (lambda (#{_\ 15984}#
+                                       #{head\ 15985}#
+                                       #{tail\ 15986}#
+                                       #{val\ 15987}#)
                                 (call-with-values
                                   (lambda ()
-                                    (#{syntax-type\ 747}#
-                                      #{head\ 3743}#
-                                      #{r\ 3701}#
+                                    (#{syntax-type\ 12997}#
+                                      #{head\ 15985}#
+                                      #{r\ 15943}#
                                       '(())
                                       #f
                                       #f
-                                      #{mod\ 3704}#
+                                      #{mod\ 15946}#
                                       #t))
-                                  (lambda (#{type\ 3748}#
-                                           #{value\ 3749}#
-                                           #{ee\ 3750}#
-                                           #{ww\ 3751}#
-                                           #{ss\ 3752}#
-                                           #{modmod\ 3753}#)
-                                    (if (memv #{type\ 3748}#
+                                  (lambda (#{type\ 15990}#
+                                           #{value\ 15991}#
+                                           #{ee\ 15992}#
+                                           #{ww\ 15993}#
+                                           #{ss\ 15994}#
+                                           #{modmod\ 15995}#)
+                                    (if (memv #{type\ 15990}#
                                               '(module-ref))
-                                      (let ((#{val\ 3762}#
-                                              (#{chi\ 751}#
-                                                #{val\ 3745}#
-                                                #{r\ 3701}#
-                                                #{w\ 3702}#
-                                                #{mod\ 3704}#)))
+                                      (let ((#{val\ 16004}#
+                                              (#{chi\ 13001}#
+                                                #{val\ 15987}#
+                                                #{r\ 15943}#
+                                                #{w\ 15944}#
+                                                #{mod\ 15946}#)))
                                         (call-with-values
                                           (lambda ()
-                                            (#{value\ 3749}#
-                                              (cons #{head\ 3743}#
-                                                    #{tail\ 3744}#)
-                                              #{r\ 3701}#
-                                              #{w\ 3702}#))
-                                          (lambda (#{e\ 3764}#
-                                                   #{r\ 3765}#
-                                                   #{w\ 3766}#
-                                                   #{s*\ 3767}#
-                                                   #{mod\ 3768}#)
-                                            ((lambda (#{tmp\ 3774}#)
-                                               ((lambda (#{tmp\ 3775}#)
-                                                  (if (if #{tmp\ 3775}#
-                                                        (apply (lambda (#{e\ 
3777}#)
-                                                                 (#{id?\ 666}#
-                                                                   #{e\ 
3777}#))
-                                                               #{tmp\ 3775}#)
+                                            (#{value\ 15991}#
+                                              (cons #{head\ 15985}#
+                                                    #{tail\ 15986}#)
+                                              #{r\ 15943}#
+                                              #{w\ 15944}#))
+                                          (lambda (#{e\ 16006}#
+                                                   #{r\ 16007}#
+                                                   #{w\ 16008}#
+                                                   #{s*\ 16009}#
+                                                   #{mod\ 16010}#)
+                                            ((lambda (#{tmp\ 16016}#)
+                                               ((lambda (#{tmp\ 16017}#)
+                                                  (if (if #{tmp\ 16017}#
+                                                        (apply (lambda (#{e\ 
16019}#)
+                                                                 (#{id?\ 
12916}#
+                                                                   #{e\ 
16019}#))
+                                                               #{tmp\ 16017}#)
                                                         #f)
-                                                    (apply (lambda (#{e\ 
3779}#)
-                                                             
(#{build-global-assignment\ 602}#
-                                                               #{s\ 3703}#
+                                                    (apply (lambda (#{e\ 
16021}#)
+                                                             
(#{build-global-assignment\ 12852}#
+                                                               #{s\ 15945}#
                                                                (syntax->datum
-                                                                 #{e\ 3779}#)
-                                                               #{val\ 3762}#
-                                                               #{mod\ 3768}#))
-                                                           #{tmp\ 3775}#)
+                                                                 #{e\ 16021}#)
+                                                               #{val\ 16004}#
+                                                               #{mod\ 16010}#))
+                                                           #{tmp\ 16017}#)
                                                     (syntax-violation
                                                       #f
                                                       "source expression 
failed to match any pattern"
-                                                      #{tmp\ 3774}#)))
-                                                (list #{tmp\ 3774}#)))
-                                             #{e\ 3764}#))))
-                                      (#{build-application\ 588}#
-                                        #{s\ 3703}#
-                                        (#{chi\ 751}#
+                                                      #{tmp\ 16016}#)))
+                                                (list #{tmp\ 16016}#)))
+                                             #{e\ 16006}#))))
+                                      (#{build-application\ 12838}#
+                                        #{s\ 15945}#
+                                        (#{chi\ 13001}#
                                           (list '#(syntax-object
                                                    setter
                                                    ((top)
@@ -9410,22 +10110,22 @@
                                                         (top)
                                                         (top)
                                                         (top))
-                                                      #("i3754"
-                                                        "i3755"
-                                                        "i3756"
-                                                        "i3757"
-                                                        "i3758"
-                                                        "i3759"))
+                                                      #("i15996"
+                                                        "i15997"
+                                                        "i15998"
+                                                        "i15999"
+                                                        "i16000"
+                                                        "i16001"))
                                                     #(ribcage
                                                       #(_ head tail val)
                                                       #((top)
                                                         (top)
                                                         (top)
                                                         (top))
-                                                      #("i3738"
-                                                        "i3739"
-                                                        "i3740"
-                                                        "i3741"))
+                                                      #("i15980"
+                                                        "i15981"
+                                                        "i15982"
+                                                        "i15983"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(e r w s mod)
@@ -9434,11 +10134,11 @@
                                                         (top)
                                                         (top)
                                                         (top))
-                                                      #("i3705"
-                                                        "i3706"
-                                                        "i3707"
-                                                        "i3708"
-                                                        "i3709"))
+                                                      #("i15947"
+                                                        "i15948"
+                                                        "i15949"
+                                                        "i15950"
+                                                        "i15951"))
                                                     #(ribcage
                                                       (lambda-var-list
                                                         gen-var
@@ -9556,6 +10256,24 @@
                                                         fx=
                                                         fx-
                                                         fx+
+                                                        make-dynlet
+                                                        make-letrec
+                                                        make-let
+                                                        make-lambda-case
+                                                        make-lambda
+                                                        make-sequence
+                                                        make-application
+                                                        make-conditional
+                                                        make-toplevel-define
+                                                        make-toplevel-set
+                                                        make-toplevel-ref
+                                                        make-module-set
+                                                        make-module-ref
+                                                        make-lexical-set
+                                                        make-lexical-ref
+                                                        make-primitive-ref
+                                                        make-const
+                                                        make-void
                                                         *mode*)
                                                       ((top)
                                                        (top)
@@ -9673,179 +10391,220 @@
                                                        (top)
                                                        (top)
                                                        (top)
+                                                       (top)
+                                                       (top)
+                                                       (top)
+                                                       (top)
+                                                       (top)
+                                                       (top)
+                                                       (top)
+                                                       (top)
+                                                       (top)
+                                                       (top)
+                                                       (top)
+                                                       (top)
+                                                       (top)
+                                                       (top)
+                                                       (top)
+                                                       (top)
+                                                       (top)
+                                                       (top)
                                                        (top))
-                                                      ("i780"
-                                                       "i778"
-                                                       "i776"
-                                                       "i774"
-                                                       "i772"
-                                                       "i770"
-                                                       "i768"
-                                                       "i766"
-                                                       "i764"
-                                                       "i762"
-                                                       "i760"
-                                                       "i758"
-                                                       "i756"
-                                                       "i754"
-                                                       "i752"
-                                                       "i750"
-                                                       "i748"
-                                                       "i746"
-                                                       "i744"
-                                                       "i742"
-                                                       "i740"
-                                                       "i738"
-                                                       "i736"
-                                                       "i734"
-                                                       "i732"
-                                                       "i730"
-                                                       "i728"
-                                                       "i726"
-                                                       "i724"
-                                                       "i722"
-                                                       "i720"
-                                                       "i718"
-                                                       "i716"
-                                                       "i714"
-                                                       "i712"
-                                                       "i710"
-                                                       "i709"
-                                                       "i708"
-                                                       "i706"
-                                                       "i705"
-                                                       "i704"
-                                                       "i703"
-                                                       "i702"
-                                                       "i700"
-                                                       "i698"
-                                                       "i696"
-                                                       "i694"
-                                                       "i692"
-                                                       "i690"
-                                                       "i688"
-                                                       "i686"
-                                                       "i683"
-                                                       "i681"
-                                                       "i680"
-                                                       "i679"
-                                                       "i678"
-                                                       "i677"
-                                                       "i676"
-                                                       "i674"
-                                                       "i672"
-                                                       "i670"
-                                                       "i668"
-                                                       "i667"
-                                                       "i665"
-                                                       "i663"
-                                                       "i661"
-                                                       "i659"
-                                                       "i657"
-                                                       "i655"
-                                                       "i653"
-                                                       "i652"
-                                                       "i650"
-                                                       "i648"
-                                                       "i647"
-                                                       "i646"
-                                                       "i644"
-                                                       "i643"
-                                                       "i641"
-                                                       "i639"
-                                                       "i637"
-                                                       "i635"
-                                                       "i633"
-                                                       "i631"
-                                                       "i629"
-                                                       "i627"
-                                                       "i625"
-                                                       "i623"
-                                                       "i621"
-                                                       "i619"
-                                                       "i617"
-                                                       "i615"
-                                                       "i613"
-                                                       "i611"
-                                                       "i609"
-                                                       "i607"
-                                                       "i605"
-                                                       "i603"
-                                                       "i601"
-                                                       "i599"
-                                                       "i597"
-                                                       "i595"
-                                                       "i593"
-                                                       "i591"
-                                                       "i589"
-                                                       "i587"
-                                                       "i585"
-                                                       "i583"
-                                                       "i581"
-                                                       "i579"
-                                                       "i578"
-                                                       "i576"
-                                                       "i574"
-                                                       "i572"
-                                                       "i570"
-                                                       "i568"
-                                                       "i566"
-                                                       "i564"))
+                                                      ("i13030"
+                                                       "i13028"
+                                                       "i13026"
+                                                       "i13024"
+                                                       "i13022"
+                                                       "i13020"
+                                                       "i13018"
+                                                       "i13016"
+                                                       "i13014"
+                                                       "i13012"
+                                                       "i13010"
+                                                       "i13008"
+                                                       "i13006"
+                                                       "i13004"
+                                                       "i13002"
+                                                       "i13000"
+                                                       "i12998"
+                                                       "i12996"
+                                                       "i12994"
+                                                       "i12992"
+                                                       "i12990"
+                                                       "i12988"
+                                                       "i12986"
+                                                       "i12984"
+                                                       "i12982"
+                                                       "i12980"
+                                                       "i12978"
+                                                       "i12976"
+                                                       "i12974"
+                                                       "i12972"
+                                                       "i12970"
+                                                       "i12968"
+                                                       "i12966"
+                                                       "i12964"
+                                                       "i12962"
+                                                       "i12960"
+                                                       "i12959"
+                                                       "i12958"
+                                                       "i12956"
+                                                       "i12955"
+                                                       "i12954"
+                                                       "i12953"
+                                                       "i12952"
+                                                       "i12950"
+                                                       "i12948"
+                                                       "i12946"
+                                                       "i12944"
+                                                       "i12942"
+                                                       "i12940"
+                                                       "i12938"
+                                                       "i12936"
+                                                       "i12933"
+                                                       "i12931"
+                                                       "i12930"
+                                                       "i12929"
+                                                       "i12928"
+                                                       "i12927"
+                                                       "i12926"
+                                                       "i12924"
+                                                       "i12922"
+                                                       "i12920"
+                                                       "i12918"
+                                                       "i12917"
+                                                       "i12915"
+                                                       "i12913"
+                                                       "i12911"
+                                                       "i12909"
+                                                       "i12907"
+                                                       "i12905"
+                                                       "i12903"
+                                                       "i12902"
+                                                       "i12900"
+                                                       "i12898"
+                                                       "i12897"
+                                                       "i12896"
+                                                       "i12894"
+                                                       "i12893"
+                                                       "i12891"
+                                                       "i12889"
+                                                       "i12887"
+                                                       "i12885"
+                                                       "i12883"
+                                                       "i12881"
+                                                       "i12879"
+                                                       "i12877"
+                                                       "i12875"
+                                                       "i12873"
+                                                       "i12871"
+                                                       "i12869"
+                                                       "i12867"
+                                                       "i12865"
+                                                       "i12863"
+                                                       "i12861"
+                                                       "i12859"
+                                                       "i12857"
+                                                       "i12855"
+                                                       "i12853"
+                                                       "i12851"
+                                                       "i12849"
+                                                       "i12847"
+                                                       "i12845"
+                                                       "i12843"
+                                                       "i12841"
+                                                       "i12839"
+                                                       "i12837"
+                                                       "i12835"
+                                                       "i12833"
+                                                       "i12831"
+                                                       "i12829"
+                                                       "i12828"
+                                                       "i12826"
+                                                       "i12824"
+                                                       "i12822"
+                                                       "i12820"
+                                                       "i12818"
+                                                       "i12816"
+                                                       "i12814"
+                                                       "i12812"
+                                                       "i12810"
+                                                       "i12808"
+                                                       "i12806"
+                                                       "i12804"
+                                                       "i12802"
+                                                       "i12800"
+                                                       "i12798"
+                                                       "i12796"
+                                                       "i12794"
+                                                       "i12792"
+                                                       "i12790"
+                                                       "i12788"
+                                                       "i12786"
+                                                       "i12784"
+                                                       "i12782"
+                                                       "i12780"
+                                                       "i12777"))
                                                     #(ribcage
                                                       (define-structure
+                                                        
define-expansion-constructors
                                                         and-map*)
-                                                      ((top) (top))
-                                                      ("i467" "i465")))
+                                                      ((top) (top) (top))
+                                                      ("i12629"
+                                                       "i12628"
+                                                       "i12626")))
                                                    (hygiene guile))
-                                                #{head\ 3743}#)
-                                          #{r\ 3701}#
-                                          #{w\ 3702}#
-                                          #{mod\ 3704}#)
-                                        (map (lambda (#{e\ 3781}#)
-                                               (#{chi\ 751}#
-                                                 #{e\ 3781}#
-                                                 #{r\ 3701}#
-                                                 #{w\ 3702}#
-                                                 #{mod\ 3704}#))
+                                                #{head\ 15985}#)
+                                          #{r\ 15943}#
+                                          #{w\ 15944}#
+                                          #{mod\ 15946}#)
+                                        (map (lambda (#{e\ 16023}#)
+                                               (#{chi\ 13001}#
+                                                 #{e\ 16023}#
+                                                 #{r\ 15943}#
+                                                 #{w\ 15944}#
+                                                 #{mod\ 15946}#))
                                              (append
-                                               #{tail\ 3744}#
-                                               (list #{val\ 3745}#))))))))
-                              #{tmp\ 3737}#)
-                       ((lambda (#{_\ 3785}#)
+                                               #{tail\ 15986}#
+                                               (list #{val\ 15987}#))))))))
+                              #{tmp\ 15979}#)
+                       ((lambda (#{_\ 16027}#)
                           (syntax-violation
                             'set!
                             "bad set!"
-                            (#{source-wrap\ 737}#
-                              #{e\ 3700}#
-                              #{w\ 3702}#
-                              #{s\ 3703}#
-                              #{mod\ 3704}#)))
-                        #{tmp\ 3710}#)))
+                            (#{source-wrap\ 12987}#
+                              #{e\ 15942}#
+                              #{w\ 15944}#
+                              #{s\ 15945}#
+                              #{mod\ 15946}#)))
+                        #{tmp\ 15952}#)))
                    ($sc-dispatch
-                     #{tmp\ 3710}#
+                     #{tmp\ 15952}#
                      '(any (any . each-any) any)))))
               ($sc-dispatch
-                #{tmp\ 3710}#
+                #{tmp\ 15952}#
                 '(any any any))))
-           #{e\ 3700}#)))
-      (#{global-extend\ 662}#
+           #{e\ 15942}#)))
+      (#{global-extend\ 12912}#
         'module-ref
         '@
-        (lambda (#{e\ 3786}# #{r\ 3787}# #{w\ 3788}#)
-          ((lambda (#{tmp\ 3792}#)
-             ((lambda (#{tmp\ 3793}#)
-                (if (if #{tmp\ 3793}#
-                      (apply (lambda (#{_\ 3797}# #{mod\ 3798}# #{id\ 3799}#)
-                               (if (and-map #{id?\ 666}# #{mod\ 3798}#)
-                                 (#{id?\ 666}# #{id\ 3799}#)
+        (lambda (#{e\ 16028}# #{r\ 16029}# #{w\ 16030}#)
+          ((lambda (#{tmp\ 16034}#)
+             ((lambda (#{tmp\ 16035}#)
+                (if (if #{tmp\ 16035}#
+                      (apply (lambda (#{_\ 16039}#
+                                      #{mod\ 16040}#
+                                      #{id\ 16041}#)
+                               (if (and-map #{id?\ 12916}# #{mod\ 16040}#)
+                                 (#{id?\ 12916}# #{id\ 16041}#)
                                  #f))
-                             #{tmp\ 3793}#)
+                             #{tmp\ 16035}#)
                       #f)
-                  (apply (lambda (#{_\ 3806}# #{mod\ 3807}# #{id\ 3808}#)
+                  (apply (lambda (#{_\ 16048}# #{mod\ 16049}# #{id\ 16050}#)
                            (values
-                             (syntax->datum #{id\ 3808}#)
-                             #{r\ 3787}#
-                             #{w\ 3788}#
+                             (syntax->datum #{id\ 16050}#)
+                             #{r\ 16029}#
+                             #{w\ 16030}#
                              #f
                              (syntax->datum
                                (cons '#(syntax-object
@@ -9854,12 +10613,12 @@
                                          #(ribcage
                                            #(_ mod id)
                                            #((top) (top) (top))
-                                           #("i3803" "i3804" "i3805"))
+                                           #("i16045" "i16046" "i16047"))
                                          #(ribcage () () ())
                                          #(ribcage
                                            #(e r w)
                                            #((top) (top) (top))
-                                           #("i3789" "i3790" "i3791"))
+                                           #("i16031" "i16032" "i16033"))
                                          #(ribcage
                                            (lambda-var-list
                                              gen-var
@@ -9977,6 +10736,24 @@
                                              fx=
                                              fx-
                                              fx+
+                                             make-dynlet
+                                             make-letrec
+                                             make-let
+                                             make-lambda-case
+                                             make-lambda
+                                             make-sequence
+                                             make-application
+                                             make-conditional
+                                             make-toplevel-define
+                                             make-toplevel-set
+                                             make-toplevel-ref
+                                             make-module-set
+                                             make-module-ref
+                                             make-lexical-set
+                                             make-lexical-ref
+                                             make-primitive-ref
+                                             make-const
+                                             make-void
                                              *mode*)
                                            ((top)
                                             (top)
@@ -10094,194 +10871,233 @@
                                             (top)
                                             (top)
                                             (top)
+                                            (top)
+                                            (top)
+                                            (top)
+                                            (top)
+                                            (top)
+                                            (top)
+                                            (top)
+                                            (top)
+                                            (top)
+                                            (top)
+                                            (top)
+                                            (top)
+                                            (top)
+                                            (top)
+                                            (top)
+                                            (top)
+                                            (top)
+                                            (top)
                                             (top))
-                                           ("i780"
-                                            "i778"
-                                            "i776"
-                                            "i774"
-                                            "i772"
-                                            "i770"
-                                            "i768"
-                                            "i766"
-                                            "i764"
-                                            "i762"
-                                            "i760"
-                                            "i758"
-                                            "i756"
-                                            "i754"
-                                            "i752"
-                                            "i750"
-                                            "i748"
-                                            "i746"
-                                            "i744"
-                                            "i742"
-                                            "i740"
-                                            "i738"
-                                            "i736"
-                                            "i734"
-                                            "i732"
-                                            "i730"
-                                            "i728"
-                                            "i726"
-                                            "i724"
-                                            "i722"
-                                            "i720"
-                                            "i718"
-                                            "i716"
-                                            "i714"
-                                            "i712"
-                                            "i710"
-                                            "i709"
-                                            "i708"
-                                            "i706"
-                                            "i705"
-                                            "i704"
-                                            "i703"
-                                            "i702"
-                                            "i700"
-                                            "i698"
-                                            "i696"
-                                            "i694"
-                                            "i692"
-                                            "i690"
-                                            "i688"
-                                            "i686"
-                                            "i683"
-                                            "i681"
-                                            "i680"
-                                            "i679"
-                                            "i678"
-                                            "i677"
-                                            "i676"
-                                            "i674"
-                                            "i672"
-                                            "i670"
-                                            "i668"
-                                            "i667"
-                                            "i665"
-                                            "i663"
-                                            "i661"
-                                            "i659"
-                                            "i657"
-                                            "i655"
-                                            "i653"
-                                            "i652"
-                                            "i650"
-                                            "i648"
-                                            "i647"
-                                            "i646"
-                                            "i644"
-                                            "i643"
-                                            "i641"
-                                            "i639"
-                                            "i637"
-                                            "i635"
-                                            "i633"
-                                            "i631"
-                                            "i629"
-                                            "i627"
-                                            "i625"
-                                            "i623"
-                                            "i621"
-                                            "i619"
-                                            "i617"
-                                            "i615"
-                                            "i613"
-                                            "i611"
-                                            "i609"
-                                            "i607"
-                                            "i605"
-                                            "i603"
-                                            "i601"
-                                            "i599"
-                                            "i597"
-                                            "i595"
-                                            "i593"
-                                            "i591"
-                                            "i589"
-                                            "i587"
-                                            "i585"
-                                            "i583"
-                                            "i581"
-                                            "i579"
-                                            "i578"
-                                            "i576"
-                                            "i574"
-                                            "i572"
-                                            "i570"
-                                            "i568"
-                                            "i566"
-                                            "i564"))
+                                           ("i13030"
+                                            "i13028"
+                                            "i13026"
+                                            "i13024"
+                                            "i13022"
+                                            "i13020"
+                                            "i13018"
+                                            "i13016"
+                                            "i13014"
+                                            "i13012"
+                                            "i13010"
+                                            "i13008"
+                                            "i13006"
+                                            "i13004"
+                                            "i13002"
+                                            "i13000"
+                                            "i12998"
+                                            "i12996"
+                                            "i12994"
+                                            "i12992"
+                                            "i12990"
+                                            "i12988"
+                                            "i12986"
+                                            "i12984"
+                                            "i12982"
+                                            "i12980"
+                                            "i12978"
+                                            "i12976"
+                                            "i12974"
+                                            "i12972"
+                                            "i12970"
+                                            "i12968"
+                                            "i12966"
+                                            "i12964"
+                                            "i12962"
+                                            "i12960"
+                                            "i12959"
+                                            "i12958"
+                                            "i12956"
+                                            "i12955"
+                                            "i12954"
+                                            "i12953"
+                                            "i12952"
+                                            "i12950"
+                                            "i12948"
+                                            "i12946"
+                                            "i12944"
+                                            "i12942"
+                                            "i12940"
+                                            "i12938"
+                                            "i12936"
+                                            "i12933"
+                                            "i12931"
+                                            "i12930"
+                                            "i12929"
+                                            "i12928"
+                                            "i12927"
+                                            "i12926"
+                                            "i12924"
+                                            "i12922"
+                                            "i12920"
+                                            "i12918"
+                                            "i12917"
+                                            "i12915"
+                                            "i12913"
+                                            "i12911"
+                                            "i12909"
+                                            "i12907"
+                                            "i12905"
+                                            "i12903"
+                                            "i12902"
+                                            "i12900"
+                                            "i12898"
+                                            "i12897"
+                                            "i12896"
+                                            "i12894"
+                                            "i12893"
+                                            "i12891"
+                                            "i12889"
+                                            "i12887"
+                                            "i12885"
+                                            "i12883"
+                                            "i12881"
+                                            "i12879"
+                                            "i12877"
+                                            "i12875"
+                                            "i12873"
+                                            "i12871"
+                                            "i12869"
+                                            "i12867"
+                                            "i12865"
+                                            "i12863"
+                                            "i12861"
+                                            "i12859"
+                                            "i12857"
+                                            "i12855"
+                                            "i12853"
+                                            "i12851"
+                                            "i12849"
+                                            "i12847"
+                                            "i12845"
+                                            "i12843"
+                                            "i12841"
+                                            "i12839"
+                                            "i12837"
+                                            "i12835"
+                                            "i12833"
+                                            "i12831"
+                                            "i12829"
+                                            "i12828"
+                                            "i12826"
+                                            "i12824"
+                                            "i12822"
+                                            "i12820"
+                                            "i12818"
+                                            "i12816"
+                                            "i12814"
+                                            "i12812"
+                                            "i12810"
+                                            "i12808"
+                                            "i12806"
+                                            "i12804"
+                                            "i12802"
+                                            "i12800"
+                                            "i12798"
+                                            "i12796"
+                                            "i12794"
+                                            "i12792"
+                                            "i12790"
+                                            "i12788"
+                                            "i12786"
+                                            "i12784"
+                                            "i12782"
+                                            "i12780"
+                                            "i12777"))
                                          #(ribcage
-                                           (define-structure and-map*)
-                                           ((top) (top))
-                                           ("i467" "i465")))
+                                           (define-structure
+                                             define-expansion-constructors
+                                             and-map*)
+                                           ((top) (top) (top))
+                                           ("i12629" "i12628" "i12626")))
                                         (hygiene guile))
-                                     #{mod\ 3807}#))))
-                         #{tmp\ 3793}#)
+                                     #{mod\ 16049}#))))
+                         #{tmp\ 16035}#)
                   (syntax-violation
                     #f
                     "source expression failed to match any pattern"
-                    #{tmp\ 3792}#)))
+                    #{tmp\ 16034}#)))
               ($sc-dispatch
-                #{tmp\ 3792}#
+                #{tmp\ 16034}#
                 '(any each-any any))))
-           #{e\ 3786}#)))
-      (#{global-extend\ 662}#
+           #{e\ 16028}#)))
+      (#{global-extend\ 12912}#
         'module-ref
         '@@
-        (lambda (#{e\ 3810}# #{r\ 3811}# #{w\ 3812}#)
-          (letrec ((#{remodulate\ 3817}#
-                     (lambda (#{x\ 3818}# #{mod\ 3819}#)
-                       (if (pair? #{x\ 3818}#)
-                         (cons (#{remodulate\ 3817}#
-                                 (car #{x\ 3818}#)
-                                 #{mod\ 3819}#)
-                               (#{remodulate\ 3817}#
-                                 (cdr #{x\ 3818}#)
-                                 #{mod\ 3819}#))
-                         (if (#{syntax-object?\ 630}# #{x\ 3818}#)
-                           (#{make-syntax-object\ 628}#
-                             (#{remodulate\ 3817}#
-                               (#{syntax-object-expression\ 632}# #{x\ 3818}#)
-                               #{mod\ 3819}#)
-                             (#{syntax-object-wrap\ 634}# #{x\ 3818}#)
-                             #{mod\ 3819}#)
-                           (if (vector? #{x\ 3818}#)
-                             (let ((#{n\ 3830}# (vector-length #{x\ 3818}#)))
-                               (let ((#{v\ 3832}# (make-vector #{n\ 3830}#)))
-                                 (letrec ((#{loop\ 3835}#
-                                            (lambda (#{i\ 3836}#)
-                                              (if (#{fx=\ 571}#
-                                                    #{i\ 3836}#
-                                                    #{n\ 3830}#)
-                                                (begin (if #f #f) #{v\ 3832}#)
+        (lambda (#{e\ 16052}# #{r\ 16053}# #{w\ 16054}#)
+          (letrec ((#{remodulate\ 16059}#
+                     (lambda (#{x\ 16060}# #{mod\ 16061}#)
+                       (if (pair? #{x\ 16060}#)
+                         (cons (#{remodulate\ 16059}#
+                                 (car #{x\ 16060}#)
+                                 #{mod\ 16061}#)
+                               (#{remodulate\ 16059}#
+                                 (cdr #{x\ 16060}#)
+                                 #{mod\ 16061}#))
+                         (if (#{syntax-object?\ 12880}# #{x\ 16060}#)
+                           (#{make-syntax-object\ 12878}#
+                             (#{remodulate\ 16059}#
+                               (#{syntax-object-expression\ 12882}#
+                                 #{x\ 16060}#)
+                               #{mod\ 16061}#)
+                             (#{syntax-object-wrap\ 12884}# #{x\ 16060}#)
+                             #{mod\ 16061}#)
+                           (if (vector? #{x\ 16060}#)
+                             (let ((#{n\ 16072}# (vector-length #{x\ 16060}#)))
+                               (let ((#{v\ 16074}# (make-vector #{n\ 16072}#)))
+                                 (letrec ((#{loop\ 16077}#
+                                            (lambda (#{i\ 16078}#)
+                                              (if (#{fx=\ 12821}#
+                                                    #{i\ 16078}#
+                                                    #{n\ 16072}#)
+                                                (begin (if #f #f) #{v\ 16074}#)
                                                 (begin
                                                   (vector-set!
-                                                    #{v\ 3832}#
-                                                    #{i\ 3836}#
-                                                    (#{remodulate\ 3817}#
+                                                    #{v\ 16074}#
+                                                    #{i\ 16078}#
+                                                    (#{remodulate\ 16059}#
                                                       (vector-ref
-                                                        #{x\ 3818}#
-                                                        #{i\ 3836}#)
-                                                      #{mod\ 3819}#))
-                                                  (#{loop\ 3835}#
-                                                    (#{fx+\ 567}#
-                                                      #{i\ 3836}#
+                                                        #{x\ 16060}#
+                                                        #{i\ 16078}#)
+                                                      #{mod\ 16061}#))
+                                                  (#{loop\ 16077}#
+                                                    (#{fx+\ 12817}#
+                                                      #{i\ 16078}#
                                                       1)))))))
-                                   (#{loop\ 3835}# 0))))
-                             #{x\ 3818}#))))))
-            ((lambda (#{tmp\ 3840}#)
-               ((lambda (#{tmp\ 3841}#)
-                  (if (if #{tmp\ 3841}#
-                        (apply (lambda (#{_\ 3845}#
-                                        #{mod\ 3846}#
-                                        #{exp\ 3847}#)
-                                 (and-map #{id?\ 666}# #{mod\ 3846}#))
-                               #{tmp\ 3841}#)
+                                   (#{loop\ 16077}# 0))))
+                             #{x\ 16060}#))))))
+            ((lambda (#{tmp\ 16082}#)
+               ((lambda (#{tmp\ 16083}#)
+                  (if (if #{tmp\ 16083}#
+                        (apply (lambda (#{_\ 16087}#
+                                        #{mod\ 16088}#
+                                        #{exp\ 16089}#)
+                                 (and-map #{id?\ 12916}# #{mod\ 16088}#))
+                               #{tmp\ 16083}#)
                         #f)
-                    (apply (lambda (#{_\ 3852}# #{mod\ 3853}# #{exp\ 3854}#)
-                             (let ((#{mod\ 3856}#
+                    (apply (lambda (#{_\ 16094}# #{mod\ 16095}# #{exp\ 16096}#)
+                             (let ((#{mod\ 16098}#
                                      (syntax->datum
                                        (cons '#(syntax-object
                                                 private
@@ -10289,15 +11105,19 @@
                                                  #(ribcage
                                                    #(_ mod exp)
                                                    #((top) (top) (top))
-                                                   #("i3849" "i3850" "i3851"))
+                                                   #("i16091"
+                                                     "i16092"
+                                                     "i16093"))
                                                  #(ribcage
                                                    (remodulate)
                                                    ((top))
-                                                   ("i3816"))
+                                                   ("i16058"))
                                                  #(ribcage
                                                    #(e r w)
                                                    #((top) (top) (top))
-                                                   #("i3813" "i3814" "i3815"))
+                                                   #("i16055"
+                                                     "i16056"
+                                                     "i16057"))
                                                  #(ribcage
                                                    (lambda-var-list
                                                      gen-var
@@ -10415,6 +11235,24 @@
                                                      fx=
                                                      fx-
                                                      fx+
+                                                     make-dynlet
+                                                     make-letrec
+                                                     make-let
+                                                     make-lambda-case
+                                                     make-lambda
+                                                     make-sequence
+                                                     make-application
+                                                     make-conditional
+                                                     make-toplevel-define
+                                                     make-toplevel-set
+                                                     make-toplevel-ref
+                                                     make-module-set
+                                                     make-module-ref
+                                                     make-lexical-set
+                                                     make-lexical-ref
+                                                     make-primitive-ref
+                                                     make-const
+                                                     make-void
                                                      *mode*)
                                                    ((top)
                                                     (top)
@@ -10532,312 +11370,353 @@
                                                     (top)
                                                     (top)
                                                     (top)
+                                                    (top)
+                                                    (top)
+                                                    (top)
+                                                    (top)
+                                                    (top)
+                                                    (top)
+                                                    (top)
+                                                    (top)
+                                                    (top)
+                                                    (top)
+                                                    (top)
+                                                    (top)
+                                                    (top)
+                                                    (top)
+                                                    (top)
+                                                    (top)
+                                                    (top)
+                                                    (top)
                                                     (top))
-                                                   ("i780"
-                                                    "i778"
-                                                    "i776"
-                                                    "i774"
-                                                    "i772"
-                                                    "i770"
-                                                    "i768"
-                                                    "i766"
-                                                    "i764"
-                                                    "i762"
-                                                    "i760"
-                                                    "i758"
-                                                    "i756"
-                                                    "i754"
-                                                    "i752"
-                                                    "i750"
-                                                    "i748"
-                                                    "i746"
-                                                    "i744"
-                                                    "i742"
-                                                    "i740"
-                                                    "i738"
-                                                    "i736"
-                                                    "i734"
-                                                    "i732"
-                                                    "i730"
-                                                    "i728"
-                                                    "i726"
-                                                    "i724"
-                                                    "i722"
-                                                    "i720"
-                                                    "i718"
-                                                    "i716"
-                                                    "i714"
-                                                    "i712"
-                                                    "i710"
-                                                    "i709"
-                                                    "i708"
-                                                    "i706"
-                                                    "i705"
-                                                    "i704"
-                                                    "i703"
-                                                    "i702"
-                                                    "i700"
-                                                    "i698"
-                                                    "i696"
-                                                    "i694"
-                                                    "i692"
-                                                    "i690"
-                                                    "i688"
-                                                    "i686"
-                                                    "i683"
-                                                    "i681"
-                                                    "i680"
-                                                    "i679"
-                                                    "i678"
-                                                    "i677"
-                                                    "i676"
-                                                    "i674"
-                                                    "i672"
-                                                    "i670"
-                                                    "i668"
-                                                    "i667"
-                                                    "i665"
-                                                    "i663"
-                                                    "i661"
-                                                    "i659"
-                                                    "i657"
-                                                    "i655"
-                                                    "i653"
-                                                    "i652"
-                                                    "i650"
-                                                    "i648"
-                                                    "i647"
-                                                    "i646"
-                                                    "i644"
-                                                    "i643"
-                                                    "i641"
-                                                    "i639"
-                                                    "i637"
-                                                    "i635"
-                                                    "i633"
-                                                    "i631"
-                                                    "i629"
-                                                    "i627"
-                                                    "i625"
-                                                    "i623"
-                                                    "i621"
-                                                    "i619"
-                                                    "i617"
-                                                    "i615"
-                                                    "i613"
-                                                    "i611"
-                                                    "i609"
-                                                    "i607"
-                                                    "i605"
-                                                    "i603"
-                                                    "i601"
-                                                    "i599"
-                                                    "i597"
-                                                    "i595"
-                                                    "i593"
-                                                    "i591"
-                                                    "i589"
-                                                    "i587"
-                                                    "i585"
-                                                    "i583"
-                                                    "i581"
-                                                    "i579"
-                                                    "i578"
-                                                    "i576"
-                                                    "i574"
-                                                    "i572"
-                                                    "i570"
-                                                    "i568"
-                                                    "i566"
-                                                    "i564"))
+                                                   ("i13030"
+                                                    "i13028"
+                                                    "i13026"
+                                                    "i13024"
+                                                    "i13022"
+                                                    "i13020"
+                                                    "i13018"
+                                                    "i13016"
+                                                    "i13014"
+                                                    "i13012"
+                                                    "i13010"
+                                                    "i13008"
+                                                    "i13006"
+                                                    "i13004"
+                                                    "i13002"
+                                                    "i13000"
+                                                    "i12998"
+                                                    "i12996"
+                                                    "i12994"
+                                                    "i12992"
+                                                    "i12990"
+                                                    "i12988"
+                                                    "i12986"
+                                                    "i12984"
+                                                    "i12982"
+                                                    "i12980"
+                                                    "i12978"
+                                                    "i12976"
+                                                    "i12974"
+                                                    "i12972"
+                                                    "i12970"
+                                                    "i12968"
+                                                    "i12966"
+                                                    "i12964"
+                                                    "i12962"
+                                                    "i12960"
+                                                    "i12959"
+                                                    "i12958"
+                                                    "i12956"
+                                                    "i12955"
+                                                    "i12954"
+                                                    "i12953"
+                                                    "i12952"
+                                                    "i12950"
+                                                    "i12948"
+                                                    "i12946"
+                                                    "i12944"
+                                                    "i12942"
+                                                    "i12940"
+                                                    "i12938"
+                                                    "i12936"
+                                                    "i12933"
+                                                    "i12931"
+                                                    "i12930"
+                                                    "i12929"
+                                                    "i12928"
+                                                    "i12927"
+                                                    "i12926"
+                                                    "i12924"
+                                                    "i12922"
+                                                    "i12920"
+                                                    "i12918"
+                                                    "i12917"
+                                                    "i12915"
+                                                    "i12913"
+                                                    "i12911"
+                                                    "i12909"
+                                                    "i12907"
+                                                    "i12905"
+                                                    "i12903"
+                                                    "i12902"
+                                                    "i12900"
+                                                    "i12898"
+                                                    "i12897"
+                                                    "i12896"
+                                                    "i12894"
+                                                    "i12893"
+                                                    "i12891"
+                                                    "i12889"
+                                                    "i12887"
+                                                    "i12885"
+                                                    "i12883"
+                                                    "i12881"
+                                                    "i12879"
+                                                    "i12877"
+                                                    "i12875"
+                                                    "i12873"
+                                                    "i12871"
+                                                    "i12869"
+                                                    "i12867"
+                                                    "i12865"
+                                                    "i12863"
+                                                    "i12861"
+                                                    "i12859"
+                                                    "i12857"
+                                                    "i12855"
+                                                    "i12853"
+                                                    "i12851"
+                                                    "i12849"
+                                                    "i12847"
+                                                    "i12845"
+                                                    "i12843"
+                                                    "i12841"
+                                                    "i12839"
+                                                    "i12837"
+                                                    "i12835"
+                                                    "i12833"
+                                                    "i12831"
+                                                    "i12829"
+                                                    "i12828"
+                                                    "i12826"
+                                                    "i12824"
+                                                    "i12822"
+                                                    "i12820"
+                                                    "i12818"
+                                                    "i12816"
+                                                    "i12814"
+                                                    "i12812"
+                                                    "i12810"
+                                                    "i12808"
+                                                    "i12806"
+                                                    "i12804"
+                                                    "i12802"
+                                                    "i12800"
+                                                    "i12798"
+                                                    "i12796"
+                                                    "i12794"
+                                                    "i12792"
+                                                    "i12790"
+                                                    "i12788"
+                                                    "i12786"
+                                                    "i12784"
+                                                    "i12782"
+                                                    "i12780"
+                                                    "i12777"))
                                                  #(ribcage
-                                                   (define-structure and-map*)
-                                                   ((top) (top))
-                                                   ("i467" "i465")))
+                                                   (define-structure
+                                                     
define-expansion-constructors
+                                                     and-map*)
+                                                   ((top) (top) (top))
+                                                   ("i12629"
+                                                    "i12628"
+                                                    "i12626")))
                                                 (hygiene guile))
-                                             #{mod\ 3853}#))))
+                                             #{mod\ 16095}#))))
                                (values
-                                 (#{remodulate\ 3817}#
-                                   #{exp\ 3854}#
-                                   #{mod\ 3856}#)
-                                 #{r\ 3811}#
-                                 #{w\ 3812}#
-                                 (#{source-annotation\ 645}# #{exp\ 3854}#)
-                                 #{mod\ 3856}#)))
-                           #{tmp\ 3841}#)
+                                 (#{remodulate\ 16059}#
+                                   #{exp\ 16096}#
+                                   #{mod\ 16098}#)
+                                 #{r\ 16053}#
+                                 #{w\ 16054}#
+                                 (#{source-annotation\ 12895}# #{exp\ 16096}#)
+                                 #{mod\ 16098}#)))
+                           #{tmp\ 16083}#)
                     (syntax-violation
                       #f
                       "source expression failed to match any pattern"
-                      #{tmp\ 3840}#)))
+                      #{tmp\ 16082}#)))
                 ($sc-dispatch
-                  #{tmp\ 3840}#
+                  #{tmp\ 16082}#
                   '(any each-any any))))
-             #{e\ 3810}#))))
-      (#{global-extend\ 662}#
+             #{e\ 16052}#))))
+      (#{global-extend\ 12912}#
         'core
         'if
-        (lambda (#{e\ 3858}#
-                 #{r\ 3859}#
-                 #{w\ 3860}#
-                 #{s\ 3861}#
-                 #{mod\ 3862}#)
-          ((lambda (#{tmp\ 3868}#)
-             ((lambda (#{tmp\ 3869}#)
-                (if #{tmp\ 3869}#
-                  (apply (lambda (#{_\ 3873}# #{test\ 3874}# #{then\ 3875}#)
-                           (#{build-conditional\ 590}#
-                             #{s\ 3861}#
-                             (#{chi\ 751}#
-                               #{test\ 3874}#
-                               #{r\ 3859}#
-                               #{w\ 3860}#
-                               #{mod\ 3862}#)
-                             (#{chi\ 751}#
-                               #{then\ 3875}#
-                               #{r\ 3859}#
-                               #{w\ 3860}#
-                               #{mod\ 3862}#)
-                             (#{build-void\ 586}# #f)))
-                         #{tmp\ 3869}#)
-                  ((lambda (#{tmp\ 3877}#)
-                     (if #{tmp\ 3877}#
-                       (apply (lambda (#{_\ 3882}#
-                                       #{test\ 3883}#
-                                       #{then\ 3884}#
-                                       #{else\ 3885}#)
-                                (#{build-conditional\ 590}#
-                                  #{s\ 3861}#
-                                  (#{chi\ 751}#
-                                    #{test\ 3883}#
-                                    #{r\ 3859}#
-                                    #{w\ 3860}#
-                                    #{mod\ 3862}#)
-                                  (#{chi\ 751}#
-                                    #{then\ 3884}#
-                                    #{r\ 3859}#
-                                    #{w\ 3860}#
-                                    #{mod\ 3862}#)
-                                  (#{chi\ 751}#
-                                    #{else\ 3885}#
-                                    #{r\ 3859}#
-                                    #{w\ 3860}#
-                                    #{mod\ 3862}#)))
-                              #{tmp\ 3877}#)
+        (lambda (#{e\ 16100}#
+                 #{r\ 16101}#
+                 #{w\ 16102}#
+                 #{s\ 16103}#
+                 #{mod\ 16104}#)
+          ((lambda (#{tmp\ 16110}#)
+             ((lambda (#{tmp\ 16111}#)
+                (if #{tmp\ 16111}#
+                  (apply (lambda (#{_\ 16115}# #{test\ 16116}# #{then\ 16117}#)
+                           (#{build-conditional\ 12840}#
+                             #{s\ 16103}#
+                             (#{chi\ 13001}#
+                               #{test\ 16116}#
+                               #{r\ 16101}#
+                               #{w\ 16102}#
+                               #{mod\ 16104}#)
+                             (#{chi\ 13001}#
+                               #{then\ 16117}#
+                               #{r\ 16101}#
+                               #{w\ 16102}#
+                               #{mod\ 16104}#)
+                             (#{build-void\ 12836}# #f)))
+                         #{tmp\ 16111}#)
+                  ((lambda (#{tmp\ 16119}#)
+                     (if #{tmp\ 16119}#
+                       (apply (lambda (#{_\ 16124}#
+                                       #{test\ 16125}#
+                                       #{then\ 16126}#
+                                       #{else\ 16127}#)
+                                (#{build-conditional\ 12840}#
+                                  #{s\ 16103}#
+                                  (#{chi\ 13001}#
+                                    #{test\ 16125}#
+                                    #{r\ 16101}#
+                                    #{w\ 16102}#
+                                    #{mod\ 16104}#)
+                                  (#{chi\ 13001}#
+                                    #{then\ 16126}#
+                                    #{r\ 16101}#
+                                    #{w\ 16102}#
+                                    #{mod\ 16104}#)
+                                  (#{chi\ 13001}#
+                                    #{else\ 16127}#
+                                    #{r\ 16101}#
+                                    #{w\ 16102}#
+                                    #{mod\ 16104}#)))
+                              #{tmp\ 16119}#)
                        (syntax-violation
                          #f
                          "source expression failed to match any pattern"
-                         #{tmp\ 3868}#)))
+                         #{tmp\ 16110}#)))
                    ($sc-dispatch
-                     #{tmp\ 3868}#
+                     #{tmp\ 16110}#
                      '(any any any any)))))
               ($sc-dispatch
-                #{tmp\ 3868}#
+                #{tmp\ 16110}#
                 '(any any any))))
-           #{e\ 3858}#)))
-      (#{global-extend\ 662}#
+           #{e\ 16100}#)))
+      (#{global-extend\ 12912}#
         'core
         'with-fluids
-        (lambda (#{e\ 3886}#
-                 #{r\ 3887}#
-                 #{w\ 3888}#
-                 #{s\ 3889}#
-                 #{mod\ 3890}#)
-          ((lambda (#{tmp\ 3896}#)
-             ((lambda (#{tmp\ 3897}#)
-                (if #{tmp\ 3897}#
-                  (apply (lambda (#{_\ 3903}#
-                                  #{fluid\ 3904}#
-                                  #{val\ 3905}#
-                                  #{b\ 3906}#
-                                  #{b*\ 3907}#)
-                           (#{build-dynlet\ 592}#
-                             #{s\ 3889}#
-                             (map (lambda (#{x\ 3908}#)
-                                    (#{chi\ 751}#
-                                      #{x\ 3908}#
-                                      #{r\ 3887}#
-                                      #{w\ 3888}#
-                                      #{mod\ 3890}#))
-                                  #{fluid\ 3904}#)
-                             (map (lambda (#{x\ 3911}#)
-                                    (#{chi\ 751}#
-                                      #{x\ 3911}#
-                                      #{r\ 3887}#
-                                      #{w\ 3888}#
-                                      #{mod\ 3890}#))
-                                  #{val\ 3905}#)
-                             (#{chi-body\ 759}#
-                               (cons #{b\ 3906}# #{b*\ 3907}#)
-                               (#{source-wrap\ 737}#
-                                 #{e\ 3886}#
-                                 #{w\ 3888}#
-                                 #{s\ 3889}#
-                                 #{mod\ 3890}#)
-                               #{r\ 3887}#
-                               #{w\ 3888}#
-                               #{mod\ 3890}#)))
-                         #{tmp\ 3897}#)
+        (lambda (#{e\ 16128}#
+                 #{r\ 16129}#
+                 #{w\ 16130}#
+                 #{s\ 16131}#
+                 #{mod\ 16132}#)
+          ((lambda (#{tmp\ 16138}#)
+             ((lambda (#{tmp\ 16139}#)
+                (if #{tmp\ 16139}#
+                  (apply (lambda (#{_\ 16145}#
+                                  #{fluid\ 16146}#
+                                  #{val\ 16147}#
+                                  #{b\ 16148}#
+                                  #{b*\ 16149}#)
+                           (#{build-dynlet\ 12842}#
+                             #{s\ 16131}#
+                             (map (lambda (#{x\ 16150}#)
+                                    (#{chi\ 13001}#
+                                      #{x\ 16150}#
+                                      #{r\ 16129}#
+                                      #{w\ 16130}#
+                                      #{mod\ 16132}#))
+                                  #{fluid\ 16146}#)
+                             (map (lambda (#{x\ 16153}#)
+                                    (#{chi\ 13001}#
+                                      #{x\ 16153}#
+                                      #{r\ 16129}#
+                                      #{w\ 16130}#
+                                      #{mod\ 16132}#))
+                                  #{val\ 16147}#)
+                             (#{chi-body\ 13009}#
+                               (cons #{b\ 16148}# #{b*\ 16149}#)
+                               (#{source-wrap\ 12987}#
+                                 #{e\ 16128}#
+                                 #{w\ 16130}#
+                                 #{s\ 16131}#
+                                 #{mod\ 16132}#)
+                               #{r\ 16129}#
+                               #{w\ 16130}#
+                               #{mod\ 16132}#)))
+                         #{tmp\ 16139}#)
                   (syntax-violation
                     #f
                     "source expression failed to match any pattern"
-                    #{tmp\ 3896}#)))
+                    #{tmp\ 16138}#)))
               ($sc-dispatch
-                #{tmp\ 3896}#
+                #{tmp\ 16138}#
                 '(any #(each (any any)) any . each-any))))
-           #{e\ 3886}#)))
-      (#{global-extend\ 662}#
+           #{e\ 16128}#)))
+      (#{global-extend\ 12912}#
         'begin
         'begin
         '())
-      (#{global-extend\ 662}#
+      (#{global-extend\ 12912}#
         'define
         'define
         '())
-      (#{global-extend\ 662}#
+      (#{global-extend\ 12912}#
         'define-syntax
         'define-syntax
         '())
-      (#{global-extend\ 662}#
+      (#{global-extend\ 12912}#
         'eval-when
         'eval-when
         '())
-      (#{global-extend\ 662}#
+      (#{global-extend\ 12912}#
         'core
         'syntax-case
-        (letrec ((#{gen-syntax-case\ 3922}#
-                   (lambda (#{x\ 3923}#
-                            #{keys\ 3924}#
-                            #{clauses\ 3925}#
-                            #{r\ 3926}#
-                            #{mod\ 3927}#)
-                     (if (null? #{clauses\ 3925}#)
-                       (#{build-application\ 588}#
+        (letrec ((#{gen-syntax-case\ 16164}#
+                   (lambda (#{x\ 16165}#
+                            #{keys\ 16166}#
+                            #{clauses\ 16167}#
+                            #{r\ 16168}#
+                            #{mod\ 16169}#)
+                     (if (null? #{clauses\ 16167}#)
+                       (#{build-application\ 12838}#
                          #f
-                         (#{build-primref\ 614}#
+                         (#{build-primref\ 12864}#
                            #f
                            'syntax-violation)
-                         (list (#{build-data\ 616}# #f #f)
-                               (#{build-data\ 616}#
+                         (list (#{build-data\ 12866}# #f #f)
+                               (#{build-data\ 12866}#
                                  #f
                                  "source expression failed to match any 
pattern")
-                               #{x\ 3923}#))
-                       ((lambda (#{tmp\ 3937}#)
-                          ((lambda (#{tmp\ 3938}#)
-                             (if #{tmp\ 3938}#
-                               (apply (lambda (#{pat\ 3941}# #{exp\ 3942}#)
-                                        (if (if (#{id?\ 666}# #{pat\ 3941}#)
+                               #{x\ 16165}#))
+                       ((lambda (#{tmp\ 16179}#)
+                          ((lambda (#{tmp\ 16180}#)
+                             (if #{tmp\ 16180}#
+                               (apply (lambda (#{pat\ 16183}# #{exp\ 16184}#)
+                                        (if (if (#{id?\ 12916}# #{pat\ 16183}#)
                                               (and-map
-                                                (lambda (#{x\ 3945}#)
-                                                  (not (#{free-id=?\ 725}#
-                                                         #{pat\ 3941}#
-                                                         #{x\ 3945}#)))
+                                                (lambda (#{x\ 16187}#)
+                                                  (not (#{free-id=?\ 12975}#
+                                                         #{pat\ 16183}#
+                                                         #{x\ 16187}#)))
                                                 (cons '#(syntax-object
                                                          ...
                                                          ((top)
                                                           #(ribcage
                                                             #(pat exp)
                                                             #((top) (top))
-                                                            #("i3939" "i3940"))
+                                                            #("i16181"
+                                                              "i16182"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(x
@@ -10850,11 +11729,11 @@
                                                               (top)
                                                               (top)
                                                               (top))
-                                                            #("i3928"
-                                                              "i3929"
-                                                              "i3930"
-                                                              "i3931"
-                                                              "i3932"))
+                                                            #("i16170"
+                                                              "i16171"
+                                                              "i16172"
+                                                              "i16173"
+                                                              "i16174"))
                                                           #(ribcage
                                                             (gen-syntax-case
                                                               gen-clause
@@ -10864,10 +11743,10 @@
                                                              (top)
                                                              (top)
                                                              (top))
-                                                            ("i3921"
-                                                             "i3919"
-                                                             "i3917"
-                                                             "i3915"))
+                                                            ("i16163"
+                                                             "i16161"
+                                                             "i16159"
+                                                             "i16157"))
                                                           #(ribcage
                                                             (lambda-var-list
                                                               gen-var
@@ -10985,6 +11864,24 @@
                                                               fx=
                                                               fx-
                                                               fx+
+                                                              make-dynlet
+                                                              make-letrec
+                                                              make-let
+                                                              make-lambda-case
+                                                              make-lambda
+                                                              make-sequence
+                                                              make-application
+                                                              make-conditional
+                                                              
make-toplevel-define
+                                                              make-toplevel-set
+                                                              make-toplevel-ref
+                                                              make-module-set
+                                                              make-module-ref
+                                                              make-lexical-set
+                                                              make-lexical-ref
+                                                              
make-primitive-ref
+                                                              make-const
+                                                              make-void
                                                               *mode*)
                                                             ((top)
                                                              (top)
@@ -11102,1032 +11999,1081 @@
                                                              (top)
                                                              (top)
                                                              (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
                                                              (top))
-                                                            ("i780"
-                                                             "i778"
-                                                             "i776"
-                                                             "i774"
-                                                             "i772"
-                                                             "i770"
-                                                             "i768"
-                                                             "i766"
-                                                             "i764"
-                                                             "i762"
-                                                             "i760"
-                                                             "i758"
-                                                             "i756"
-                                                             "i754"
-                                                             "i752"
-                                                             "i750"
-                                                             "i748"
-                                                             "i746"
-                                                             "i744"
-                                                             "i742"
-                                                             "i740"
-                                                             "i738"
-                                                             "i736"
-                                                             "i734"
-                                                             "i732"
-                                                             "i730"
-                                                             "i728"
-                                                             "i726"
-                                                             "i724"
-                                                             "i722"
-                                                             "i720"
-                                                             "i718"
-                                                             "i716"
-                                                             "i714"
-                                                             "i712"
-                                                             "i710"
-                                                             "i709"
-                                                             "i708"
-                                                             "i706"
-                                                             "i705"
-                                                             "i704"
-                                                             "i703"
-                                                             "i702"
-                                                             "i700"
-                                                             "i698"
-                                                             "i696"
-                                                             "i694"
-                                                             "i692"
-                                                             "i690"
-                                                             "i688"
-                                                             "i686"
-                                                             "i683"
-                                                             "i681"
-                                                             "i680"
-                                                             "i679"
-                                                             "i678"
-                                                             "i677"
-                                                             "i676"
-                                                             "i674"
-                                                             "i672"
-                                                             "i670"
-                                                             "i668"
-                                                             "i667"
-                                                             "i665"
-                                                             "i663"
-                                                             "i661"
-                                                             "i659"
-                                                             "i657"
-                                                             "i655"
-                                                             "i653"
-                                                             "i652"
-                                                             "i650"
-                                                             "i648"
-                                                             "i647"
-                                                             "i646"
-                                                             "i644"
-                                                             "i643"
-                                                             "i641"
-                                                             "i639"
-                                                             "i637"
-                                                             "i635"
-                                                             "i633"
-                                                             "i631"
-                                                             "i629"
-                                                             "i627"
-                                                             "i625"
-                                                             "i623"
-                                                             "i621"
-                                                             "i619"
-                                                             "i617"
-                                                             "i615"
-                                                             "i613"
-                                                             "i611"
-                                                             "i609"
-                                                             "i607"
-                                                             "i605"
-                                                             "i603"
-                                                             "i601"
-                                                             "i599"
-                                                             "i597"
-                                                             "i595"
-                                                             "i593"
-                                                             "i591"
-                                                             "i589"
-                                                             "i587"
-                                                             "i585"
-                                                             "i583"
-                                                             "i581"
-                                                             "i579"
-                                                             "i578"
-                                                             "i576"
-                                                             "i574"
-                                                             "i572"
-                                                             "i570"
-                                                             "i568"
-                                                             "i566"
-                                                             "i564"))
+                                                            ("i13030"
+                                                             "i13028"
+                                                             "i13026"
+                                                             "i13024"
+                                                             "i13022"
+                                                             "i13020"
+                                                             "i13018"
+                                                             "i13016"
+                                                             "i13014"
+                                                             "i13012"
+                                                             "i13010"
+                                                             "i13008"
+                                                             "i13006"
+                                                             "i13004"
+                                                             "i13002"
+                                                             "i13000"
+                                                             "i12998"
+                                                             "i12996"
+                                                             "i12994"
+                                                             "i12992"
+                                                             "i12990"
+                                                             "i12988"
+                                                             "i12986"
+                                                             "i12984"
+                                                             "i12982"
+                                                             "i12980"
+                                                             "i12978"
+                                                             "i12976"
+                                                             "i12974"
+                                                             "i12972"
+                                                             "i12970"
+                                                             "i12968"
+                                                             "i12966"
+                                                             "i12964"
+                                                             "i12962"
+                                                             "i12960"
+                                                             "i12959"
+                                                             "i12958"
+                                                             "i12956"
+                                                             "i12955"
+                                                             "i12954"
+                                                             "i12953"
+                                                             "i12952"
+                                                             "i12950"
+                                                             "i12948"
+                                                             "i12946"
+                                                             "i12944"
+                                                             "i12942"
+                                                             "i12940"
+                                                             "i12938"
+                                                             "i12936"
+                                                             "i12933"
+                                                             "i12931"
+                                                             "i12930"
+                                                             "i12929"
+                                                             "i12928"
+                                                             "i12927"
+                                                             "i12926"
+                                                             "i12924"
+                                                             "i12922"
+                                                             "i12920"
+                                                             "i12918"
+                                                             "i12917"
+                                                             "i12915"
+                                                             "i12913"
+                                                             "i12911"
+                                                             "i12909"
+                                                             "i12907"
+                                                             "i12905"
+                                                             "i12903"
+                                                             "i12902"
+                                                             "i12900"
+                                                             "i12898"
+                                                             "i12897"
+                                                             "i12896"
+                                                             "i12894"
+                                                             "i12893"
+                                                             "i12891"
+                                                             "i12889"
+                                                             "i12887"
+                                                             "i12885"
+                                                             "i12883"
+                                                             "i12881"
+                                                             "i12879"
+                                                             "i12877"
+                                                             "i12875"
+                                                             "i12873"
+                                                             "i12871"
+                                                             "i12869"
+                                                             "i12867"
+                                                             "i12865"
+                                                             "i12863"
+                                                             "i12861"
+                                                             "i12859"
+                                                             "i12857"
+                                                             "i12855"
+                                                             "i12853"
+                                                             "i12851"
+                                                             "i12849"
+                                                             "i12847"
+                                                             "i12845"
+                                                             "i12843"
+                                                             "i12841"
+                                                             "i12839"
+                                                             "i12837"
+                                                             "i12835"
+                                                             "i12833"
+                                                             "i12831"
+                                                             "i12829"
+                                                             "i12828"
+                                                             "i12826"
+                                                             "i12824"
+                                                             "i12822"
+                                                             "i12820"
+                                                             "i12818"
+                                                             "i12816"
+                                                             "i12814"
+                                                             "i12812"
+                                                             "i12810"
+                                                             "i12808"
+                                                             "i12806"
+                                                             "i12804"
+                                                             "i12802"
+                                                             "i12800"
+                                                             "i12798"
+                                                             "i12796"
+                                                             "i12794"
+                                                             "i12792"
+                                                             "i12790"
+                                                             "i12788"
+                                                             "i12786"
+                                                             "i12784"
+                                                             "i12782"
+                                                             "i12780"
+                                                             "i12777"))
                                                           #(ribcage
                                                             (define-structure
+                                                              
define-expansion-constructors
                                                               and-map*)
-                                                            ((top) (top))
-                                                            ("i467" "i465")))
+                                                            ((top) (top) (top))
+                                                            ("i12629"
+                                                             "i12628"
+                                                             "i12626")))
                                                          (hygiene guile))
-                                                      #{keys\ 3924}#))
+                                                      #{keys\ 16166}#))
                                               #f)
-                                          (let ((#{labels\ 3949}#
-                                                  (list (#{gen-label\ 682}#)))
-                                                (#{var\ 3950}#
-                                                  (#{gen-var\ 779}#
-                                                    #{pat\ 3941}#)))
-                                            (#{build-application\ 588}#
+                                          (let ((#{labels\ 16191}#
+                                                  (list (#{gen-label\ 
12932}#)))
+                                                (#{var\ 16192}#
+                                                  (#{gen-var\ 13029}#
+                                                    #{pat\ 16183}#)))
+                                            (#{build-application\ 12838}#
                                               #f
-                                              (#{build-simple-lambda\ 608}#
+                                              (#{build-simple-lambda\ 12858}#
                                                 #f
                                                 (list (syntax->datum
-                                                        #{pat\ 3941}#))
+                                                        #{pat\ 16183}#))
                                                 #f
-                                                (list #{var\ 3950}#)
+                                                (list #{var\ 16192}#)
                                                 '()
-                                                (#{chi\ 751}#
-                                                  #{exp\ 3942}#
-                                                  (#{extend-env\ 654}#
-                                                    #{labels\ 3949}#
+                                                (#{chi\ 13001}#
+                                                  #{exp\ 16184}#
+                                                  (#{extend-env\ 12904}#
+                                                    #{labels\ 16191}#
                                                     (list (cons 'syntax
-                                                                (cons #{var\ 
3950}#
+                                                                (cons #{var\ 
16192}#
                                                                       0)))
-                                                    #{r\ 3926}#)
-                                                  (#{make-binding-wrap\ 713}#
-                                                    (list #{pat\ 3941}#)
-                                                    #{labels\ 3949}#
+                                                    #{r\ 16168}#)
+                                                  (#{make-binding-wrap\ 12963}#
+                                                    (list #{pat\ 16183}#)
+                                                    #{labels\ 16191}#
                                                     '(()))
-                                                  #{mod\ 3927}#))
-                                              (list #{x\ 3923}#)))
-                                          (#{gen-clause\ 3920}#
-                                            #{x\ 3923}#
-                                            #{keys\ 3924}#
-                                            (cdr #{clauses\ 3925}#)
-                                            #{r\ 3926}#
-                                            #{pat\ 3941}#
+                                                  #{mod\ 16169}#))
+                                              (list #{x\ 16165}#)))
+                                          (#{gen-clause\ 16162}#
+                                            #{x\ 16165}#
+                                            #{keys\ 16166}#
+                                            (cdr #{clauses\ 16167}#)
+                                            #{r\ 16168}#
+                                            #{pat\ 16183}#
                                             #t
-                                            #{exp\ 3942}#
-                                            #{mod\ 3927}#)))
-                                      #{tmp\ 3938}#)
-                               ((lambda (#{tmp\ 3956}#)
-                                  (if #{tmp\ 3956}#
-                                    (apply (lambda (#{pat\ 3960}#
-                                                    #{fender\ 3961}#
-                                                    #{exp\ 3962}#)
-                                             (#{gen-clause\ 3920}#
-                                               #{x\ 3923}#
-                                               #{keys\ 3924}#
-                                               (cdr #{clauses\ 3925}#)
-                                               #{r\ 3926}#
-                                               #{pat\ 3960}#
-                                               #{fender\ 3961}#
-                                               #{exp\ 3962}#
-                                               #{mod\ 3927}#))
-                                           #{tmp\ 3956}#)
-                                    ((lambda (#{_\ 3964}#)
+                                            #{exp\ 16184}#
+                                            #{mod\ 16169}#)))
+                                      #{tmp\ 16180}#)
+                               ((lambda (#{tmp\ 16198}#)
+                                  (if #{tmp\ 16198}#
+                                    (apply (lambda (#{pat\ 16202}#
+                                                    #{fender\ 16203}#
+                                                    #{exp\ 16204}#)
+                                             (#{gen-clause\ 16162}#
+                                               #{x\ 16165}#
+                                               #{keys\ 16166}#
+                                               (cdr #{clauses\ 16167}#)
+                                               #{r\ 16168}#
+                                               #{pat\ 16202}#
+                                               #{fender\ 16203}#
+                                               #{exp\ 16204}#
+                                               #{mod\ 16169}#))
+                                           #{tmp\ 16198}#)
+                                    ((lambda (#{_\ 16206}#)
                                        (syntax-violation
                                          'syntax-case
                                          "invalid clause"
-                                         (car #{clauses\ 3925}#)))
-                                     #{tmp\ 3937}#)))
+                                         (car #{clauses\ 16167}#)))
+                                     #{tmp\ 16179}#)))
                                 ($sc-dispatch
-                                  #{tmp\ 3937}#
+                                  #{tmp\ 16179}#
                                   '(any any any)))))
-                           ($sc-dispatch #{tmp\ 3937}# (quote (any any)))))
-                        (car #{clauses\ 3925}#)))))
-                 (#{gen-clause\ 3920}#
-                   (lambda (#{x\ 3965}#
-                            #{keys\ 3966}#
-                            #{clauses\ 3967}#
-                            #{r\ 3968}#
-                            #{pat\ 3969}#
-                            #{fender\ 3970}#
-                            #{exp\ 3971}#
-                            #{mod\ 3972}#)
+                           ($sc-dispatch #{tmp\ 16179}# (quote (any any)))))
+                        (car #{clauses\ 16167}#)))))
+                 (#{gen-clause\ 16162}#
+                   (lambda (#{x\ 16207}#
+                            #{keys\ 16208}#
+                            #{clauses\ 16209}#
+                            #{r\ 16210}#
+                            #{pat\ 16211}#
+                            #{fender\ 16212}#
+                            #{exp\ 16213}#
+                            #{mod\ 16214}#)
                      (call-with-values
                        (lambda ()
-                         (#{convert-pattern\ 3916}#
-                           #{pat\ 3969}#
-                           #{keys\ 3966}#))
-                       (lambda (#{p\ 3981}# #{pvars\ 3982}#)
-                         (if (not (#{distinct-bound-ids?\ 731}#
-                                    (map car #{pvars\ 3982}#)))
+                         (#{convert-pattern\ 16158}#
+                           #{pat\ 16211}#
+                           #{keys\ 16208}#))
+                       (lambda (#{p\ 16223}# #{pvars\ 16224}#)
+                         (if (not (#{distinct-bound-ids?\ 12981}#
+                                    (map car #{pvars\ 16224}#)))
                            (syntax-violation
                              'syntax-case
                              "duplicate pattern variable"
-                             #{pat\ 3969}#)
+                             #{pat\ 16211}#)
                            (if (not (and-map
-                                      (lambda (#{x\ 3989}#)
-                                        (not (#{ellipsis?\ 767}#
-                                               (car #{x\ 3989}#))))
-                                      #{pvars\ 3982}#))
+                                      (lambda (#{x\ 16231}#)
+                                        (not (#{ellipsis?\ 13017}#
+                                               (car #{x\ 16231}#))))
+                                      #{pvars\ 16224}#))
                              (syntax-violation
                                'syntax-case
                                "misplaced ellipsis"
-                               #{pat\ 3969}#)
-                             (let ((#{y\ 3993}#
-                                     (#{gen-var\ 779}# (quote tmp))))
-                               (#{build-application\ 588}#
+                               #{pat\ 16211}#)
+                             (let ((#{y\ 16235}#
+                                     (#{gen-var\ 13029}# (quote tmp))))
+                               (#{build-application\ 12838}#
                                  #f
-                                 (#{build-simple-lambda\ 608}#
+                                 (#{build-simple-lambda\ 12858}#
                                    #f
                                    (list (quote tmp))
                                    #f
-                                   (list #{y\ 3993}#)
+                                   (list #{y\ 16235}#)
                                    '()
-                                   (let ((#{y\ 3997}#
-                                           (#{build-lexical-reference\ 594}#
+                                   (let ((#{y\ 16239}#
+                                           (#{build-lexical-reference\ 12844}#
                                              'value
                                              #f
                                              'tmp
-                                             #{y\ 3993}#)))
-                                     (#{build-conditional\ 590}#
+                                             #{y\ 16235}#)))
+                                     (#{build-conditional\ 12840}#
                                        #f
-                                       ((lambda (#{tmp\ 4000}#)
-                                          ((lambda (#{tmp\ 4001}#)
-                                             (if #{tmp\ 4001}#
-                                               (apply (lambda () #{y\ 3997}#)
-                                                      #{tmp\ 4001}#)
-                                               ((lambda (#{_\ 4003}#)
-                                                  (#{build-conditional\ 590}#
+                                       ((lambda (#{tmp\ 16242}#)
+                                          ((lambda (#{tmp\ 16243}#)
+                                             (if #{tmp\ 16243}#
+                                               (apply (lambda () #{y\ 16239}#)
+                                                      #{tmp\ 16243}#)
+                                               ((lambda (#{_\ 16245}#)
+                                                  (#{build-conditional\ 12840}#
                                                     #f
-                                                    #{y\ 3997}#
-                                                    (#{build-dispatch-call\ 
3918}#
-                                                      #{pvars\ 3982}#
-                                                      #{fender\ 3970}#
-                                                      #{y\ 3997}#
-                                                      #{r\ 3968}#
-                                                      #{mod\ 3972}#)
-                                                    (#{build-data\ 616}#
+                                                    #{y\ 16239}#
+                                                    (#{build-dispatch-call\ 
16160}#
+                                                      #{pvars\ 16224}#
+                                                      #{fender\ 16212}#
+                                                      #{y\ 16239}#
+                                                      #{r\ 16210}#
+                                                      #{mod\ 16214}#)
+                                                    (#{build-data\ 12866}#
                                                       #f
                                                       #f)))
-                                                #{tmp\ 4000}#)))
+                                                #{tmp\ 16242}#)))
                                            ($sc-dispatch
-                                             #{tmp\ 4000}#
+                                             #{tmp\ 16242}#
                                              '#(atom #t))))
-                                        #{fender\ 3970}#)
-                                       (#{build-dispatch-call\ 3918}#
-                                         #{pvars\ 3982}#
-                                         #{exp\ 3971}#
-                                         #{y\ 3997}#
-                                         #{r\ 3968}#
-                                         #{mod\ 3972}#)
-                                       (#{gen-syntax-case\ 3922}#
-                                         #{x\ 3965}#
-                                         #{keys\ 3966}#
-                                         #{clauses\ 3967}#
-                                         #{r\ 3968}#
-                                         #{mod\ 3972}#))))
-                                 (list (if (eq? #{p\ 3981}# (quote any))
-                                         (#{build-application\ 588}#
+                                        #{fender\ 16212}#)
+                                       (#{build-dispatch-call\ 16160}#
+                                         #{pvars\ 16224}#
+                                         #{exp\ 16213}#
+                                         #{y\ 16239}#
+                                         #{r\ 16210}#
+                                         #{mod\ 16214}#)
+                                       (#{gen-syntax-case\ 16164}#
+                                         #{x\ 16207}#
+                                         #{keys\ 16208}#
+                                         #{clauses\ 16209}#
+                                         #{r\ 16210}#
+                                         #{mod\ 16214}#))))
+                                 (list (if (eq? #{p\ 16223}# (quote any))
+                                         (#{build-application\ 12838}#
                                            #f
-                                           (#{build-primref\ 614}#
+                                           (#{build-primref\ 12864}#
                                              #f
                                              'list)
-                                           (list #{x\ 3965}#))
-                                         (#{build-application\ 588}#
+                                           (list #{x\ 16207}#))
+                                         (#{build-application\ 12838}#
                                            #f
-                                           (#{build-primref\ 614}#
+                                           (#{build-primref\ 12864}#
                                              #f
                                              '$sc-dispatch)
-                                           (list #{x\ 3965}#
-                                                 (#{build-data\ 616}#
+                                           (list #{x\ 16207}#
+                                                 (#{build-data\ 12866}#
                                                    #f
-                                                   #{p\ 3981}#)))))))))))))
-                 (#{build-dispatch-call\ 3918}#
-                   (lambda (#{pvars\ 4011}#
-                            #{exp\ 4012}#
-                            #{y\ 4013}#
-                            #{r\ 4014}#
-                            #{mod\ 4015}#)
-                     (let ((#{ids\ 4023}# (map car #{pvars\ 4011}#))
-                           (#{levels\ 4024}# (map cdr #{pvars\ 4011}#)))
-                       (let ((#{labels\ 4027}#
-                               (#{gen-labels\ 684}# #{ids\ 4023}#))
-                             (#{new-vars\ 4028}#
-                               (map #{gen-var\ 779}# #{ids\ 4023}#)))
-                         (#{build-application\ 588}#
+                                                   #{p\ 16223}#)))))))))))))
+                 (#{build-dispatch-call\ 16160}#
+                   (lambda (#{pvars\ 16253}#
+                            #{exp\ 16254}#
+                            #{y\ 16255}#
+                            #{r\ 16256}#
+                            #{mod\ 16257}#)
+                     (let ((#{ids\ 16265}# (map car #{pvars\ 16253}#))
+                           (#{levels\ 16266}# (map cdr #{pvars\ 16253}#)))
+                       (let ((#{labels\ 16269}#
+                               (#{gen-labels\ 12934}# #{ids\ 16265}#))
+                             (#{new-vars\ 16270}#
+                               (map #{gen-var\ 13029}# #{ids\ 16265}#)))
+                         (#{build-application\ 12838}#
                            #f
-                           (#{build-primref\ 614}# #f (quote apply))
-                           (list (#{build-simple-lambda\ 608}#
+                           (#{build-primref\ 12864}# #f (quote apply))
+                           (list (#{build-simple-lambda\ 12858}#
                                    #f
-                                   (map syntax->datum #{ids\ 4023}#)
+                                   (map syntax->datum #{ids\ 16265}#)
                                    #f
-                                   #{new-vars\ 4028}#
+                                   #{new-vars\ 16270}#
                                    '()
-                                   (#{chi\ 751}#
-                                     #{exp\ 4012}#
-                                     (#{extend-env\ 654}#
-                                       #{labels\ 4027}#
-                                       (map (lambda (#{var\ 4032}#
-                                                     #{level\ 4033}#)
+                                   (#{chi\ 13001}#
+                                     #{exp\ 16254}#
+                                     (#{extend-env\ 12904}#
+                                       #{labels\ 16269}#
+                                       (map (lambda (#{var\ 16274}#
+                                                     #{level\ 16275}#)
                                               (cons 'syntax
-                                                    (cons #{var\ 4032}#
-                                                          #{level\ 4033}#)))
-                                            #{new-vars\ 4028}#
-                                            (map cdr #{pvars\ 4011}#))
-                                       #{r\ 4014}#)
-                                     (#{make-binding-wrap\ 713}#
-                                       #{ids\ 4023}#
-                                       #{labels\ 4027}#
+                                                    (cons #{var\ 16274}#
+                                                          #{level\ 16275}#)))
+                                            #{new-vars\ 16270}#
+                                            (map cdr #{pvars\ 16253}#))
+                                       #{r\ 16256}#)
+                                     (#{make-binding-wrap\ 12963}#
+                                       #{ids\ 16265}#
+                                       #{labels\ 16269}#
                                        '(()))
-                                     #{mod\ 4015}#))
-                                 #{y\ 4013}#))))))
-                 (#{convert-pattern\ 3916}#
-                   (lambda (#{pattern\ 4039}# #{keys\ 4040}#)
-                     (letrec ((#{cvt\ 4046}#
-                                (lambda (#{p\ 4047}# #{n\ 4048}# #{ids\ 4049}#)
-                                  (if (#{id?\ 666}# #{p\ 4047}#)
-                                    (if (#{bound-id-member?\ 733}#
-                                          #{p\ 4047}#
-                                          #{keys\ 4040}#)
+                                     #{mod\ 16257}#))
+                                 #{y\ 16255}#))))))
+                 (#{convert-pattern\ 16158}#
+                   (lambda (#{pattern\ 16281}# #{keys\ 16282}#)
+                     (letrec ((#{cvt\ 16288}#
+                                (lambda (#{p\ 16289}#
+                                         #{n\ 16290}#
+                                         #{ids\ 16291}#)
+                                  (if (#{id?\ 12916}# #{p\ 16289}#)
+                                    (if (#{bound-id-member?\ 12983}#
+                                          #{p\ 16289}#
+                                          #{keys\ 16282}#)
                                       (values
-                                        (vector (quote free-id) #{p\ 4047}#)
-                                        #{ids\ 4049}#)
+                                        (vector (quote free-id) #{p\ 16289}#)
+                                        #{ids\ 16291}#)
                                       (values
                                         'any
-                                        (cons (cons #{p\ 4047}# #{n\ 4048}#)
-                                              #{ids\ 4049}#)))
-                                    ((lambda (#{tmp\ 4053}#)
-                                       ((lambda (#{tmp\ 4054}#)
-                                          (if (if #{tmp\ 4054}#
-                                                (apply (lambda (#{x\ 4057}#
-                                                                #{dots\ 4058}#)
-                                                         (#{ellipsis?\ 767}#
-                                                           #{dots\ 4058}#))
-                                                       #{tmp\ 4054}#)
+                                        (cons (cons #{p\ 16289}# #{n\ 16290}#)
+                                              #{ids\ 16291}#)))
+                                    ((lambda (#{tmp\ 16295}#)
+                                       ((lambda (#{tmp\ 16296}#)
+                                          (if (if #{tmp\ 16296}#
+                                                (apply (lambda (#{x\ 16299}#
+                                                                #{dots\ 
16300}#)
+                                                         (#{ellipsis?\ 13017}#
+                                                           #{dots\ 16300}#))
+                                                       #{tmp\ 16296}#)
                                                 #f)
-                                            (apply (lambda (#{x\ 4061}#
-                                                            #{dots\ 4062}#)
+                                            (apply (lambda (#{x\ 16303}#
+                                                            #{dots\ 16304}#)
                                                      (call-with-values
                                                        (lambda ()
-                                                         (#{cvt\ 4046}#
-                                                           #{x\ 4061}#
-                                                           (#{fx+\ 567}#
-                                                             #{n\ 4048}#
+                                                         (#{cvt\ 16288}#
+                                                           #{x\ 16303}#
+                                                           (#{fx+\ 12817}#
+                                                             #{n\ 16290}#
                                                              1)
-                                                           #{ids\ 4049}#))
-                                                       (lambda (#{p\ 4063}#
-                                                                #{ids\ 4064}#)
+                                                           #{ids\ 16291}#))
+                                                       (lambda (#{p\ 16305}#
+                                                                #{ids\ 16306}#)
                                                          (values
-                                                           (if (eq? #{p\ 4063}#
+                                                           (if (eq? #{p\ 
16305}#
                                                                     'any)
                                                              'each-any
                                                              (vector
                                                                'each
-                                                               #{p\ 4063}#))
-                                                           #{ids\ 4064}#))))
-                                                   #{tmp\ 4054}#)
-                                            ((lambda (#{tmp\ 4067}#)
-                                               (if (if #{tmp\ 4067}#
-                                                     (apply (lambda (#{x\ 
4071}#
-                                                                     #{dots\ 
4072}#
-                                                                     #{ys\ 
4073}#)
-                                                              (#{ellipsis?\ 
767}#
-                                                                #{dots\ 
4072}#))
-                                                            #{tmp\ 4067}#)
+                                                               #{p\ 16305}#))
+                                                           #{ids\ 16306}#))))
+                                                   #{tmp\ 16296}#)
+                                            ((lambda (#{tmp\ 16309}#)
+                                               (if (if #{tmp\ 16309}#
+                                                     (apply (lambda (#{x\ 
16313}#
+                                                                     #{dots\ 
16314}#
+                                                                     #{ys\ 
16315}#)
+                                                              (#{ellipsis?\ 
13017}#
+                                                                #{dots\ 
16314}#))
+                                                            #{tmp\ 16309}#)
                                                      #f)
-                                                 (apply (lambda (#{x\ 4077}#
-                                                                 #{dots\ 4078}#
-                                                                 #{ys\ 4079}#)
+                                                 (apply (lambda (#{x\ 16319}#
+                                                                 #{dots\ 
16320}#
+                                                                 #{ys\ 16321}#)
                                                           (call-with-values
                                                             (lambda ()
-                                                              (#{cvt*\ 4044}#
-                                                                #{ys\ 4079}#
-                                                                #{n\ 4048}#
-                                                                #{ids\ 4049}#))
-                                                            (lambda (#{ys\ 
4081}#
-                                                                     #{ids\ 
4082}#)
+                                                              (#{cvt*\ 16286}#
+                                                                #{ys\ 16321}#
+                                                                #{n\ 16290}#
+                                                                #{ids\ 
16291}#))
+                                                            (lambda (#{ys\ 
16323}#
+                                                                     #{ids\ 
16324}#)
                                                               (call-with-values
                                                                 (lambda ()
-                                                                  (#{cvt\ 
4046}#
-                                                                    #{x\ 4077}#
-                                                                    (+ #{n\ 
4048}#
+                                                                  (#{cvt\ 
16288}#
+                                                                    #{x\ 
16319}#
+                                                                    (+ #{n\ 
16290}#
                                                                        1)
-                                                                    #{ids\ 
4082}#))
-                                                                (lambda (#{x\ 
4085}#
-                                                                         
#{ids\ 4086}#)
+                                                                    #{ids\ 
16324}#))
+                                                                (lambda (#{x\ 
16327}#
+                                                                         
#{ids\ 16328}#)
                                                                   (values
                                                                     
(list->vector
                                                                       (cons 
'each+
-                                                                            
(cons #{x\ 4085}#
+                                                                            
(cons #{x\ 16327}#
                                                                                
   (cons (reverse
-                                                                               
           #{ys\ 4081}#)
+                                                                               
           #{ys\ 16323}#)
                                                                                
         '(())))))
-                                                                    #{ids\ 
4086}#))))))
-                                                        #{tmp\ 4067}#)
-                                                 ((lambda (#{tmp\ 4090}#)
-                                                    (if #{tmp\ 4090}#
-                                                      (apply (lambda (#{x\ 
4093}#
-                                                                      #{y\ 
4094}#)
+                                                                    #{ids\ 
16328}#))))))
+                                                        #{tmp\ 16309}#)
+                                                 ((lambda (#{tmp\ 16332}#)
+                                                    (if #{tmp\ 16332}#
+                                                      (apply (lambda (#{x\ 
16335}#
+                                                                      #{y\ 
16336}#)
                                                                
(call-with-values
                                                                  (lambda ()
-                                                                   (#{cvt\ 
4046}#
-                                                                     #{y\ 
4094}#
-                                                                     #{n\ 
4048}#
-                                                                     #{ids\ 
4049}#))
-                                                                 (lambda (#{y\ 
4095}#
-                                                                          
#{ids\ 4096}#)
+                                                                   (#{cvt\ 
16288}#
+                                                                     #{y\ 
16336}#
+                                                                     #{n\ 
16290}#
+                                                                     #{ids\ 
16291}#))
+                                                                 (lambda (#{y\ 
16337}#
+                                                                          
#{ids\ 16338}#)
                                                                    
(call-with-values
                                                                      (lambda ()
-                                                                       (#{cvt\ 
4046}#
-                                                                         #{x\ 
4093}#
-                                                                         #{n\ 
4048}#
-                                                                         
#{ids\ 4096}#))
-                                                                     (lambda 
(#{x\ 4099}#
-                                                                              
#{ids\ 4100}#)
+                                                                       (#{cvt\ 
16288}#
+                                                                         #{x\ 
16335}#
+                                                                         #{n\ 
16290}#
+                                                                         
#{ids\ 16338}#))
+                                                                     (lambda 
(#{x\ 16341}#
+                                                                              
#{ids\ 16342}#)
                                                                        (values
-                                                                         (cons 
#{x\ 4099}#
-                                                                               
#{y\ 4095}#)
-                                                                         
#{ids\ 4100}#))))))
-                                                             #{tmp\ 4090}#)
-                                                      ((lambda (#{tmp\ 4103}#)
-                                                         (if #{tmp\ 4103}#
+                                                                         (cons 
#{x\ 16341}#
+                                                                               
#{y\ 16337}#)
+                                                                         
#{ids\ 16342}#))))))
+                                                             #{tmp\ 16332}#)
+                                                      ((lambda (#{tmp\ 16345}#)
+                                                         (if #{tmp\ 16345}#
                                                            (apply (lambda ()
                                                                     (values
                                                                       '()
-                                                                      #{ids\ 
4049}#))
-                                                                  #{tmp\ 
4103}#)
-                                                           ((lambda (#{tmp\ 
4104}#)
-                                                              (if #{tmp\ 4104}#
-                                                                (apply (lambda 
(#{x\ 4106}#)
+                                                                      #{ids\ 
16291}#))
+                                                                  #{tmp\ 
16345}#)
+                                                           ((lambda (#{tmp\ 
16346}#)
+                                                              (if #{tmp\ 
16346}#
+                                                                (apply (lambda 
(#{x\ 16348}#)
                                                                          
(call-with-values
                                                                            
(lambda ()
-                                                                             
(#{cvt\ 4046}#
-                                                                               
#{x\ 4106}#
-                                                                               
#{n\ 4048}#
-                                                                               
#{ids\ 4049}#))
-                                                                           
(lambda (#{p\ 4108}#
-                                                                               
     #{ids\ 4109}#)
+                                                                             
(#{cvt\ 16288}#
+                                                                               
#{x\ 16348}#
+                                                                               
#{n\ 16290}#
+                                                                               
#{ids\ 16291}#))
+                                                                           
(lambda (#{p\ 16350}#
+                                                                               
     #{ids\ 16351}#)
                                                                              
(values
                                                                                
(vector
                                                                                
  'vector
-                                                                               
  #{p\ 4108}#)
-                                                                               
#{ids\ 4109}#))))
-                                                                       #{tmp\ 
4104}#)
-                                                                ((lambda (#{x\ 
4113}#)
+                                                                               
  #{p\ 16350}#)
+                                                                               
#{ids\ 16351}#))))
+                                                                       #{tmp\ 
16346}#)
+                                                                ((lambda (#{x\ 
16355}#)
                                                                    (values
                                                                      (vector
                                                                        'atom
-                                                                       
(#{strip\ 777}#
-                                                                         #{p\ 
4047}#
+                                                                       
(#{strip\ 13027}#
+                                                                         #{p\ 
16289}#
                                                                          
'(())))
-                                                                     #{ids\ 
4049}#))
-                                                                 #{tmp\ 
4053}#)))
+                                                                     #{ids\ 
16291}#))
+                                                                 #{tmp\ 
16295}#)))
                                                             ($sc-dispatch
-                                                              #{tmp\ 4053}#
+                                                              #{tmp\ 16295}#
                                                               '#(vector
                                                                  each-any)))))
                                                        ($sc-dispatch
-                                                         #{tmp\ 4053}#
+                                                         #{tmp\ 16295}#
                                                          '()))))
                                                   ($sc-dispatch
-                                                    #{tmp\ 4053}#
+                                                    #{tmp\ 16295}#
                                                     '(any . any)))))
                                              ($sc-dispatch
-                                               #{tmp\ 4053}#
+                                               #{tmp\ 16295}#
                                                '(any any . each-any)))))
                                         ($sc-dispatch
-                                          #{tmp\ 4053}#
+                                          #{tmp\ 16295}#
                                           '(any any))))
-                                     #{p\ 4047}#))))
-                              (#{cvt*\ 4044}#
-                                (lambda (#{p*\ 4115}#
-                                         #{n\ 4116}#
-                                         #{ids\ 4117}#)
-                                  (if (null? #{p*\ 4115}#)
-                                    (values (quote ()) #{ids\ 4117}#)
+                                     #{p\ 16289}#))))
+                              (#{cvt*\ 16286}#
+                                (lambda (#{p*\ 16357}#
+                                         #{n\ 16358}#
+                                         #{ids\ 16359}#)
+                                  (if (null? #{p*\ 16357}#)
+                                    (values (quote ()) #{ids\ 16359}#)
                                     (call-with-values
                                       (lambda ()
-                                        (#{cvt*\ 4044}#
-                                          (cdr #{p*\ 4115}#)
-                                          #{n\ 4116}#
-                                          #{ids\ 4117}#))
-                                      (lambda (#{y\ 4121}# #{ids\ 4122}#)
+                                        (#{cvt*\ 16286}#
+                                          (cdr #{p*\ 16357}#)
+                                          #{n\ 16358}#
+                                          #{ids\ 16359}#))
+                                      (lambda (#{y\ 16363}# #{ids\ 16364}#)
                                         (call-with-values
                                           (lambda ()
-                                            (#{cvt\ 4046}#
-                                              (car #{p*\ 4115}#)
-                                              #{n\ 4116}#
-                                              #{ids\ 4122}#))
-                                          (lambda (#{x\ 4125}# #{ids\ 4126}#)
+                                            (#{cvt\ 16288}#
+                                              (car #{p*\ 16357}#)
+                                              #{n\ 16358}#
+                                              #{ids\ 16364}#))
+                                          (lambda (#{x\ 16367}# #{ids\ 16368}#)
                                             (values
-                                              (cons #{x\ 4125}# #{y\ 4121}#)
-                                              #{ids\ 4126}#)))))))))
-                       (#{cvt\ 4046}# #{pattern\ 4039}# 0 (quote ()))))))
-          (lambda (#{e\ 4129}#
-                   #{r\ 4130}#
-                   #{w\ 4131}#
-                   #{s\ 4132}#
-                   #{mod\ 4133}#)
-            (let ((#{e\ 4140}#
-                    (#{source-wrap\ 737}#
-                      #{e\ 4129}#
-                      #{w\ 4131}#
-                      #{s\ 4132}#
-                      #{mod\ 4133}#)))
-              ((lambda (#{tmp\ 4141}#)
-                 ((lambda (#{tmp\ 4142}#)
-                    (if #{tmp\ 4142}#
-                      (apply (lambda (#{_\ 4147}#
-                                      #{val\ 4148}#
-                                      #{key\ 4149}#
-                                      #{m\ 4150}#)
+                                              (cons #{x\ 16367}# #{y\ 16363}#)
+                                              #{ids\ 16368}#)))))))))
+                       (#{cvt\ 16288}# #{pattern\ 16281}# 0 (quote ()))))))
+          (lambda (#{e\ 16371}#
+                   #{r\ 16372}#
+                   #{w\ 16373}#
+                   #{s\ 16374}#
+                   #{mod\ 16375}#)
+            (let ((#{e\ 16382}#
+                    (#{source-wrap\ 12987}#
+                      #{e\ 16371}#
+                      #{w\ 16373}#
+                      #{s\ 16374}#
+                      #{mod\ 16375}#)))
+              ((lambda (#{tmp\ 16383}#)
+                 ((lambda (#{tmp\ 16384}#)
+                    (if #{tmp\ 16384}#
+                      (apply (lambda (#{_\ 16389}#
+                                      #{val\ 16390}#
+                                      #{key\ 16391}#
+                                      #{m\ 16392}#)
                                (if (and-map
-                                     (lambda (#{x\ 4151}#)
-                                       (if (#{id?\ 666}# #{x\ 4151}#)
-                                         (not (#{ellipsis?\ 767}# #{x\ 4151}#))
+                                     (lambda (#{x\ 16393}#)
+                                       (if (#{id?\ 12916}# #{x\ 16393}#)
+                                         (not (#{ellipsis?\ 13017}#
+                                                #{x\ 16393}#))
                                          #f))
-                                     #{key\ 4149}#)
-                                 (let ((#{x\ 4157}#
-                                         (#{gen-var\ 779}# (quote tmp))))
-                                   (#{build-application\ 588}#
-                                     #{s\ 4132}#
-                                     (#{build-simple-lambda\ 608}#
+                                     #{key\ 16391}#)
+                                 (let ((#{x\ 16399}#
+                                         (#{gen-var\ 13029}# (quote tmp))))
+                                   (#{build-application\ 12838}#
+                                     #{s\ 16374}#
+                                     (#{build-simple-lambda\ 12858}#
                                        #f
                                        (list (quote tmp))
                                        #f
-                                       (list #{x\ 4157}#)
+                                       (list #{x\ 16399}#)
                                        '()
-                                       (#{gen-syntax-case\ 3922}#
-                                         (#{build-lexical-reference\ 594}#
+                                       (#{gen-syntax-case\ 16164}#
+                                         (#{build-lexical-reference\ 12844}#
                                            'value
                                            #f
                                            'tmp
-                                           #{x\ 4157}#)
-                                         #{key\ 4149}#
-                                         #{m\ 4150}#
-                                         #{r\ 4130}#
-                                         #{mod\ 4133}#))
-                                     (list (#{chi\ 751}#
-                                             #{val\ 4148}#
-                                             #{r\ 4130}#
+                                           #{x\ 16399}#)
+                                         #{key\ 16391}#
+                                         #{m\ 16392}#
+                                         #{r\ 16372}#
+                                         #{mod\ 16375}#))
+                                     (list (#{chi\ 13001}#
+                                             #{val\ 16390}#
+                                             #{r\ 16372}#
                                              '(())
-                                             #{mod\ 4133}#))))
+                                             #{mod\ 16375}#))))
                                  (syntax-violation
                                    'syntax-case
                                    "invalid literals list"
-                                   #{e\ 4140}#)))
-                             #{tmp\ 4142}#)
+                                   #{e\ 16382}#)))
+                             #{tmp\ 16384}#)
                       (syntax-violation
                         #f
                         "source expression failed to match any pattern"
-                        #{tmp\ 4141}#)))
+                        #{tmp\ 16383}#)))
                   ($sc-dispatch
-                    #{tmp\ 4141}#
+                    #{tmp\ 16383}#
                     '(any any each-any . each-any))))
-               #{e\ 4140}#)))))
+               #{e\ 16382}#)))))
       (set! macroexpand
-        (lambda (#{x\ 4163}# . #{rest\ 4164}#)
-          (let ((#{m\ 4170}#
-                  (if (null? #{rest\ 4164}#)
+        (lambda (#{x\ 16405}# . #{rest\ 16406}#)
+          (let ((#{m\ 16412}#
+                  (if (null? #{rest\ 16406}#)
                     'e
-                    (car #{rest\ 4164}#)))
-                (#{esew\ 4171}#
-                  (if (let ((#{t\ 4175}# (null? #{rest\ 4164}#)))
-                        (if #{t\ 4175}#
-                          #{t\ 4175}#
-                          (null? (cdr #{rest\ 4164}#))))
+                    (car #{rest\ 16406}#)))
+                (#{esew\ 16413}#
+                  (if (let ((#{t\ 16417}# (null? #{rest\ 16406}#)))
+                        (if #{t\ 16417}#
+                          #{t\ 16417}#
+                          (null? (cdr #{rest\ 16406}#))))
                     '(eval)
-                    (cadr #{rest\ 4164}#)))
-                (#{mod\ 4172}#
+                    (cadr #{rest\ 16406}#)))
+                (#{mod\ 16414}#
                   (cons 'hygiene
                         (module-name (current-module)))))
             (with-fluids
-              ((#{*mode*\ 565}# #{m\ 4170}#))
-              (if (eq? #{m\ 4170}# (quote e))
+              ((#{*mode*\ 12778}# #{m\ 16412}#))
+              (if (eq? #{m\ 16412}# (quote e))
                 (memoize-expression
-                  (#{chi-top\ 749}#
-                    #{x\ 4163}#
+                  (#{chi-top\ 12999}#
+                    #{x\ 16405}#
                     '()
                     '((top))
-                    #{m\ 4170}#
-                    #{esew\ 4171}#
-                    #{mod\ 4172}#))
-                (#{chi-top\ 749}#
-                  #{x\ 4163}#
+                    #{m\ 16412}#
+                    #{esew\ 16413}#
+                    #{mod\ 16414}#))
+                (#{chi-top\ 12999}#
+                  #{x\ 16405}#
                   '()
                   '((top))
-                  #{m\ 4170}#
-                  #{esew\ 4171}#
-                  #{mod\ 4172}#))))))
+                  #{m\ 16412}#
+                  #{esew\ 16413}#
+                  #{mod\ 16414}#))))))
       (set! identifier?
-        (lambda (#{x\ 4181}#)
-          (#{nonsymbol-id?\ 664}# #{x\ 4181}#)))
+        (lambda (#{x\ 16423}#)
+          (#{nonsymbol-id?\ 12914}# #{x\ 16423}#)))
       (set! datum->syntax
-        (lambda (#{id\ 4183}# #{datum\ 4184}#)
-          (#{make-syntax-object\ 628}#
-            #{datum\ 4184}#
-            (#{syntax-object-wrap\ 634}# #{id\ 4183}#)
+        (lambda (#{id\ 16425}# #{datum\ 16426}#)
+          (#{make-syntax-object\ 12878}#
+            #{datum\ 16426}#
+            (#{syntax-object-wrap\ 12884}# #{id\ 16425}#)
             #f)))
       (set! syntax->datum
-        (lambda (#{x\ 4187}#)
-          (#{strip\ 777}# #{x\ 4187}# (quote (())))))
+        (lambda (#{x\ 16429}#)
+          (#{strip\ 13027}# #{x\ 16429}# (quote (())))))
       (set! generate-temporaries
-        (lambda (#{ls\ 4190}#)
+        (lambda (#{ls\ 16432}#)
           (begin
-            (let ((#{x\ 4194}# #{ls\ 4190}#))
-              (if (not (list? #{x\ 4194}#))
+            (let ((#{x\ 16436}# #{ls\ 16432}#))
+              (if (not (list? #{x\ 16436}#))
                 (syntax-violation
                   'generate-temporaries
                   "invalid argument"
-                  #{x\ 4194}#)))
-            (map (lambda (#{x\ 4195}#)
-                   (#{wrap\ 735}# (gensym) (quote ((top))) #f))
-                 #{ls\ 4190}#))))
+                  #{x\ 16436}#)))
+            (map (lambda (#{x\ 16437}#)
+                   (#{wrap\ 12985}# (gensym) (quote ((top))) #f))
+                 #{ls\ 16432}#))))
       (set! free-identifier=?
-        (lambda (#{x\ 4199}# #{y\ 4200}#)
+        (lambda (#{x\ 16441}# #{y\ 16442}#)
           (begin
-            (let ((#{x\ 4205}# #{x\ 4199}#))
-              (if (not (#{nonsymbol-id?\ 664}# #{x\ 4205}#))
+            (let ((#{x\ 16447}# #{x\ 16441}#))
+              (if (not (#{nonsymbol-id?\ 12914}# #{x\ 16447}#))
                 (syntax-violation
                   'free-identifier=?
                   "invalid argument"
-                  #{x\ 4205}#)))
-            (let ((#{x\ 4208}# #{y\ 4200}#))
-              (if (not (#{nonsymbol-id?\ 664}# #{x\ 4208}#))
+                  #{x\ 16447}#)))
+            (let ((#{x\ 16450}# #{y\ 16442}#))
+              (if (not (#{nonsymbol-id?\ 12914}# #{x\ 16450}#))
                 (syntax-violation
                   'free-identifier=?
                   "invalid argument"
-                  #{x\ 4208}#)))
-            (#{free-id=?\ 725}# #{x\ 4199}# #{y\ 4200}#))))
+                  #{x\ 16450}#)))
+            (#{free-id=?\ 12975}# #{x\ 16441}# #{y\ 16442}#))))
       (set! bound-identifier=?
-        (lambda (#{x\ 4209}# #{y\ 4210}#)
+        (lambda (#{x\ 16451}# #{y\ 16452}#)
           (begin
-            (let ((#{x\ 4215}# #{x\ 4209}#))
-              (if (not (#{nonsymbol-id?\ 664}# #{x\ 4215}#))
+            (let ((#{x\ 16457}# #{x\ 16451}#))
+              (if (not (#{nonsymbol-id?\ 12914}# #{x\ 16457}#))
                 (syntax-violation
                   'bound-identifier=?
                   "invalid argument"
-                  #{x\ 4215}#)))
-            (let ((#{x\ 4218}# #{y\ 4210}#))
-              (if (not (#{nonsymbol-id?\ 664}# #{x\ 4218}#))
+                  #{x\ 16457}#)))
+            (let ((#{x\ 16460}# #{y\ 16452}#))
+              (if (not (#{nonsymbol-id?\ 12914}# #{x\ 16460}#))
                 (syntax-violation
                   'bound-identifier=?
                   "invalid argument"
-                  #{x\ 4218}#)))
-            (#{bound-id=?\ 727}# #{x\ 4209}# #{y\ 4210}#))))
+                  #{x\ 16460}#)))
+            (#{bound-id=?\ 12977}# #{x\ 16451}# #{y\ 16452}#))))
       (set! syntax-violation
-        (lambda (#{who\ 4219}#
-                 #{message\ 4220}#
-                 #{form\ 4221}#
+        (lambda (#{who\ 16461}#
+                 #{message\ 16462}#
+                 #{form\ 16463}#
                  .
-                 #{subform\ 4222}#)
+                 #{subform\ 16464}#)
           (begin
-            (let ((#{x\ 4229}# #{who\ 4219}#))
-              (if (not ((lambda (#{x\ 4230}#)
-                          (let ((#{t\ 4234}# (not #{x\ 4230}#)))
-                            (if #{t\ 4234}#
-                              #{t\ 4234}#
-                              (let ((#{t\ 4237}# (string? #{x\ 4230}#)))
-                                (if #{t\ 4237}#
-                                  #{t\ 4237}#
-                                  (symbol? #{x\ 4230}#))))))
-                        #{x\ 4229}#))
+            (let ((#{x\ 16471}# #{who\ 16461}#))
+              (if (not ((lambda (#{x\ 16472}#)
+                          (let ((#{t\ 16476}# (not #{x\ 16472}#)))
+                            (if #{t\ 16476}#
+                              #{t\ 16476}#
+                              (let ((#{t\ 16479}# (string? #{x\ 16472}#)))
+                                (if #{t\ 16479}#
+                                  #{t\ 16479}#
+                                  (symbol? #{x\ 16472}#))))))
+                        #{x\ 16471}#))
                 (syntax-violation
                   'syntax-violation
                   "invalid argument"
-                  #{x\ 4229}#)))
-            (let ((#{x\ 4241}# #{message\ 4220}#))
-              (if (not (string? #{x\ 4241}#))
+                  #{x\ 16471}#)))
+            (let ((#{x\ 16483}# #{message\ 16462}#))
+              (if (not (string? #{x\ 16483}#))
                 (syntax-violation
                   'syntax-violation
                   "invalid argument"
-                  #{x\ 4241}#)))
+                  #{x\ 16483}#)))
             (scm-error
               'syntax-error
               'macroexpand
               (string-append
-                (if #{who\ 4219}# "~a: " "")
+                (if #{who\ 16461}# "~a: " "")
                 "~a "
-                (if (null? #{subform\ 4222}#)
+                (if (null? #{subform\ 16464}#)
                   "in ~a"
                   "in subform `~s' of `~s'"))
-              (let ((#{tail\ 4243}#
-                      (cons #{message\ 4220}#
-                            (map (lambda (#{x\ 4244}#)
-                                   (#{strip\ 777}# #{x\ 4244}# (quote (()))))
+              (let ((#{tail\ 16485}#
+                      (cons #{message\ 16462}#
+                            (map (lambda (#{x\ 16486}#)
+                                   (#{strip\ 13027}#
+                                     #{x\ 16486}#
+                                     '(())))
                                  (append
-                                   #{subform\ 4222}#
-                                   (list #{form\ 4221}#))))))
-                (if #{who\ 4219}#
-                  (cons #{who\ 4219}# #{tail\ 4243}#)
-                  #{tail\ 4243}#))
+                                   #{subform\ 16464}#
+                                   (list #{form\ 16463}#))))))
+                (if #{who\ 16461}#
+                  (cons #{who\ 16461}# #{tail\ 16485}#)
+                  #{tail\ 16485}#))
               #f))))
-      (letrec ((#{match\ 4260}#
-                 (lambda (#{e\ 4261}#
-                          #{p\ 4262}#
-                          #{w\ 4263}#
-                          #{r\ 4264}#
-                          #{mod\ 4265}#)
-                   (if (not #{r\ 4264}#)
+      (letrec ((#{match\ 16502}#
+                 (lambda (#{e\ 16503}#
+                          #{p\ 16504}#
+                          #{w\ 16505}#
+                          #{r\ 16506}#
+                          #{mod\ 16507}#)
+                   (if (not #{r\ 16506}#)
                      #f
-                     (if (eq? #{p\ 4262}# (quote any))
-                       (cons (#{wrap\ 735}#
-                               #{e\ 4261}#
-                               #{w\ 4263}#
-                               #{mod\ 4265}#)
-                             #{r\ 4264}#)
-                       (if (#{syntax-object?\ 630}# #{e\ 4261}#)
-                         (#{match*\ 4258}#
-                           (#{syntax-object-expression\ 632}# #{e\ 4261}#)
-                           #{p\ 4262}#
-                           (#{join-wraps\ 717}#
-                             #{w\ 4263}#
-                             (#{syntax-object-wrap\ 634}# #{e\ 4261}#))
-                           #{r\ 4264}#
-                           (#{syntax-object-module\ 636}# #{e\ 4261}#))
-                         (#{match*\ 4258}#
-                           #{e\ 4261}#
-                           #{p\ 4262}#
-                           #{w\ 4263}#
-                           #{r\ 4264}#
-                           #{mod\ 4265}#))))))
-               (#{match*\ 4258}#
-                 (lambda (#{e\ 4278}#
-                          #{p\ 4279}#
-                          #{w\ 4280}#
-                          #{r\ 4281}#
-                          #{mod\ 4282}#)
-                   (if (null? #{p\ 4279}#)
-                     (if (null? #{e\ 4278}#) #{r\ 4281}# #f)
-                     (if (pair? #{p\ 4279}#)
-                       (if (pair? #{e\ 4278}#)
-                         (#{match\ 4260}#
-                           (car #{e\ 4278}#)
-                           (car #{p\ 4279}#)
-                           #{w\ 4280}#
-                           (#{match\ 4260}#
-                             (cdr #{e\ 4278}#)
-                             (cdr #{p\ 4279}#)
-                             #{w\ 4280}#
-                             #{r\ 4281}#
-                             #{mod\ 4282}#)
-                           #{mod\ 4282}#)
+                     (if (eq? #{p\ 16504}# (quote any))
+                       (cons (#{wrap\ 12985}#
+                               #{e\ 16503}#
+                               #{w\ 16505}#
+                               #{mod\ 16507}#)
+                             #{r\ 16506}#)
+                       (if (#{syntax-object?\ 12880}# #{e\ 16503}#)
+                         (#{match*\ 16500}#
+                           (#{syntax-object-expression\ 12882}#
+                             #{e\ 16503}#)
+                           #{p\ 16504}#
+                           (#{join-wraps\ 12967}#
+                             #{w\ 16505}#
+                             (#{syntax-object-wrap\ 12884}# #{e\ 16503}#))
+                           #{r\ 16506}#
+                           (#{syntax-object-module\ 12886}# #{e\ 16503}#))
+                         (#{match*\ 16500}#
+                           #{e\ 16503}#
+                           #{p\ 16504}#
+                           #{w\ 16505}#
+                           #{r\ 16506}#
+                           #{mod\ 16507}#))))))
+               (#{match*\ 16500}#
+                 (lambda (#{e\ 16520}#
+                          #{p\ 16521}#
+                          #{w\ 16522}#
+                          #{r\ 16523}#
+                          #{mod\ 16524}#)
+                   (if (null? #{p\ 16521}#)
+                     (if (null? #{e\ 16520}#) #{r\ 16523}# #f)
+                     (if (pair? #{p\ 16521}#)
+                       (if (pair? #{e\ 16520}#)
+                         (#{match\ 16502}#
+                           (car #{e\ 16520}#)
+                           (car #{p\ 16521}#)
+                           #{w\ 16522}#
+                           (#{match\ 16502}#
+                             (cdr #{e\ 16520}#)
+                             (cdr #{p\ 16521}#)
+                             #{w\ 16522}#
+                             #{r\ 16523}#
+                             #{mod\ 16524}#)
+                           #{mod\ 16524}#)
                          #f)
-                       (if (eq? #{p\ 4279}# (quote each-any))
-                         (let ((#{l\ 4299}#
-                                 (#{match-each-any\ 4252}#
-                                   #{e\ 4278}#
-                                   #{w\ 4280}#
-                                   #{mod\ 4282}#)))
-                           (if #{l\ 4299}#
-                             (cons #{l\ 4299}# #{r\ 4281}#)
+                       (if (eq? #{p\ 16521}# (quote each-any))
+                         (let ((#{l\ 16541}#
+                                 (#{match-each-any\ 16494}#
+                                   #{e\ 16520}#
+                                   #{w\ 16522}#
+                                   #{mod\ 16524}#)))
+                           (if #{l\ 16541}#
+                             (cons #{l\ 16541}# #{r\ 16523}#)
                              #f))
-                         (let ((#{atom-key\ 4305}# (vector-ref #{p\ 4279}# 0)))
-                           (if (memv #{atom-key\ 4305}# (quote (each)))
-                             (if (null? #{e\ 4278}#)
-                               (#{match-empty\ 4254}#
-                                 (vector-ref #{p\ 4279}# 1)
-                                 #{r\ 4281}#)
-                               (let ((#{l\ 4308}#
-                                       (#{match-each\ 4248}#
-                                         #{e\ 4278}#
-                                         (vector-ref #{p\ 4279}# 1)
-                                         #{w\ 4280}#
-                                         #{mod\ 4282}#)))
-                                 (if #{l\ 4308}#
-                                   (letrec ((#{collect\ 4313}#
-                                              (lambda (#{l\ 4314}#)
-                                                (if (null? (car #{l\ 4314}#))
-                                                  #{r\ 4281}#
-                                                  (cons (map car #{l\ 4314}#)
-                                                        (#{collect\ 4313}#
+                         (let ((#{atom-key\ 16547}#
+                                 (vector-ref #{p\ 16521}# 0)))
+                           (if (memv #{atom-key\ 16547}# (quote (each)))
+                             (if (null? #{e\ 16520}#)
+                               (#{match-empty\ 16496}#
+                                 (vector-ref #{p\ 16521}# 1)
+                                 #{r\ 16523}#)
+                               (let ((#{l\ 16550}#
+                                       (#{match-each\ 16490}#
+                                         #{e\ 16520}#
+                                         (vector-ref #{p\ 16521}# 1)
+                                         #{w\ 16522}#
+                                         #{mod\ 16524}#)))
+                                 (if #{l\ 16550}#
+                                   (letrec ((#{collect\ 16555}#
+                                              (lambda (#{l\ 16556}#)
+                                                (if (null? (car #{l\ 16556}#))
+                                                  #{r\ 16523}#
+                                                  (cons (map car #{l\ 16556}#)
+                                                        (#{collect\ 16555}#
                                                           (map cdr
-                                                               #{l\ 
4314}#)))))))
-                                     (#{collect\ 4313}# #{l\ 4308}#))
+                                                               #{l\ 
16556}#)))))))
+                                     (#{collect\ 16555}# #{l\ 16550}#))
                                    #f)))
-                             (if (memv #{atom-key\ 4305}# (quote (each+)))
+                             (if (memv #{atom-key\ 16547}# (quote (each+)))
                                (call-with-values
                                  (lambda ()
-                                   (#{match-each+\ 4250}#
-                                     #{e\ 4278}#
-                                     (vector-ref #{p\ 4279}# 1)
-                                     (vector-ref #{p\ 4279}# 2)
-                                     (vector-ref #{p\ 4279}# 3)
-                                     #{w\ 4280}#
-                                     #{r\ 4281}#
-                                     #{mod\ 4282}#))
-                                 (lambda (#{xr*\ 4316}#
-                                          #{y-pat\ 4317}#
-                                          #{r\ 4318}#)
-                                   (if #{r\ 4318}#
-                                     (if (null? #{y-pat\ 4317}#)
-                                       (if (null? #{xr*\ 4316}#)
-                                         (#{match-empty\ 4254}#
-                                           (vector-ref #{p\ 4279}# 1)
-                                           #{r\ 4318}#)
-                                         (#{combine\ 4256}#
-                                           #{xr*\ 4316}#
-                                           #{r\ 4318}#))
+                                   (#{match-each+\ 16492}#
+                                     #{e\ 16520}#
+                                     (vector-ref #{p\ 16521}# 1)
+                                     (vector-ref #{p\ 16521}# 2)
+                                     (vector-ref #{p\ 16521}# 3)
+                                     #{w\ 16522}#
+                                     #{r\ 16523}#
+                                     #{mod\ 16524}#))
+                                 (lambda (#{xr*\ 16558}#
+                                          #{y-pat\ 16559}#
+                                          #{r\ 16560}#)
+                                   (if #{r\ 16560}#
+                                     (if (null? #{y-pat\ 16559}#)
+                                       (if (null? #{xr*\ 16558}#)
+                                         (#{match-empty\ 16496}#
+                                           (vector-ref #{p\ 16521}# 1)
+                                           #{r\ 16560}#)
+                                         (#{combine\ 16498}#
+                                           #{xr*\ 16558}#
+                                           #{r\ 16560}#))
                                        #f)
                                      #f)))
-                               (if (memv #{atom-key\ 4305}# (quote (free-id)))
-                                 (if (#{id?\ 666}# #{e\ 4278}#)
-                                   (if (#{free-id=?\ 725}#
-                                         (#{wrap\ 735}#
-                                           #{e\ 4278}#
-                                           #{w\ 4280}#
-                                           #{mod\ 4282}#)
-                                         (vector-ref #{p\ 4279}# 1))
-                                     #{r\ 4281}#
+                               (if (memv #{atom-key\ 16547}# (quote (free-id)))
+                                 (if (#{id?\ 12916}# #{e\ 16520}#)
+                                   (if (#{free-id=?\ 12975}#
+                                         (#{wrap\ 12985}#
+                                           #{e\ 16520}#
+                                           #{w\ 16522}#
+                                           #{mod\ 16524}#)
+                                         (vector-ref #{p\ 16521}# 1))
+                                     #{r\ 16523}#
                                      #f)
                                    #f)
-                                 (if (memv #{atom-key\ 4305}# (quote (atom)))
+                                 (if (memv #{atom-key\ 16547}# (quote (atom)))
                                    (if (equal?
-                                         (vector-ref #{p\ 4279}# 1)
-                                         (#{strip\ 777}#
-                                           #{e\ 4278}#
-                                           #{w\ 4280}#))
-                                     #{r\ 4281}#
+                                         (vector-ref #{p\ 16521}# 1)
+                                         (#{strip\ 13027}#
+                                           #{e\ 16520}#
+                                           #{w\ 16522}#))
+                                     #{r\ 16523}#
                                      #f)
-                                   (if (memv #{atom-key\ 4305}#
+                                   (if (memv #{atom-key\ 16547}#
                                              '(vector))
-                                     (if (vector? #{e\ 4278}#)
-                                       (#{match\ 4260}#
-                                         (vector->list #{e\ 4278}#)
-                                         (vector-ref #{p\ 4279}# 1)
-                                         #{w\ 4280}#
-                                         #{r\ 4281}#
-                                         #{mod\ 4282}#)
+                                     (if (vector? #{e\ 16520}#)
+                                       (#{match\ 16502}#
+                                         (vector->list #{e\ 16520}#)
+                                         (vector-ref #{p\ 16521}# 1)
+                                         #{w\ 16522}#
+                                         #{r\ 16523}#
+                                         #{mod\ 16524}#)
                                        #f))))))))))))
-               (#{combine\ 4256}#
-                 (lambda (#{r*\ 4335}# #{r\ 4336}#)
-                   (if (null? (car #{r*\ 4335}#))
-                     #{r\ 4336}#
-                     (cons (map car #{r*\ 4335}#)
-                           (#{combine\ 4256}#
-                             (map cdr #{r*\ 4335}#)
-                             #{r\ 4336}#)))))
-               (#{match-empty\ 4254}#
-                 (lambda (#{p\ 4339}# #{r\ 4340}#)
-                   (if (null? #{p\ 4339}#)
-                     #{r\ 4340}#
-                     (if (eq? #{p\ 4339}# (quote any))
-                       (cons (quote ()) #{r\ 4340}#)
-                       (if (pair? #{p\ 4339}#)
-                         (#{match-empty\ 4254}#
-                           (car #{p\ 4339}#)
-                           (#{match-empty\ 4254}#
-                             (cdr #{p\ 4339}#)
-                             #{r\ 4340}#))
-                         (if (eq? #{p\ 4339}# (quote each-any))
-                           (cons (quote ()) #{r\ 4340}#)
-                           (let ((#{atom-key\ 4354}#
-                                   (vector-ref #{p\ 4339}# 0)))
-                             (if (memv #{atom-key\ 4354}# (quote (each)))
-                               (#{match-empty\ 4254}#
-                                 (vector-ref #{p\ 4339}# 1)
-                                 #{r\ 4340}#)
-                               (if (memv #{atom-key\ 4354}# (quote (each+)))
-                                 (#{match-empty\ 4254}#
-                                   (vector-ref #{p\ 4339}# 1)
-                                   (#{match-empty\ 4254}#
-                                     (reverse (vector-ref #{p\ 4339}# 2))
-                                     (#{match-empty\ 4254}#
-                                       (vector-ref #{p\ 4339}# 3)
-                                       #{r\ 4340}#)))
-                                 (if (memv #{atom-key\ 4354}#
+               (#{combine\ 16498}#
+                 (lambda (#{r*\ 16577}# #{r\ 16578}#)
+                   (if (null? (car #{r*\ 16577}#))
+                     #{r\ 16578}#
+                     (cons (map car #{r*\ 16577}#)
+                           (#{combine\ 16498}#
+                             (map cdr #{r*\ 16577}#)
+                             #{r\ 16578}#)))))
+               (#{match-empty\ 16496}#
+                 (lambda (#{p\ 16581}# #{r\ 16582}#)
+                   (if (null? #{p\ 16581}#)
+                     #{r\ 16582}#
+                     (if (eq? #{p\ 16581}# (quote any))
+                       (cons (quote ()) #{r\ 16582}#)
+                       (if (pair? #{p\ 16581}#)
+                         (#{match-empty\ 16496}#
+                           (car #{p\ 16581}#)
+                           (#{match-empty\ 16496}#
+                             (cdr #{p\ 16581}#)
+                             #{r\ 16582}#))
+                         (if (eq? #{p\ 16581}# (quote each-any))
+                           (cons (quote ()) #{r\ 16582}#)
+                           (let ((#{atom-key\ 16596}#
+                                   (vector-ref #{p\ 16581}# 0)))
+                             (if (memv #{atom-key\ 16596}# (quote (each)))
+                               (#{match-empty\ 16496}#
+                                 (vector-ref #{p\ 16581}# 1)
+                                 #{r\ 16582}#)
+                               (if (memv #{atom-key\ 16596}# (quote (each+)))
+                                 (#{match-empty\ 16496}#
+                                   (vector-ref #{p\ 16581}# 1)
+                                   (#{match-empty\ 16496}#
+                                     (reverse (vector-ref #{p\ 16581}# 2))
+                                     (#{match-empty\ 16496}#
+                                       (vector-ref #{p\ 16581}# 3)
+                                       #{r\ 16582}#)))
+                                 (if (memv #{atom-key\ 16596}#
                                            '(free-id atom))
-                                   #{r\ 4340}#
-                                   (if (memv #{atom-key\ 4354}#
+                                   #{r\ 16582}#
+                                   (if (memv #{atom-key\ 16596}#
                                              '(vector))
-                                     (#{match-empty\ 4254}#
-                                       (vector-ref #{p\ 4339}# 1)
-                                       #{r\ 4340}#))))))))))))
-               (#{match-each-any\ 4252}#
-                 (lambda (#{e\ 4359}# #{w\ 4360}# #{mod\ 4361}#)
-                   (if (pair? #{e\ 4359}#)
-                     (let ((#{l\ 4368}#
-                             (#{match-each-any\ 4252}#
-                               (cdr #{e\ 4359}#)
-                               #{w\ 4360}#
-                               #{mod\ 4361}#)))
-                       (if #{l\ 4368}#
-                         (cons (#{wrap\ 735}#
-                                 (car #{e\ 4359}#)
-                                 #{w\ 4360}#
-                                 #{mod\ 4361}#)
-                               #{l\ 4368}#)
+                                     (#{match-empty\ 16496}#
+                                       (vector-ref #{p\ 16581}# 1)
+                                       #{r\ 16582}#))))))))))))
+               (#{match-each-any\ 16494}#
+                 (lambda (#{e\ 16601}# #{w\ 16602}# #{mod\ 16603}#)
+                   (if (pair? #{e\ 16601}#)
+                     (let ((#{l\ 16610}#
+                             (#{match-each-any\ 16494}#
+                               (cdr #{e\ 16601}#)
+                               #{w\ 16602}#
+                               #{mod\ 16603}#)))
+                       (if #{l\ 16610}#
+                         (cons (#{wrap\ 12985}#
+                                 (car #{e\ 16601}#)
+                                 #{w\ 16602}#
+                                 #{mod\ 16603}#)
+                               #{l\ 16610}#)
                          #f))
-                     (if (null? #{e\ 4359}#)
+                     (if (null? #{e\ 16601}#)
                        '()
-                       (if (#{syntax-object?\ 630}# #{e\ 4359}#)
-                         (#{match-each-any\ 4252}#
-                           (#{syntax-object-expression\ 632}# #{e\ 4359}#)
-                           (#{join-wraps\ 717}#
-                             #{w\ 4360}#
-                             (#{syntax-object-wrap\ 634}# #{e\ 4359}#))
-                           #{mod\ 4361}#)
+                       (if (#{syntax-object?\ 12880}# #{e\ 16601}#)
+                         (#{match-each-any\ 16494}#
+                           (#{syntax-object-expression\ 12882}#
+                             #{e\ 16601}#)
+                           (#{join-wraps\ 12967}#
+                             #{w\ 16602}#
+                             (#{syntax-object-wrap\ 12884}# #{e\ 16601}#))
+                           #{mod\ 16603}#)
                          #f)))))
-               (#{match-each+\ 4250}#
-                 (lambda (#{e\ 4376}#
-                          #{x-pat\ 4377}#
-                          #{y-pat\ 4378}#
-                          #{z-pat\ 4379}#
-                          #{w\ 4380}#
-                          #{r\ 4381}#
-                          #{mod\ 4382}#)
-                   (letrec ((#{f\ 4393}#
-                              (lambda (#{e\ 4394}# #{w\ 4395}#)
-                                (if (pair? #{e\ 4394}#)
+               (#{match-each+\ 16492}#
+                 (lambda (#{e\ 16618}#
+                          #{x-pat\ 16619}#
+                          #{y-pat\ 16620}#
+                          #{z-pat\ 16621}#
+                          #{w\ 16622}#
+                          #{r\ 16623}#
+                          #{mod\ 16624}#)
+                   (letrec ((#{f\ 16635}#
+                              (lambda (#{e\ 16636}# #{w\ 16637}#)
+                                (if (pair? #{e\ 16636}#)
                                   (call-with-values
                                     (lambda ()
-                                      (#{f\ 4393}#
-                                        (cdr #{e\ 4394}#)
-                                        #{w\ 4395}#))
-                                    (lambda (#{xr*\ 4398}#
-                                             #{y-pat\ 4399}#
-                                             #{r\ 4400}#)
-                                      (if #{r\ 4400}#
-                                        (if (null? #{y-pat\ 4399}#)
-                                          (let ((#{xr\ 4405}#
-                                                  (#{match\ 4260}#
-                                                    (car #{e\ 4394}#)
-                                                    #{x-pat\ 4377}#
-                                                    #{w\ 4395}#
+                                      (#{f\ 16635}#
+                                        (cdr #{e\ 16636}#)
+                                        #{w\ 16637}#))
+                                    (lambda (#{xr*\ 16640}#
+                                             #{y-pat\ 16641}#
+                                             #{r\ 16642}#)
+                                      (if #{r\ 16642}#
+                                        (if (null? #{y-pat\ 16641}#)
+                                          (let ((#{xr\ 16647}#
+                                                  (#{match\ 16502}#
+                                                    (car #{e\ 16636}#)
+                                                    #{x-pat\ 16619}#
+                                                    #{w\ 16637}#
                                                     '()
-                                                    #{mod\ 4382}#)))
-                                            (if #{xr\ 4405}#
+                                                    #{mod\ 16624}#)))
+                                            (if #{xr\ 16647}#
                                               (values
-                                                (cons #{xr\ 4405}#
-                                                      #{xr*\ 4398}#)
-                                                #{y-pat\ 4399}#
-                                                #{r\ 4400}#)
+                                                (cons #{xr\ 16647}#
+                                                      #{xr*\ 16640}#)
+                                                #{y-pat\ 16641}#
+                                                #{r\ 16642}#)
                                               (values #f #f #f)))
                                           (values
                                             '()
-                                            (cdr #{y-pat\ 4399}#)
-                                            (#{match\ 4260}#
-                                              (car #{e\ 4394}#)
-                                              (car #{y-pat\ 4399}#)
-                                              #{w\ 4395}#
-                                              #{r\ 4400}#
-                                              #{mod\ 4382}#)))
+                                            (cdr #{y-pat\ 16641}#)
+                                            (#{match\ 16502}#
+                                              (car #{e\ 16636}#)
+                                              (car #{y-pat\ 16641}#)
+                                              #{w\ 16637}#
+                                              #{r\ 16642}#
+                                              #{mod\ 16624}#)))
                                         (values #f #f #f))))
-                                  (if (#{syntax-object?\ 630}# #{e\ 4394}#)
-                                    (#{f\ 4393}#
-                                      (#{syntax-object-expression\ 632}#
-                                        #{e\ 4394}#)
-                                      (#{join-wraps\ 717}#
-                                        #{w\ 4395}#
-                                        #{e\ 4394}#))
+                                  (if (#{syntax-object?\ 12880}# #{e\ 16636}#)
+                                    (#{f\ 16635}#
+                                      (#{syntax-object-expression\ 12882}#
+                                        #{e\ 16636}#)
+                                      (#{join-wraps\ 12967}#
+                                        #{w\ 16637}#
+                                        #{e\ 16636}#))
                                     (values
                                       '()
-                                      #{y-pat\ 4378}#
-                                      (#{match\ 4260}#
-                                        #{e\ 4394}#
-                                        #{z-pat\ 4379}#
-                                        #{w\ 4395}#
-                                        #{r\ 4381}#
-                                        #{mod\ 4382}#)))))))
-                     (#{f\ 4393}# #{e\ 4376}# #{w\ 4380}#))))
-               (#{match-each\ 4248}#
-                 (lambda (#{e\ 4409}#
-                          #{p\ 4410}#
-                          #{w\ 4411}#
-                          #{mod\ 4412}#)
-                   (if (pair? #{e\ 4409}#)
-                     (let ((#{first\ 4420}#
-                             (#{match\ 4260}#
-                               (car #{e\ 4409}#)
-                               #{p\ 4410}#
-                               #{w\ 4411}#
+                                      #{y-pat\ 16620}#
+                                      (#{match\ 16502}#
+                                        #{e\ 16636}#
+                                        #{z-pat\ 16621}#
+                                        #{w\ 16637}#
+                                        #{r\ 16623}#
+                                        #{mod\ 16624}#)))))))
+                     (#{f\ 16635}# #{e\ 16618}# #{w\ 16622}#))))
+               (#{match-each\ 16490}#
+                 (lambda (#{e\ 16651}#
+                          #{p\ 16652}#
+                          #{w\ 16653}#
+                          #{mod\ 16654}#)
+                   (if (pair? #{e\ 16651}#)
+                     (let ((#{first\ 16662}#
+                             (#{match\ 16502}#
+                               (car #{e\ 16651}#)
+                               #{p\ 16652}#
+                               #{w\ 16653}#
                                '()
-                               #{mod\ 4412}#)))
-                       (if #{first\ 4420}#
-                         (let ((#{rest\ 4424}#
-                                 (#{match-each\ 4248}#
-                                   (cdr #{e\ 4409}#)
-                                   #{p\ 4410}#
-                                   #{w\ 4411}#
-                                   #{mod\ 4412}#)))
-                           (if #{rest\ 4424}#
-                             (cons #{first\ 4420}# #{rest\ 4424}#)
+                               #{mod\ 16654}#)))
+                       (if #{first\ 16662}#
+                         (let ((#{rest\ 16666}#
+                                 (#{match-each\ 16490}#
+                                   (cdr #{e\ 16651}#)
+                                   #{p\ 16652}#
+                                   #{w\ 16653}#
+                                   #{mod\ 16654}#)))
+                           (if #{rest\ 16666}#
+                             (cons #{first\ 16662}# #{rest\ 16666}#)
                              #f))
                          #f))
-                     (if (null? #{e\ 4409}#)
+                     (if (null? #{e\ 16651}#)
                        '()
-                       (if (#{syntax-object?\ 630}# #{e\ 4409}#)
-                         (#{match-each\ 4248}#
-                           (#{syntax-object-expression\ 632}# #{e\ 4409}#)
-                           #{p\ 4410}#
-                           (#{join-wraps\ 717}#
-                             #{w\ 4411}#
-                             (#{syntax-object-wrap\ 634}# #{e\ 4409}#))
-                           (#{syntax-object-module\ 636}# #{e\ 4409}#))
+                       (if (#{syntax-object?\ 12880}# #{e\ 16651}#)
+                         (#{match-each\ 16490}#
+                           (#{syntax-object-expression\ 12882}#
+                             #{e\ 16651}#)
+                           #{p\ 16652}#
+                           (#{join-wraps\ 12967}#
+                             #{w\ 16653}#
+                             (#{syntax-object-wrap\ 12884}# #{e\ 16651}#))
+                           (#{syntax-object-module\ 12886}# #{e\ 16651}#))
                          #f))))))
         (set! $sc-dispatch
-          (lambda (#{e\ 4432}# #{p\ 4433}#)
-            (if (eq? #{p\ 4433}# (quote any))
-              (list #{e\ 4432}#)
-              (if (#{syntax-object?\ 630}# #{e\ 4432}#)
-                (#{match*\ 4258}#
-                  (#{syntax-object-expression\ 632}# #{e\ 4432}#)
-                  #{p\ 4433}#
-                  (#{syntax-object-wrap\ 634}# #{e\ 4432}#)
+          (lambda (#{e\ 16674}# #{p\ 16675}#)
+            (if (eq? #{p\ 16675}# (quote any))
+              (list #{e\ 16674}#)
+              (if (#{syntax-object?\ 12880}# #{e\ 16674}#)
+                (#{match*\ 16500}#
+                  (#{syntax-object-expression\ 12882}#
+                    #{e\ 16674}#)
+                  #{p\ 16675}#
+                  (#{syntax-object-wrap\ 12884}# #{e\ 16674}#)
                   '()
-                  (#{syntax-object-module\ 636}# #{e\ 4432}#))
-                (#{match*\ 4258}#
-                  #{e\ 4432}#
-                  #{p\ 4433}#
+                  (#{syntax-object-module\ 12886}# #{e\ 16674}#))
+                (#{match*\ 16500}#
+                  #{e\ 16674}#
+                  #{p\ 16675}#
                   '(())
                   '()
                   #f)))))))))
@@ -12136,50 +13082,50 @@
   (make-syntax-transformer
     'with-syntax
     'macro
-    (cons (lambda (#{x\ 4442}#)
-            ((lambda (#{tmp\ 4444}#)
-               ((lambda (#{tmp\ 4445}#)
-                  (if #{tmp\ 4445}#
-                    (apply (lambda (#{_\ 4449}# #{e1\ 4450}# #{e2\ 4451}#)
+    (cons (lambda (#{x\ 16684}#)
+            ((lambda (#{tmp\ 16686}#)
+               ((lambda (#{tmp\ 16687}#)
+                  (if #{tmp\ 16687}#
+                    (apply (lambda (#{_\ 16691}# #{e1\ 16692}# #{e2\ 16693}#)
                              (cons '#(syntax-object
                                       begin
                                       ((top)
                                        #(ribcage
                                          #(_ e1 e2)
                                          #((top) (top) (top))
-                                         #("i4446" "i4447" "i4448"))
+                                         #("i16688" "i16689" "i16690"))
                                        #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i4443")))
+                                       #(ribcage #(x) #((top)) #("i16685")))
                                       (hygiene guile))
-                                   (cons #{e1\ 4450}# #{e2\ 4451}#)))
-                           #{tmp\ 4445}#)
-                    ((lambda (#{tmp\ 4453}#)
-                       (if #{tmp\ 4453}#
-                         (apply (lambda (#{_\ 4459}#
-                                         #{out\ 4460}#
-                                         #{in\ 4461}#
-                                         #{e1\ 4462}#
-                                         #{e2\ 4463}#)
+                                   (cons #{e1\ 16692}# #{e2\ 16693}#)))
+                           #{tmp\ 16687}#)
+                    ((lambda (#{tmp\ 16695}#)
+                       (if #{tmp\ 16695}#
+                         (apply (lambda (#{_\ 16701}#
+                                         #{out\ 16702}#
+                                         #{in\ 16703}#
+                                         #{e1\ 16704}#
+                                         #{e2\ 16705}#)
                                   (list '#(syntax-object
                                            syntax-case
                                            ((top)
                                             #(ribcage
                                               #(_ out in e1 e2)
                                               #((top) (top) (top) (top) (top))
-                                              #("i4454"
-                                                "i4455"
-                                                "i4456"
-                                                "i4457"
-                                                "i4458"))
+                                              #("i16696"
+                                                "i16697"
+                                                "i16698"
+                                                "i16699"
+                                                "i16700"))
                                             #(ribcage () () ())
                                             #(ribcage
                                               #(x)
                                               #((top))
-                                              #("i4443")))
+                                              #("i16685")))
                                            (hygiene guile))
-                                        #{in\ 4461}#
+                                        #{in\ 16703}#
                                         '()
-                                        (list #{out\ 4460}#
+                                        (list #{out\ 16702}#
                                               (cons '#(syntax-object
                                                        begin
                                                        ((top)
@@ -12190,27 +13136,27 @@
                                                             (top)
                                                             (top)
                                                             (top))
-                                                          #("i4454"
-                                                            "i4455"
-                                                            "i4456"
-                                                            "i4457"
-                                                            "i4458"))
+                                                          #("i16696"
+                                                            "i16697"
+                                                            "i16698"
+                                                            "i16699"
+                                                            "i16700"))
                                                         #(ribcage () () ())
                                                         #(ribcage
                                                           #(x)
                                                           #((top))
-                                                          #("i4443")))
+                                                          #("i16685")))
                                                        (hygiene guile))
-                                                    (cons #{e1\ 4462}#
-                                                          #{e2\ 4463}#)))))
-                                #{tmp\ 4453}#)
-                         ((lambda (#{tmp\ 4465}#)
-                            (if #{tmp\ 4465}#
-                              (apply (lambda (#{_\ 4471}#
-                                              #{out\ 4472}#
-                                              #{in\ 4473}#
-                                              #{e1\ 4474}#
-                                              #{e2\ 4475}#)
+                                                    (cons #{e1\ 16704}#
+                                                          #{e2\ 16705}#)))))
+                                #{tmp\ 16695}#)
+                         ((lambda (#{tmp\ 16707}#)
+                            (if #{tmp\ 16707}#
+                              (apply (lambda (#{_\ 16713}#
+                                              #{out\ 16714}#
+                                              #{in\ 16715}#
+                                              #{e1\ 16716}#
+                                              #{e2\ 16717}#)
                                        (list '#(syntax-object
                                                 syntax-case
                                                 ((top)
@@ -12221,16 +13167,16 @@
                                                      (top)
                                                      (top)
                                                      (top))
-                                                   #("i4466"
-                                                     "i4467"
-                                                     "i4468"
-                                                     "i4469"
-                                                     "i4470"))
+                                                   #("i16708"
+                                                     "i16709"
+                                                     "i16710"
+                                                     "i16711"
+                                                     "i16712"))
                                                  #(ribcage () () ())
                                                  #(ribcage
                                                    #(x)
                                                    #((top))
-                                                   #("i4443")))
+                                                   #("i16685")))
                                                 (hygiene guile))
                                              (cons '#(syntax-object
                                                       list
@@ -12242,20 +13188,20 @@
                                                            (top)
                                                            (top)
                                                            (top))
-                                                         #("i4466"
-                                                           "i4467"
-                                                           "i4468"
-                                                           "i4469"
-                                                           "i4470"))
+                                                         #("i16708"
+                                                           "i16709"
+                                                           "i16710"
+                                                           "i16711"
+                                                           "i16712"))
                                                        #(ribcage () () ())
                                                        #(ribcage
                                                          #(x)
                                                          #((top))
-                                                         #("i4443")))
+                                                         #("i16685")))
                                                       (hygiene guile))
-                                                   #{in\ 4473}#)
+                                                   #{in\ 16715}#)
                                              '()
-                                             (list #{out\ 4472}#
+                                             (list #{out\ 16714}#
                                                    (cons '#(syntax-object
                                                             begin
                                                             ((top)
@@ -12270,11 +13216,11 @@
                                                                  (top)
                                                                  (top)
                                                                  (top))
-                                                               #("i4466"
-                                                                 "i4467"
-                                                                 "i4468"
-                                                                 "i4469"
-                                                                 "i4470"))
+                                                               #("i16708"
+                                                                 "i16709"
+                                                                 "i16710"
+                                                                 "i16711"
+                                                                 "i16712"))
                                                              #(ribcage
                                                                ()
                                                                ()
@@ -12282,53 +13228,53 @@
                                                              #(ribcage
                                                                #(x)
                                                                #((top))
-                                                               #("i4443")))
+                                                               #("i16685")))
                                                             (hygiene guile))
-                                                         (cons #{e1\ 4474}#
-                                                               #{e2\ 
4475}#)))))
-                                     #{tmp\ 4465}#)
+                                                         (cons #{e1\ 16716}#
+                                                               #{e2\ 
16717}#)))))
+                                     #{tmp\ 16707}#)
                               (syntax-violation
                                 #f
                                 "source expression failed to match any pattern"
-                                #{tmp\ 4444}#)))
+                                #{tmp\ 16686}#)))
                           ($sc-dispatch
-                            #{tmp\ 4444}#
+                            #{tmp\ 16686}#
                             '(any #(each (any any)) any . each-any)))))
                      ($sc-dispatch
-                       #{tmp\ 4444}#
+                       #{tmp\ 16686}#
                        '(any ((any any)) any . each-any)))))
                 ($sc-dispatch
-                  #{tmp\ 4444}#
+                  #{tmp\ 16686}#
                   '(any () any . each-any))))
-             #{x\ 4442}#))
+             #{x\ 16684}#))
           (module-name (current-module)))))
 
 (define syntax-rules
   (make-syntax-transformer
     'syntax-rules
     'macro
-    (cons (lambda (#{x\ 4479}#)
-            ((lambda (#{tmp\ 4481}#)
-               ((lambda (#{tmp\ 4482}#)
-                  (if #{tmp\ 4482}#
-                    (apply (lambda (#{_\ 4488}#
-                                    #{k\ 4489}#
-                                    #{keyword\ 4490}#
-                                    #{pattern\ 4491}#
-                                    #{template\ 4492}#)
+    (cons (lambda (#{x\ 16721}#)
+            ((lambda (#{tmp\ 16723}#)
+               ((lambda (#{tmp\ 16724}#)
+                  (if #{tmp\ 16724}#
+                    (apply (lambda (#{_\ 16730}#
+                                    #{k\ 16731}#
+                                    #{keyword\ 16732}#
+                                    #{pattern\ 16733}#
+                                    #{template\ 16734}#)
                              (list '#(syntax-object
                                       lambda
                                       ((top)
                                        #(ribcage
                                          #(_ k keyword pattern template)
                                          #((top) (top) (top) (top) (top))
-                                         #("i4483"
-                                           "i4484"
-                                           "i4485"
-                                           "i4486"
-                                           "i4487"))
+                                         #("i16725"
+                                           "i16726"
+                                           "i16727"
+                                           "i16728"
+                                           "i16729"))
                                        #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i4480")))
+                                       #(ribcage #(x) #((top)) #("i16722")))
                                       (hygiene guile))
                                    '(#(syntax-object
                                        x
@@ -12336,13 +13282,13 @@
                                         #(ribcage
                                           #(_ k keyword pattern template)
                                           #((top) (top) (top) (top) (top))
-                                          #("i4483"
-                                            "i4484"
-                                            "i4485"
-                                            "i4486"
-                                            "i4487"))
+                                          #("i16725"
+                                            "i16726"
+                                            "i16727"
+                                            "i16728"
+                                            "i16729"))
                                         #(ribcage () () ())
-                                        #(ribcage #(x) #((top)) #("i4480")))
+                                        #(ribcage #(x) #((top)) #("i16722")))
                                        (hygiene guile)))
                                    (vector
                                      '(#(syntax-object
@@ -12351,13 +13297,13 @@
                                           #(ribcage
                                             #(_ k keyword pattern template)
                                             #((top) (top) (top) (top) (top))
-                                            #("i4483"
-                                              "i4484"
-                                              "i4485"
-                                              "i4486"
-                                              "i4487"))
+                                            #("i16725"
+                                              "i16726"
+                                              "i16727"
+                                              "i16728"
+                                              "i16729"))
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i4480")))
+                                          #(ribcage #(x) #((top)) #("i16722")))
                                          (hygiene guile))
                                        .
                                        #(syntax-object
@@ -12366,13 +13312,13 @@
                                           #(ribcage
                                             #(_ k keyword pattern template)
                                             #((top) (top) (top) (top) (top))
-                                            #("i4483"
-                                              "i4484"
-                                              "i4485"
-                                              "i4486"
-                                              "i4487"))
+                                            #("i16725"
+                                              "i16726"
+                                              "i16727"
+                                              "i16728"
+                                              "i16729"))
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i4480")))
+                                          #(ribcage #(x) #((top)) #("i16722")))
                                          (hygiene guile)))
                                      (cons '#(syntax-object
                                               patterns
@@ -12388,34 +13334,34 @@
                                                    (top)
                                                    (top)
                                                    (top))
-                                                 #("i4483"
-                                                   "i4484"
-                                                   "i4485"
-                                                   "i4486"
-                                                   "i4487"))
+                                                 #("i16725"
+                                                   "i16726"
+                                                   "i16727"
+                                                   "i16728"
+                                                   "i16729"))
                                                #(ribcage () () ())
                                                #(ribcage
                                                  #(x)
                                                  #((top))
-                                                 #("i4480")))
+                                                 #("i16722")))
                                               (hygiene guile))
-                                           #{pattern\ 4491}#))
+                                           #{pattern\ 16733}#))
                                    (cons '#(syntax-object
                                             syntax-case
                                             ((top)
                                              #(ribcage
                                                #(_ k keyword pattern template)
                                                #((top) (top) (top) (top) (top))
-                                               #("i4483"
-                                                 "i4484"
-                                                 "i4485"
-                                                 "i4486"
-                                                 "i4487"))
+                                               #("i16725"
+                                                 "i16726"
+                                                 "i16727"
+                                                 "i16728"
+                                                 "i16729"))
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x)
                                                #((top))
-                                               #("i4480")))
+                                               #("i16722")))
                                             (hygiene guile))
                                          (cons '#(syntax-object
                                                   x
@@ -12431,20 +13377,20 @@
                                                        (top)
                                                        (top)
                                                        (top))
-                                                     #("i4483"
-                                                       "i4484"
-                                                       "i4485"
-                                                       "i4486"
-                                                       "i4487"))
+                                                     #("i16725"
+                                                       "i16726"
+                                                       "i16727"
+                                                       "i16728"
+                                                       "i16729"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x)
                                                      #((top))
-                                                     #("i4480")))
+                                                     #("i16722")))
                                                   (hygiene guile))
-                                               (cons #{k\ 4489}#
-                                                     (map (lambda (#{tmp\ 
4496}#
-                                                                   #{tmp\ 
4495}#)
+                                               (cons #{k\ 16731}#
+                                                     (map (lambda (#{tmp\ 
16738}#
+                                                                   #{tmp\ 
16737}#)
                                                             (list (cons 
'#(syntax-object
                                                                            
dummy
                                                                            
((top)
@@ -12459,11 +13405,11 @@
                                                                                
 (top)
                                                                                
 (top)
                                                                                
 (top))
-                                                                              
#("i4483"
-                                                                               
 "i4484"
-                                                                               
 "i4485"
-                                                                               
 "i4486"
-                                                                               
 "i4487"))
+                                                                              
#("i16725"
+                                                                               
 "i16726"
+                                                                               
 "i16727"
+                                                                               
 "i16728"
+                                                                               
 "i16729"))
                                                                             
#(ribcage
                                                                               
()
                                                                               
()
@@ -12471,10 +13417,10 @@
                                                                             
#(ribcage
                                                                               
#(x)
                                                                               
#((top))
-                                                                              
#("i4480")))
+                                                                              
#("i16722")))
                                                                            
(hygiene
                                                                              
guile))
-                                                                        #{tmp\ 
4495}#)
+                                                                        #{tmp\ 
16737}#)
                                                                   (list 
'#(syntax-object
                                                                            
syntax
                                                                            
((top)
@@ -12489,11 +13435,11 @@
                                                                                
 (top)
                                                                                
 (top)
                                                                                
 (top))
-                                                                              
#("i4483"
-                                                                               
 "i4484"
-                                                                               
 "i4485"
-                                                                               
 "i4486"
-                                                                               
 "i4487"))
+                                                                              
#("i16725"
+                                                                               
 "i16726"
+                                                                               
 "i16727"
+                                                                               
 "i16728"
+                                                                               
 "i16729"))
                                                                             
#(ribcage
                                                                               
()
                                                                               
()
@@ -12501,47 +13447,47 @@
                                                                             
#(ribcage
                                                                               
#(x)
                                                                               
#((top))
-                                                                              
#("i4480")))
+                                                                              
#("i16722")))
                                                                            
(hygiene
                                                                              
guile))
-                                                                        #{tmp\ 
4496}#)))
-                                                          #{template\ 4492}#
-                                                          #{pattern\ 
4491}#))))))
-                           #{tmp\ 4482}#)
+                                                                        #{tmp\ 
16738}#)))
+                                                          #{template\ 16734}#
+                                                          #{pattern\ 
16733}#))))))
+                           #{tmp\ 16724}#)
                     (syntax-violation
                       #f
                       "source expression failed to match any pattern"
-                      #{tmp\ 4481}#)))
+                      #{tmp\ 16723}#)))
                 ($sc-dispatch
-                  #{tmp\ 4481}#
+                  #{tmp\ 16723}#
                   '(any each-any . #(each ((any . any) any))))))
-             #{x\ 4479}#))
+             #{x\ 16721}#))
           (module-name (current-module)))))
 
 (define let*
   (make-syntax-transformer
     'let*
     'macro
-    (cons (lambda (#{x\ 4497}#)
-            ((lambda (#{tmp\ 4499}#)
-               ((lambda (#{tmp\ 4500}#)
-                  (if (if #{tmp\ 4500}#
-                        (apply (lambda (#{let*\ 4506}#
-                                        #{x\ 4507}#
-                                        #{v\ 4508}#
-                                        #{e1\ 4509}#
-                                        #{e2\ 4510}#)
-                                 (and-map identifier? #{x\ 4507}#))
-                               #{tmp\ 4500}#)
+    (cons (lambda (#{x\ 16739}#)
+            ((lambda (#{tmp\ 16741}#)
+               ((lambda (#{tmp\ 16742}#)
+                  (if (if #{tmp\ 16742}#
+                        (apply (lambda (#{let*\ 16748}#
+                                        #{x\ 16749}#
+                                        #{v\ 16750}#
+                                        #{e1\ 16751}#
+                                        #{e2\ 16752}#)
+                                 (and-map identifier? #{x\ 16749}#))
+                               #{tmp\ 16742}#)
                         #f)
-                    (apply (lambda (#{let*\ 4517}#
-                                    #{x\ 4518}#
-                                    #{v\ 4519}#
-                                    #{e1\ 4520}#
-                                    #{e2\ 4521}#)
-                             (letrec ((#{f\ 4524}#
-                                        (lambda (#{bindings\ 4525}#)
-                                          (if (null? #{bindings\ 4525}#)
+                    (apply (lambda (#{let*\ 16759}#
+                                    #{x\ 16760}#
+                                    #{v\ 16761}#
+                                    #{e1\ 16762}#
+                                    #{e2\ 16763}#)
+                             (letrec ((#{f\ 16766}#
+                                        (lambda (#{bindings\ 16767}#)
+                                          (if (null? #{bindings\ 16767}#)
                                             (cons '#(syntax-object
                                                      let
                                                      ((top)
@@ -12549,7 +13495,7 @@
                                                       #(ribcage
                                                         #(f bindings)
                                                         #((top) (top))
-                                                        #("i4522" "i4523"))
+                                                        #("i16764" "i16765"))
                                                       #(ribcage
                                                         #(let* x v e1 e2)
                                                         #((top)
@@ -12557,25 +13503,25 @@
                                                           (top)
                                                           (top)
                                                           (top))
-                                                        #("i4512"
-                                                          "i4513"
-                                                          "i4514"
-                                                          "i4515"
-                                                          "i4516"))
+                                                        #("i16754"
+                                                          "i16755"
+                                                          "i16756"
+                                                          "i16757"
+                                                          "i16758"))
                                                       #(ribcage () () ())
                                                       #(ribcage
                                                         #(x)
                                                         #((top))
-                                                        #("i4498")))
+                                                        #("i16740")))
                                                      (hygiene guile))
                                                   (cons '()
-                                                        (cons #{e1\ 4520}#
-                                                              #{e2\ 4521}#)))
-                                            ((lambda (#{tmp\ 4530}#)
-                                               ((lambda (#{tmp\ 4531}#)
-                                                  (if #{tmp\ 4531}#
-                                                    (apply (lambda (#{body\ 
4534}#
-                                                                    #{binding\ 
4535}#)
+                                                        (cons #{e1\ 16762}#
+                                                              #{e2\ 16763}#)))
+                                            ((lambda (#{tmp\ 16772}#)
+                                               ((lambda (#{tmp\ 16773}#)
+                                                  (if #{tmp\ 16773}#
+                                                    (apply (lambda (#{body\ 
16776}#
+                                                                    #{binding\ 
16777}#)
                                                              (list 
'#(syntax-object
                                                                       let
                                                                       ((top)
@@ -12584,8 +13530,8 @@
                                                                            
binding)
                                                                          
#((top)
                                                                            
(top))
-                                                                         
#("i4532"
-                                                                           
"i4533"))
+                                                                         
#("i16774"
+                                                                           
"i16775"))
                                                                        
#(ribcage
                                                                          ()
                                                                          ()
@@ -12595,8 +13541,8 @@
                                                                            
bindings)
                                                                          
#((top)
                                                                            
(top))
-                                                                         
#("i4522"
-                                                                           
"i4523"))
+                                                                         
#("i16764"
+                                                                           
"i16765"))
                                                                        
#(ribcage
                                                                          #(let*
                                                                            x
@@ -12608,11 +13554,11 @@
                                                                            
(top)
                                                                            
(top)
                                                                            
(top))
-                                                                         
#("i4512"
-                                                                           
"i4513"
-                                                                           
"i4514"
-                                                                           
"i4515"
-                                                                           
"i4516"))
+                                                                         
#("i16754"
+                                                                           
"i16755"
+                                                                           
"i16756"
+                                                                           
"i16757"
+                                                                           
"i16758"))
                                                                        
#(ribcage
                                                                          ()
                                                                          ()
@@ -12620,57 +13566,57 @@
                                                                        
#(ribcage
                                                                          #(x)
                                                                          
#((top))
-                                                                         
#("i4498")))
+                                                                         
#("i16740")))
                                                                       (hygiene
                                                                         guile))
-                                                                   (list 
#{binding\ 4535}#)
-                                                                   #{body\ 
4534}#))
-                                                           #{tmp\ 4531}#)
+                                                                   (list 
#{binding\ 16777}#)
+                                                                   #{body\ 
16776}#))
+                                                           #{tmp\ 16773}#)
                                                     (syntax-violation
                                                       #f
                                                       "source expression 
failed to match any pattern"
-                                                      #{tmp\ 4530}#)))
+                                                      #{tmp\ 16772}#)))
                                                 ($sc-dispatch
-                                                  #{tmp\ 4530}#
+                                                  #{tmp\ 16772}#
                                                   '(any any))))
-                                             (list (#{f\ 4524}#
-                                                     (cdr #{bindings\ 4525}#))
-                                                   (car #{bindings\ 
4525}#)))))))
-                               (#{f\ 4524}#
-                                 (map list #{x\ 4518}# #{v\ 4519}#))))
-                           #{tmp\ 4500}#)
+                                             (list (#{f\ 16766}#
+                                                     (cdr #{bindings\ 16767}#))
+                                                   (car #{bindings\ 
16767}#)))))))
+                               (#{f\ 16766}#
+                                 (map list #{x\ 16760}# #{v\ 16761}#))))
+                           #{tmp\ 16742}#)
                     (syntax-violation
                       #f
                       "source expression failed to match any pattern"
-                      #{tmp\ 4499}#)))
+                      #{tmp\ 16741}#)))
                 ($sc-dispatch
-                  #{tmp\ 4499}#
+                  #{tmp\ 16741}#
                   '(any #(each (any any)) any . each-any))))
-             #{x\ 4497}#))
+             #{x\ 16739}#))
           (module-name (current-module)))))
 
 (define do
   (make-syntax-transformer
     'do
     'macro
-    (cons (lambda (#{orig-x\ 4536}#)
-            ((lambda (#{tmp\ 4538}#)
-               ((lambda (#{tmp\ 4539}#)
-                  (if #{tmp\ 4539}#
-                    (apply (lambda (#{_\ 4547}#
-                                    #{var\ 4548}#
-                                    #{init\ 4549}#
-                                    #{step\ 4550}#
-                                    #{e0\ 4551}#
-                                    #{e1\ 4552}#
-                                    #{c\ 4553}#)
-                             ((lambda (#{tmp\ 4555}#)
-                                ((lambda (#{tmp\ 4556}#)
-                                   (if #{tmp\ 4556}#
-                                     (apply (lambda (#{step\ 4558}#)
-                                              ((lambda (#{tmp\ 4559}#)
-                                                 ((lambda (#{tmp\ 4560}#)
-                                                    (if #{tmp\ 4560}#
+    (cons (lambda (#{orig-x\ 16778}#)
+            ((lambda (#{tmp\ 16780}#)
+               ((lambda (#{tmp\ 16781}#)
+                  (if #{tmp\ 16781}#
+                    (apply (lambda (#{_\ 16789}#
+                                    #{var\ 16790}#
+                                    #{init\ 16791}#
+                                    #{step\ 16792}#
+                                    #{e0\ 16793}#
+                                    #{e1\ 16794}#
+                                    #{c\ 16795}#)
+                             ((lambda (#{tmp\ 16797}#)
+                                ((lambda (#{tmp\ 16798}#)
+                                   (if #{tmp\ 16798}#
+                                     (apply (lambda (#{step\ 16800}#)
+                                              ((lambda (#{tmp\ 16801}#)
+                                                 ((lambda (#{tmp\ 16802}#)
+                                                    (if #{tmp\ 16802}#
                                                       (apply (lambda ()
                                                                (list 
'#(syntax-object
                                                                         let
@@ -12678,7 +13624,7 @@
                                                                          
#(ribcage
                                                                            
#(step)
                                                                            
#((top))
-                                                                           
#("i4557"))
+                                                                           
#("i16799"))
                                                                          
#(ribcage
                                                                            #(_
                                                                              
var
@@ -12694,13 +13640,13 @@
                                                                              
(top)
                                                                              
(top)
                                                                              
(top))
-                                                                           
#("i4540"
-                                                                             
"i4541"
-                                                                             
"i4542"
-                                                                             
"i4543"
-                                                                             
"i4544"
-                                                                             
"i4545"
-                                                                             
"i4546"))
+                                                                           
#("i16782"
+                                                                             
"i16783"
+                                                                             
"i16784"
+                                                                             
"i16785"
+                                                                             
"i16786"
+                                                                             
"i16787"
+                                                                             
"i16788"))
                                                                          
#(ribcage
                                                                            ()
                                                                            ()
@@ -12708,7 +13654,7 @@
                                                                          
#(ribcage
                                                                            
#(orig-x)
                                                                            
#((top))
-                                                                           
#("i4537")))
+                                                                           
#("i16779")))
                                                                         
(hygiene
                                                                           
guile))
                                                                      
'#(syntax-object
@@ -12717,7 +13663,7 @@
                                                                          
#(ribcage
                                                                            
#(step)
                                                                            
#((top))
-                                                                           
#("i4557"))
+                                                                           
#("i16799"))
                                                                          
#(ribcage
                                                                            #(_
                                                                              
var
@@ -12733,13 +13679,13 @@
                                                                              
(top)
                                                                              
(top)
                                                                              
(top))
-                                                                           
#("i4540"
-                                                                             
"i4541"
-                                                                             
"i4542"
-                                                                             
"i4543"
-                                                                             
"i4544"
-                                                                             
"i4545"
-                                                                             
"i4546"))
+                                                                           
#("i16782"
+                                                                             
"i16783"
+                                                                             
"i16784"
+                                                                             
"i16785"
+                                                                             
"i16786"
+                                                                             
"i16787"
+                                                                             
"i16788"))
                                                                          
#(ribcage
                                                                            ()
                                                                            ()
@@ -12747,19 +13693,19 @@
                                                                          
#(ribcage
                                                                            
#(orig-x)
                                                                            
#((top))
-                                                                           
#("i4537")))
+                                                                           
#("i16779")))
                                                                         
(hygiene
                                                                           
guile))
                                                                      (map list
-                                                                          
#{var\ 4548}#
-                                                                          
#{init\ 4549}#)
+                                                                          
#{var\ 16790}#
+                                                                          
#{init\ 16791}#)
                                                                      (list 
'#(syntax-object
                                                                               
if
                                                                               
((top)
                                                                                
#(ribcage
                                                                                
  #(step)
                                                                                
  #((top))
-                                                                               
  #("i4557"))
+                                                                               
  #("i16799"))
                                                                                
#(ribcage
                                                                                
  #(_
                                                                                
    var
@@ -12775,13 +13721,13 @@
                                                                                
    (top)
                                                                                
    (top)
                                                                                
    (top))
-                                                                               
  #("i4540"
-                                                                               
    "i4541"
-                                                                               
    "i4542"
-                                                                               
    "i4543"
-                                                                               
    "i4544"
-                                                                               
    "i4545"
-                                                                               
    "i4546"))
+                                                                               
  #("i16782"
+                                                                               
    "i16783"
+                                                                               
    "i16784"
+                                                                               
    "i16785"
+                                                                               
    "i16786"
+                                                                               
    "i16787"
+                                                                               
    "i16788"))
                                                                                
#(ribcage
                                                                                
  ()
                                                                                
  ()
@@ -12789,7 +13735,7 @@
                                                                                
#(ribcage
                                                                                
  #(orig-x)
                                                                                
  #((top))
-                                                                               
  #("i4537")))
+                                                                               
  #("i16779")))
                                                                               
(hygiene
                                                                                
 guile))
                                                                            
(list '#(syntax-object
@@ -12798,7 +13744,7 @@
                                                                                
      #(ribcage
                                                                                
        #(step)
                                                                                
        #((top))
-                                                                               
        #("i4557"))
+                                                                               
        #("i16799"))
                                                                                
      #(ribcage
                                                                                
        #(_
                                                                                
          var
@@ -12814,13 +13760,13 @@
                                                                                
          (top)
                                                                                
          (top)
                                                                                
          (top))
-                                                                               
        #("i4540"
-                                                                               
          "i4541"
-                                                                               
          "i4542"
-                                                                               
          "i4543"
-                                                                               
          "i4544"
-                                                                               
          "i4545"
-                                                                               
          "i4546"))
+                                                                               
        #("i16782"
+                                                                               
          "i16783"
+                                                                               
          "i16784"
+                                                                               
          "i16785"
+                                                                               
          "i16786"
+                                                                               
          "i16787"
+                                                                               
          "i16788"))
                                                                                
      #(ribcage
                                                                                
        ()
                                                                                
        ()
@@ -12828,17 +13774,17 @@
                                                                                
      #(ribcage
                                                                                
        #(orig-x)
                                                                                
        #((top))
-                                                                               
        #("i4537")))
+                                                                               
        #("i16779")))
                                                                                
     (hygiene
                                                                                
       guile))
-                                                                               
  #{e0\ 4551}#)
+                                                                               
  #{e0\ 16793}#)
                                                                            
(cons '#(syntax-object
                                                                                
     begin
                                                                                
     ((top)
                                                                                
      #(ribcage
                                                                                
        #(step)
                                                                                
        #((top))
-                                                                               
        #("i4557"))
+                                                                               
        #("i16799"))
                                                                                
      #(ribcage
                                                                                
        #(_
                                                                                
          var
@@ -12854,13 +13800,13 @@
                                                                                
          (top)
                                                                                
          (top)
                                                                                
          (top))
-                                                                               
        #("i4540"
-                                                                               
          "i4541"
-                                                                               
          "i4542"
-                                                                               
          "i4543"
-                                                                               
          "i4544"
-                                                                               
          "i4545"
-                                                                               
          "i4546"))
+                                                                               
        #("i16782"
+                                                                               
          "i16783"
+                                                                               
          "i16784"
+                                                                               
          "i16785"
+                                                                               
          "i16786"
+                                                                               
          "i16787"
+                                                                               
          "i16788"))
                                                                                
      #(ribcage
                                                                                
        ()
                                                                                
        ()
@@ -12868,18 +13814,18 @@
                                                                                
      #(ribcage
                                                                                
        #(orig-x)
                                                                                
        #((top))
-                                                                               
        #("i4537")))
+                                                                               
        #("i16779")))
                                                                                
     (hygiene
                                                                                
       guile))
                                                                                
  (append
-                                                                               
    #{c\ 4553}#
+                                                                               
    #{c\ 16795}#
                                                                                
    (list (cons '#(syntax-object
                                                                                
                   doloop
                                                                                
                   ((top)
                                                                                
                    #(ribcage
                                                                                
                      #(step)
                                                                                
                      #((top))
-                                                                               
                      #("i4557"))
+                                                                               
                      #("i16799"))
                                                                                
                    #(ribcage
                                                                                
                      #(_
                                                                                
                        var
@@ -12895,13 +13841,13 @@
                                                                                
                        (top)
                                                                                
                        (top)
                                                                                
                        (top))
-                                                                               
                      #("i4540"
-                                                                               
                        "i4541"
-                                                                               
                        "i4542"
-                                                                               
                        "i4543"
-                                                                               
                        "i4544"
-                                                                               
                        "i4545"
-                                                                               
                        "i4546"))
+                                                                               
                      #("i16782"
+                                                                               
                        "i16783"
+                                                                               
                        "i16784"
+                                                                               
                        "i16785"
+                                                                               
                        "i16786"
+                                                                               
                        "i16787"
+                                                                               
                        "i16788"))
                                                                                
                    #(ribcage
                                                                                
                      ()
                                                                                
                      ()
@@ -12909,15 +13855,15 @@
                                                                                
                    #(ribcage
                                                                                
                      #(orig-x)
                                                                                
                      #((top))
-                                                                               
                      #("i4537")))
+                                                                               
                      #("i16779")))
                                                                                
                   (hygiene
                                                                                
                     guile))
-                                                                               
                #{step\ 4558}#)))))))
-                                                             #{tmp\ 4560}#)
-                                                      ((lambda (#{tmp\ 4565}#)
-                                                         (if #{tmp\ 4565}#
-                                                           (apply (lambda 
(#{e1\ 4568}#
-                                                                           
#{e2\ 4569}#)
+                                                                               
                #{step\ 16800}#)))))))
+                                                             #{tmp\ 16802}#)
+                                                      ((lambda (#{tmp\ 16807}#)
+                                                         (if #{tmp\ 16807}#
+                                                           (apply (lambda 
(#{e1\ 16810}#
+                                                                           
#{e2\ 16811}#)
                                                                     (list 
'#(syntax-object
                                                                              
let
                                                                              
((top)
@@ -12926,12 +13872,12 @@
                                                                                
   e2)
                                                                                
 #((top)
                                                                                
   (top))
-                                                                               
 #("i4566"
-                                                                               
   "i4567"))
+                                                                               
 #("i16808"
+                                                                               
   "i16809"))
                                                                               
#(ribcage
                                                                                
 #(step)
                                                                                
 #((top))
-                                                                               
 #("i4557"))
+                                                                               
 #("i16799"))
                                                                               
#(ribcage
                                                                                
 #(_
                                                                                
   var
@@ -12947,13 +13893,13 @@
                                                                                
   (top)
                                                                                
   (top)
                                                                                
   (top))
-                                                                               
 #("i4540"
-                                                                               
   "i4541"
-                                                                               
   "i4542"
-                                                                               
   "i4543"
-                                                                               
   "i4544"
-                                                                               
   "i4545"
-                                                                               
   "i4546"))
+                                                                               
 #("i16782"
+                                                                               
   "i16783"
+                                                                               
   "i16784"
+                                                                               
   "i16785"
+                                                                               
   "i16786"
+                                                                               
   "i16787"
+                                                                               
   "i16788"))
                                                                               
#(ribcage
                                                                                
 ()
                                                                                
 ()
@@ -12961,7 +13907,7 @@
                                                                               
#(ribcage
                                                                                
 #(orig-x)
                                                                                
 #((top))
-                                                                               
 #("i4537")))
+                                                                               
 #("i16779")))
                                                                              
(hygiene
                                                                                
guile))
                                                                           
'#(syntax-object
@@ -12972,12 +13918,12 @@
                                                                                
   e2)
                                                                                
 #((top)
                                                                                
   (top))
-                                                                               
 #("i4566"
-                                                                               
   "i4567"))
+                                                                               
 #("i16808"
+                                                                               
   "i16809"))
                                                                               
#(ribcage
                                                                                
 #(step)
                                                                                
 #((top))
-                                                                               
 #("i4557"))
+                                                                               
 #("i16799"))
                                                                               
#(ribcage
                                                                                
 #(_
                                                                                
   var
@@ -12993,13 +13939,13 @@
                                                                                
   (top)
                                                                                
   (top)
                                                                                
   (top))
-                                                                               
 #("i4540"
-                                                                               
   "i4541"
-                                                                               
   "i4542"
-                                                                               
   "i4543"
-                                                                               
   "i4544"
-                                                                               
   "i4545"
-                                                                               
   "i4546"))
+                                                                               
 #("i16782"
+                                                                               
   "i16783"
+                                                                               
   "i16784"
+                                                                               
   "i16785"
+                                                                               
   "i16786"
+                                                                               
   "i16787"
+                                                                               
   "i16788"))
                                                                               
#(ribcage
                                                                                
 ()
                                                                                
 ()
@@ -13007,12 +13953,12 @@
                                                                               
#(ribcage
                                                                                
 #(orig-x)
                                                                                
 #((top))
-                                                                               
 #("i4537")))
+                                                                               
 #("i16779")))
                                                                              
(hygiene
                                                                                
guile))
                                                                           (map 
list
-                                                                               
#{var\ 4548}#
-                                                                               
#{init\ 4549}#)
+                                                                               
#{var\ 16790}#
+                                                                               
#{init\ 16791}#)
                                                                           
(list '#(syntax-object
                                                                                
    if
                                                                                
    ((top)
@@ -13021,12 +13967,12 @@
                                                                                
         e2)
                                                                                
       #((top)
                                                                                
         (top))
-                                                                               
       #("i4566"
-                                                                               
         "i4567"))
+                                                                               
       #("i16808"
+                                                                               
         "i16809"))
                                                                                
     #(ribcage
                                                                                
       #(step)
                                                                                
       #((top))
-                                                                               
       #("i4557"))
+                                                                               
       #("i16799"))
                                                                                
     #(ribcage
                                                                                
       #(_
                                                                                
         var
@@ -13042,13 +13988,13 @@
                                                                                
         (top)
                                                                                
         (top)
                                                                                
         (top))
-                                                                               
       #("i4540"
-                                                                               
         "i4541"
-                                                                               
         "i4542"
-                                                                               
         "i4543"
-                                                                               
         "i4544"
-                                                                               
         "i4545"
-                                                                               
         "i4546"))
+                                                                               
       #("i16782"
+                                                                               
         "i16783"
+                                                                               
         "i16784"
+                                                                               
         "i16785"
+                                                                               
         "i16786"
+                                                                               
         "i16787"
+                                                                               
         "i16788"))
                                                                                
     #(ribcage
                                                                                
       ()
                                                                                
       ()
@@ -13056,10 +14002,10 @@
                                                                                
     #(ribcage
                                                                                
       #(orig-x)
                                                                                
       #((top))
-                                                                               
       #("i4537")))
+                                                                               
       #("i16779")))
                                                                                
    (hygiene
                                                                                
      guile))
-                                                                               
 #{e0\ 4551}#
+                                                                               
 #{e0\ 16793}#
                                                                                
 (cons '#(syntax-object
                                                                                
          begin
                                                                                
          ((top)
@@ -13068,12 +14014,12 @@
                                                                                
               e2)
                                                                                
             #((top)
                                                                                
               (top))
-                                                                               
             #("i4566"
-                                                                               
               "i4567"))
+                                                                               
             #("i16808"
+                                                                               
               "i16809"))
                                                                                
           #(ribcage
                                                                                
             #(step)
                                                                                
             #((top))
-                                                                               
             #("i4557"))
+                                                                               
             #("i16799"))
                                                                                
           #(ribcage
                                                                                
             #(_
                                                                                
               var
@@ -13089,13 +14035,13 @@
                                                                                
               (top)
                                                                                
               (top)
                                                                                
               (top))
-                                                                               
             #("i4540"
-                                                                               
               "i4541"
-                                                                               
               "i4542"
-                                                                               
               "i4543"
-                                                                               
               "i4544"
-                                                                               
               "i4545"
-                                                                               
               "i4546"))
+                                                                               
             #("i16782"
+                                                                               
               "i16783"
+                                                                               
               "i16784"
+                                                                               
               "i16785"
+                                                                               
               "i16786"
+                                                                               
               "i16787"
+                                                                               
               "i16788"))
                                                                                
           #(ribcage
                                                                                
             ()
                                                                                
             ()
@@ -13103,11 +14049,11 @@
                                                                                
           #(ribcage
                                                                                
             #(orig-x)
                                                                                
             #((top))
-                                                                               
             #("i4537")))
+                                                                               
             #("i16779")))
                                                                                
          (hygiene
                                                                                
            guile))
-                                                                               
       (cons #{e1\ 4568}#
-                                                                               
             #{e2\ 4569}#))
+                                                                               
       (cons #{e1\ 16810}#
+                                                                               
             #{e2\ 16811}#))
                                                                                
 (cons '#(syntax-object
                                                                                
          begin
                                                                                
          ((top)
@@ -13116,12 +14062,12 @@
                                                                                
               e2)
                                                                                
             #((top)
                                                                                
               (top))
-                                                                               
             #("i4566"
-                                                                               
               "i4567"))
+                                                                               
             #("i16808"
+                                                                               
               "i16809"))
                                                                                
           #(ribcage
                                                                                
             #(step)
                                                                                
             #((top))
-                                                                               
             #("i4557"))
+                                                                               
             #("i16799"))
                                                                                
           #(ribcage
                                                                                
             #(_
                                                                                
               var
@@ -13137,13 +14083,13 @@
                                                                                
               (top)
                                                                                
               (top)
                                                                                
               (top))
-                                                                               
             #("i4540"
-                                                                               
               "i4541"
-                                                                               
               "i4542"
-                                                                               
               "i4543"
-                                                                               
               "i4544"
-                                                                               
               "i4545"
-                                                                               
               "i4546"))
+                                                                               
             #("i16782"
+                                                                               
               "i16783"
+                                                                               
               "i16784"
+                                                                               
               "i16785"
+                                                                               
               "i16786"
+                                                                               
               "i16787"
+                                                                               
               "i16788"))
                                                                                
           #(ribcage
                                                                                
             ()
                                                                                
             ()
@@ -13151,11 +14097,11 @@
                                                                                
           #(ribcage
                                                                                
             #(orig-x)
                                                                                
             #((top))
-                                                                               
             #("i4537")))
+                                                                               
             #("i16779")))
                                                                                
          (hygiene
                                                                                
            guile))
                                                                                
       (append
-                                                                               
         #{c\ 4553}#
+                                                                               
         #{c\ 16795}#
                                                                                
         (list (cons '#(syntax-object
                                                                                
                        doloop
                                                                                
                        ((top)
@@ -13164,12 +14110,12 @@
                                                                                
                             e2)
                                                                                
                           #((top)
                                                                                
                             (top))
-                                                                               
                           #("i4566"
-                                                                               
                             "i4567"))
+                                                                               
                           #("i16808"
+                                                                               
                             "i16809"))
                                                                                
                         #(ribcage
                                                                                
                           #(step)
                                                                                
                           #((top))
-                                                                               
                           #("i4557"))
+                                                                               
                           #("i16799"))
                                                                                
                         #(ribcage
                                                                                
                           #(_
                                                                                
                             var
@@ -13185,13 +14131,13 @@
                                                                                
                             (top)
                                                                                
                             (top)
                                                                                
                             (top))
-                                                                               
                           #("i4540"
-                                                                               
                             "i4541"
-                                                                               
                             "i4542"
-                                                                               
                             "i4543"
-                                                                               
                             "i4544"
-                                                                               
                             "i4545"
-                                                                               
                             "i4546"))
+                                                                               
                           #("i16782"
+                                                                               
                             "i16783"
+                                                                               
                             "i16784"
+                                                                               
                             "i16785"
+                                                                               
                             "i16786"
+                                                                               
                             "i16787"
+                                                                               
                             "i16788"))
                                                                                
                         #(ribcage
                                                                                
                           ()
                                                                                
                           ()
@@ -13199,107 +14145,107 @@
                                                                                
                         #(ribcage
                                                                                
                           #(orig-x)
                                                                                
                           #((top))
-                                                                               
                           #("i4537")))
+                                                                               
                           #("i16779")))
                                                                                
                        (hygiene
                                                                                
                          guile))
-                                                                               
                     #{step\ 4558}#)))))))
-                                                                  #{tmp\ 
4565}#)
+                                                                               
                     #{step\ 16800}#)))))))
+                                                                  #{tmp\ 
16807}#)
                                                            (syntax-violation
                                                              #f
                                                              "source 
expression failed to match any pattern"
-                                                             #{tmp\ 4559}#)))
+                                                             #{tmp\ 16801}#)))
                                                        ($sc-dispatch
-                                                         #{tmp\ 4559}#
+                                                         #{tmp\ 16801}#
                                                          '(any . each-any)))))
                                                   ($sc-dispatch
-                                                    #{tmp\ 4559}#
+                                                    #{tmp\ 16801}#
                                                     '())))
-                                               #{e1\ 4552}#))
-                                            #{tmp\ 4556}#)
+                                               #{e1\ 16794}#))
+                                            #{tmp\ 16798}#)
                                      (syntax-violation
                                        #f
                                        "source expression failed to match any 
pattern"
-                                       #{tmp\ 4555}#)))
+                                       #{tmp\ 16797}#)))
                                  ($sc-dispatch
-                                   #{tmp\ 4555}#
+                                   #{tmp\ 16797}#
                                    'each-any)))
-                              (map (lambda (#{v\ 4576}# #{s\ 4577}#)
-                                     ((lambda (#{tmp\ 4580}#)
-                                        ((lambda (#{tmp\ 4581}#)
-                                           (if #{tmp\ 4581}#
-                                             (apply (lambda () #{v\ 4576}#)
-                                                    #{tmp\ 4581}#)
-                                             ((lambda (#{tmp\ 4582}#)
-                                                (if #{tmp\ 4582}#
-                                                  (apply (lambda (#{e\ 4584}#)
-                                                           #{e\ 4584}#)
-                                                         #{tmp\ 4582}#)
-                                                  ((lambda (#{_\ 4586}#)
+                              (map (lambda (#{v\ 16818}# #{s\ 16819}#)
+                                     ((lambda (#{tmp\ 16822}#)
+                                        ((lambda (#{tmp\ 16823}#)
+                                           (if #{tmp\ 16823}#
+                                             (apply (lambda () #{v\ 16818}#)
+                                                    #{tmp\ 16823}#)
+                                             ((lambda (#{tmp\ 16824}#)
+                                                (if #{tmp\ 16824}#
+                                                  (apply (lambda (#{e\ 16826}#)
+                                                           #{e\ 16826}#)
+                                                         #{tmp\ 16824}#)
+                                                  ((lambda (#{_\ 16828}#)
                                                      (syntax-violation
                                                        'do
                                                        "bad step expression"
-                                                       #{orig-x\ 4536}#
-                                                       #{s\ 4577}#))
-                                                   #{tmp\ 4580}#)))
+                                                       #{orig-x\ 16778}#
+                                                       #{s\ 16819}#))
+                                                   #{tmp\ 16822}#)))
                                               ($sc-dispatch
-                                                #{tmp\ 4580}#
+                                                #{tmp\ 16822}#
                                                 '(any)))))
                                          ($sc-dispatch
-                                           #{tmp\ 4580}#
+                                           #{tmp\ 16822}#
                                            '())))
-                                      #{s\ 4577}#))
-                                   #{var\ 4548}#
-                                   #{step\ 4550}#)))
-                           #{tmp\ 4539}#)
+                                      #{s\ 16819}#))
+                                   #{var\ 16790}#
+                                   #{step\ 16792}#)))
+                           #{tmp\ 16781}#)
                     (syntax-violation
                       #f
                       "source expression failed to match any pattern"
-                      #{tmp\ 4538}#)))
+                      #{tmp\ 16780}#)))
                 ($sc-dispatch
-                  #{tmp\ 4538}#
+                  #{tmp\ 16780}#
                   '(any #(each (any any . any))
                         (any . each-any)
                         .
                         each-any))))
-             #{orig-x\ 4536}#))
+             #{orig-x\ 16778}#))
           (module-name (current-module)))))
 
 (define quasiquote
   (make-syntax-transformer
     'quasiquote
     'macro
-    (cons (letrec ((#{quasicons\ 4593}#
-                     (lambda (#{x\ 4597}# #{y\ 4598}#)
-                       ((lambda (#{tmp\ 4602}#)
-                          ((lambda (#{tmp\ 4603}#)
-                             (if #{tmp\ 4603}#
-                               (apply (lambda (#{x\ 4606}# #{y\ 4607}#)
-                                        ((lambda (#{tmp\ 4608}#)
-                                           ((lambda (#{tmp\ 4609}#)
-                                              (if #{tmp\ 4609}#
-                                                (apply (lambda (#{dy\ 4611}#)
-                                                         ((lambda (#{tmp\ 
4612}#)
-                                                            ((lambda (#{tmp\ 
4613}#)
-                                                               (if #{tmp\ 
4613}#
-                                                                 (apply 
(lambda (#{dx\ 4615}#)
+    (cons (letrec ((#{quasicons\ 16835}#
+                     (lambda (#{x\ 16839}# #{y\ 16840}#)
+                       ((lambda (#{tmp\ 16844}#)
+                          ((lambda (#{tmp\ 16845}#)
+                             (if #{tmp\ 16845}#
+                               (apply (lambda (#{x\ 16848}# #{y\ 16849}#)
+                                        ((lambda (#{tmp\ 16850}#)
+                                           ((lambda (#{tmp\ 16851}#)
+                                              (if #{tmp\ 16851}#
+                                                (apply (lambda (#{dy\ 16853}#)
+                                                         ((lambda (#{tmp\ 
16854}#)
+                                                            ((lambda (#{tmp\ 
16855}#)
+                                                               (if #{tmp\ 
16855}#
+                                                                 (apply 
(lambda (#{dx\ 16857}#)
                                                                           
(list '#(syntax-object
                                                                                
    quote
                                                                                
    ((top)
                                                                                
     #(ribcage
                                                                                
       #(dx)
                                                                                
       #((top))
-                                                                               
       #("i4614"))
+                                                                               
       #("i16856"))
                                                                                
     #(ribcage
                                                                                
       #(dy)
                                                                                
       #((top))
-                                                                               
       #("i4610"))
+                                                                               
       #("i16852"))
                                                                                
     #(ribcage
                                                                                
       #(x
                                                                                
         y)
                                                                                
       #((top)
                                                                                
         (top))
-                                                                               
       #("i4604"
-                                                                               
         "i4605"))
+                                                                               
       #("i16846"
+                                                                               
         "i16847"))
                                                                                
     #(ribcage
                                                                                
       ()
                                                                                
       ()
@@ -13313,8 +14259,8 @@
                                                                                
         y)
                                                                                
       #((top)
                                                                                
         (top))
-                                                                               
       #("i4599"
-                                                                               
         "i4600"))
+                                                                               
       #("i16841"
+                                                                               
         "i16842"))
                                                                                
     #(ribcage
                                                                                
       #(quasicons
                                                                                
         quasiappend
@@ -13324,35 +14270,35 @@
                                                                                
         (top)
                                                                                
         (top)
                                                                                
         (top))
-                                                                               
       #("i4589"
-                                                                               
         "i4590"
-                                                                               
         "i4591"
-                                                                               
         "i4592")))
+                                                                               
       #("i16831"
+                                                                               
         "i16832"
+                                                                               
         "i16833"
+                                                                               
         "i16834")))
                                                                                
    (hygiene
                                                                                
      guile))
-                                                                               
 (cons #{dx\ 4615}#
-                                                                               
       #{dy\ 4611}#)))
-                                                                        #{tmp\ 
4613}#)
-                                                                 ((lambda 
(#{_\ 4617}#)
-                                                                    (if (null? 
#{dy\ 4611}#)
+                                                                               
 (cons #{dx\ 16857}#
+                                                                               
       #{dy\ 16853}#)))
+                                                                        #{tmp\ 
16855}#)
+                                                                 ((lambda 
(#{_\ 16859}#)
+                                                                    (if (null? 
#{dy\ 16853}#)
                                                                       (list 
'#(syntax-object
                                                                                
list
                                                                                
((top)
                                                                                
 #(ribcage
                                                                                
   #(_)
                                                                                
   #((top))
-                                                                               
   #("i4616"))
+                                                                               
   #("i16858"))
                                                                                
 #(ribcage
                                                                                
   #(dy)
                                                                                
   #((top))
-                                                                               
   #("i4610"))
+                                                                               
   #("i16852"))
                                                                                
 #(ribcage
                                                                                
   #(x
                                                                                
     y)
                                                                                
   #((top)
                                                                                
     (top))
-                                                                               
   #("i4604"
-                                                                               
     "i4605"))
+                                                                               
   #("i16846"
+                                                                               
     "i16847"))
                                                                                
 #(ribcage
                                                                                
   ()
                                                                                
   ()
@@ -13366,8 +14312,8 @@
                                                                                
     y)
                                                                                
   #((top)
                                                                                
     (top))
-                                                                               
   #("i4599"
-                                                                               
     "i4600"))
+                                                                               
   #("i16841"
+                                                                               
     "i16842"))
                                                                                
 #(ribcage
                                                                                
   #(quasicons
                                                                                
     quasiappend
@@ -13377,31 +14323,31 @@
                                                                                
     (top)
                                                                                
     (top)
                                                                                
     (top))
-                                                                               
   #("i4589"
-                                                                               
     "i4590"
-                                                                               
     "i4591"
-                                                                               
     "i4592")))
+                                                                               
   #("i16831"
+                                                                               
     "i16832"
+                                                                               
     "i16833"
+                                                                               
     "i16834")))
                                                                                
(hygiene
                                                                                
  guile))
-                                                                            
#{x\ 4606}#)
+                                                                            
#{x\ 16848}#)
                                                                       (list 
'#(syntax-object
                                                                                
cons
                                                                                
((top)
                                                                                
 #(ribcage
                                                                                
   #(_)
                                                                                
   #((top))
-                                                                               
   #("i4616"))
+                                                                               
   #("i16858"))
                                                                                
 #(ribcage
                                                                                
   #(dy)
                                                                                
   #((top))
-                                                                               
   #("i4610"))
+                                                                               
   #("i16852"))
                                                                                
 #(ribcage
                                                                                
   #(x
                                                                                
     y)
                                                                                
   #((top)
                                                                                
     (top))
-                                                                               
   #("i4604"
-                                                                               
     "i4605"))
+                                                                               
   #("i16846"
+                                                                               
     "i16847"))
                                                                                
 #(ribcage
                                                                                
   ()
                                                                                
   ()
@@ -13415,8 +14361,8 @@
                                                                                
     y)
                                                                                
   #((top)
                                                                                
     (top))
-                                                                               
   #("i4599"
-                                                                               
     "i4600"))
+                                                                               
   #("i16841"
+                                                                               
     "i16842"))
                                                                                
 #(ribcage
                                                                                
   #(quasicons
                                                                                
     quasiappend
@@ -13426,17 +14372,17 @@
                                                                                
     (top)
                                                                                
     (top)
                                                                                
     (top))
-                                                                               
   #("i4589"
-                                                                               
     "i4590"
-                                                                               
     "i4591"
-                                                                               
     "i4592")))
+                                                                               
   #("i16831"
+                                                                               
     "i16832"
+                                                                               
     "i16833"
+                                                                               
     "i16834")))
                                                                                
(hygiene
                                                                                
  guile))
-                                                                            
#{x\ 4606}#
-                                                                            
#{y\ 4607}#)))
-                                                                  #{tmp\ 
4612}#)))
+                                                                            
#{x\ 16848}#
+                                                                            
#{y\ 16849}#)))
+                                                                  #{tmp\ 
16854}#)))
                                                              ($sc-dispatch
-                                                               #{tmp\ 4612}#
+                                                               #{tmp\ 16854}#
                                                                '(#(free-id
                                                                    
#(syntax-object
                                                                      quote
@@ -13444,13 +14390,13 @@
                                                                       #(ribcage
                                                                         #(dy)
                                                                         
#((top))
-                                                                        
#("i4610"))
+                                                                        
#("i16852"))
                                                                       #(ribcage
                                                                         #(x y)
                                                                         #((top)
                                                                           
(top))
-                                                                        
#("i4604"
-                                                                          
"i4605"))
+                                                                        
#("i16846"
+                                                                          
"i16847"))
                                                                       #(ribcage
                                                                         ()
                                                                         ()
@@ -13463,8 +14409,8 @@
                                                                         #(x y)
                                                                         #((top)
                                                                           
(top))
-                                                                        
#("i4599"
-                                                                          
"i4600"))
+                                                                        
#("i16841"
+                                                                          
"i16842"))
                                                                       #(ribcage
                                                                         
#(quasicons
                                                                           
quasiappend
@@ -13474,32 +14420,32 @@
                                                                           (top)
                                                                           (top)
                                                                           
(top))
-                                                                        
#("i4589"
-                                                                          
"i4590"
-                                                                          
"i4591"
-                                                                          
"i4592")))
+                                                                        
#("i16831"
+                                                                          
"i16832"
+                                                                          
"i16833"
+                                                                          
"i16834")))
                                                                      (hygiene
                                                                        guile)))
                                                                  any))))
-                                                          #{x\ 4606}#))
-                                                       #{tmp\ 4609}#)
-                                                ((lambda (#{tmp\ 4618}#)
-                                                   (if #{tmp\ 4618}#
-                                                     (apply (lambda (#{stuff\ 
4620}#)
+                                                          #{x\ 16848}#))
+                                                       #{tmp\ 16851}#)
+                                                ((lambda (#{tmp\ 16860}#)
+                                                   (if #{tmp\ 16860}#
+                                                     (apply (lambda (#{stuff\ 
16862}#)
                                                               (cons 
'#(syntax-object
                                                                        list
                                                                        ((top)
                                                                         
#(ribcage
                                                                           
#(stuff)
                                                                           
#((top))
-                                                                          
#("i4619"))
+                                                                          
#("i16861"))
                                                                         
#(ribcage
                                                                           #(x
                                                                             y)
                                                                           
#((top)
                                                                             
(top))
-                                                                          
#("i4604"
-                                                                            
"i4605"))
+                                                                          
#("i16846"
+                                                                            
"i16847"))
                                                                         
#(ribcage
                                                                           ()
                                                                           ()
@@ -13513,8 +14459,8 @@
                                                                             y)
                                                                           
#((top)
                                                                             
(top))
-                                                                          
#("i4599"
-                                                                            
"i4600"))
+                                                                          
#("i16841"
+                                                                            
"i16842"))
                                                                         
#(ribcage
                                                                           
#(quasicons
                                                                             
quasiappend
@@ -13524,29 +14470,29 @@
                                                                             
(top)
                                                                             
(top)
                                                                             
(top))
-                                                                          
#("i4589"
-                                                                            
"i4590"
-                                                                            
"i4591"
-                                                                            
"i4592")))
+                                                                          
#("i16831"
+                                                                            
"i16832"
+                                                                            
"i16833"
+                                                                            
"i16834")))
                                                                        (hygiene
                                                                          
guile))
-                                                                    (cons #{x\ 
4606}#
-                                                                          
#{stuff\ 4620}#)))
-                                                            #{tmp\ 4618}#)
-                                                     ((lambda (#{else\ 4622}#)
+                                                                    (cons #{x\ 
16848}#
+                                                                          
#{stuff\ 16862}#)))
+                                                            #{tmp\ 16860}#)
+                                                     ((lambda (#{else\ 16864}#)
                                                         (list '#(syntax-object
                                                                  cons
                                                                  ((top)
                                                                   #(ribcage
                                                                     #(else)
                                                                     #((top))
-                                                                    #("i4621"))
+                                                                    
#("i16863"))
                                                                   #(ribcage
                                                                     #(x y)
                                                                     #((top)
                                                                       (top))
-                                                                    #("i4604"
-                                                                      "i4605"))
+                                                                    #("i16846"
+                                                                      
"i16847"))
                                                                   #(ribcage
                                                                     ()
                                                                     ()
@@ -13559,8 +14505,8 @@
                                                                     #(x y)
                                                                     #((top)
                                                                       (top))
-                                                                    #("i4599"
-                                                                      "i4600"))
+                                                                    #("i16841"
+                                                                      
"i16842"))
                                                                   #(ribcage
                                                                     #(quasicons
                                                                       
quasiappend
@@ -13570,17 +14516,17 @@
                                                                       (top)
                                                                       (top)
                                                                       (top))
-                                                                    #("i4589"
-                                                                      "i4590"
-                                                                      "i4591"
-                                                                      
"i4592")))
+                                                                    #("i16831"
+                                                                      "i16832"
+                                                                      "i16833"
+                                                                      
"i16834")))
                                                                  (hygiene
                                                                    guile))
-                                                              #{x\ 4606}#
-                                                              #{y\ 4607}#))
-                                                      #{tmp\ 4608}#)))
+                                                              #{x\ 16848}#
+                                                              #{y\ 16849}#))
+                                                      #{tmp\ 16850}#)))
                                                  ($sc-dispatch
-                                                   #{tmp\ 4608}#
+                                                   #{tmp\ 16850}#
                                                    '(#(free-id
                                                        #(syntax-object
                                                          list
@@ -13588,13 +14534,15 @@
                                                           #(ribcage
                                                             #(x y)
                                                             #((top) (top))
-                                                            #("i4604" "i4605"))
+                                                            #("i16846"
+                                                              "i16847"))
                                                           #(ribcage () () ())
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(x y)
                                                             #((top) (top))
-                                                            #("i4599" "i4600"))
+                                                            #("i16841"
+                                                              "i16842"))
                                                           #(ribcage
                                                             #(quasicons
                                                               quasiappend
@@ -13604,15 +14552,15 @@
                                                               (top)
                                                               (top)
                                                               (top))
-                                                            #("i4589"
-                                                              "i4590"
-                                                              "i4591"
-                                                              "i4592")))
+                                                            #("i16831"
+                                                              "i16832"
+                                                              "i16833"
+                                                              "i16834")))
                                                          (hygiene guile)))
                                                      .
                                                      any)))))
                                             ($sc-dispatch
-                                              #{tmp\ 4608}#
+                                              #{tmp\ 16850}#
                                               '(#(free-id
                                                   #(syntax-object
                                                     quote
@@ -13620,13 +14568,13 @@
                                                      #(ribcage
                                                        #(x y)
                                                        #((top) (top))
-                                                       #("i4604" "i4605"))
+                                                       #("i16846" "i16847"))
                                                      #(ribcage () () ())
                                                      #(ribcage () () ())
                                                      #(ribcage
                                                        #(x y)
                                                        #((top) (top))
-                                                       #("i4599" "i4600"))
+                                                       #("i16841" "i16842"))
                                                      #(ribcage
                                                        #(quasicons
                                                          quasiappend
@@ -13636,44 +14584,44 @@
                                                          (top)
                                                          (top)
                                                          (top))
-                                                       #("i4589"
-                                                         "i4590"
-                                                         "i4591"
-                                                         "i4592")))
+                                                       #("i16831"
+                                                         "i16832"
+                                                         "i16833"
+                                                         "i16834")))
                                                     (hygiene guile)))
                                                 any))))
-                                         #{y\ 4607}#))
-                                      #{tmp\ 4603}#)
+                                         #{y\ 16849}#))
+                                      #{tmp\ 16845}#)
                                (syntax-violation
                                  #f
                                  "source expression failed to match any 
pattern"
-                                 #{tmp\ 4602}#)))
-                           ($sc-dispatch #{tmp\ 4602}# (quote (any any)))))
-                        (list #{x\ 4597}# #{y\ 4598}#))))
-                   (#{quasiappend\ 4594}#
-                     (lambda (#{x\ 4623}# #{y\ 4624}#)
-                       ((lambda (#{tmp\ 4628}#)
-                          ((lambda (#{tmp\ 4629}#)
-                             (if #{tmp\ 4629}#
-                               (apply (lambda (#{x\ 4632}# #{y\ 4633}#)
-                                        ((lambda (#{tmp\ 4634}#)
-                                           ((lambda (#{tmp\ 4635}#)
-                                              (if #{tmp\ 4635}#
-                                                (apply (lambda () #{x\ 4632}#)
-                                                       #{tmp\ 4635}#)
-                                                ((lambda (#{_\ 4637}#)
+                                 #{tmp\ 16844}#)))
+                           ($sc-dispatch #{tmp\ 16844}# (quote (any any)))))
+                        (list #{x\ 16839}# #{y\ 16840}#))))
+                   (#{quasiappend\ 16836}#
+                     (lambda (#{x\ 16865}# #{y\ 16866}#)
+                       ((lambda (#{tmp\ 16870}#)
+                          ((lambda (#{tmp\ 16871}#)
+                             (if #{tmp\ 16871}#
+                               (apply (lambda (#{x\ 16874}# #{y\ 16875}#)
+                                        ((lambda (#{tmp\ 16876}#)
+                                           ((lambda (#{tmp\ 16877}#)
+                                              (if #{tmp\ 16877}#
+                                                (apply (lambda () #{x\ 16874}#)
+                                                       #{tmp\ 16877}#)
+                                                ((lambda (#{_\ 16879}#)
                                                    (list '#(syntax-object
                                                             append
                                                             ((top)
                                                              #(ribcage
                                                                #(_)
                                                                #((top))
-                                                               #("i4636"))
+                                                               #("i16878"))
                                                              #(ribcage
                                                                #(x y)
                                                                #((top) (top))
-                                                               #("i4630"
-                                                                 "i4631"))
+                                                               #("i16872"
+                                                                 "i16873"))
                                                              #(ribcage
                                                                ()
                                                                ()
@@ -13685,8 +14633,8 @@
                                                              #(ribcage
                                                                #(x y)
                                                                #((top) (top))
-                                                               #("i4625"
-                                                                 "i4626"))
+                                                               #("i16867"
+                                                                 "i16868"))
                                                              #(ribcage
                                                                #(quasicons
                                                                  quasiappend
@@ -13696,16 +14644,16 @@
                                                                  (top)
                                                                  (top)
                                                                  (top))
-                                                               #("i4589"
-                                                                 "i4590"
-                                                                 "i4591"
-                                                                 "i4592")))
+                                                               #("i16831"
+                                                                 "i16832"
+                                                                 "i16833"
+                                                                 "i16834")))
                                                             (hygiene guile))
-                                                         #{x\ 4632}#
-                                                         #{y\ 4633}#))
-                                                 #{tmp\ 4634}#)))
+                                                         #{x\ 16874}#
+                                                         #{y\ 16875}#))
+                                                 #{tmp\ 16876}#)))
                                             ($sc-dispatch
-                                              #{tmp\ 4634}#
+                                              #{tmp\ 16876}#
                                               '(#(free-id
                                                   #(syntax-object
                                                     quote
@@ -13713,13 +14661,13 @@
                                                      #(ribcage
                                                        #(x y)
                                                        #((top) (top))
-                                                       #("i4630" "i4631"))
+                                                       #("i16872" "i16873"))
                                                      #(ribcage () () ())
                                                      #(ribcage () () ())
                                                      #(ribcage
                                                        #(x y)
                                                        #((top) (top))
-                                                       #("i4625" "i4626"))
+                                                       #("i16867" "i16868"))
                                                      #(ribcage
                                                        #(quasicons
                                                          quasiappend
@@ -13729,45 +14677,45 @@
                                                          (top)
                                                          (top)
                                                          (top))
-                                                       #("i4589"
-                                                         "i4590"
-                                                         "i4591"
-                                                         "i4592")))
+                                                       #("i16831"
+                                                         "i16832"
+                                                         "i16833"
+                                                         "i16834")))
                                                     (hygiene guile)))
                                                 ()))))
-                                         #{y\ 4633}#))
-                                      #{tmp\ 4629}#)
+                                         #{y\ 16875}#))
+                                      #{tmp\ 16871}#)
                                (syntax-violation
                                  #f
                                  "source expression failed to match any 
pattern"
-                                 #{tmp\ 4628}#)))
-                           ($sc-dispatch #{tmp\ 4628}# (quote (any any)))))
-                        (list #{x\ 4623}# #{y\ 4624}#))))
-                   (#{quasivector\ 4595}#
-                     (lambda (#{x\ 4638}#)
-                       ((lambda (#{tmp\ 4641}#)
-                          ((lambda (#{x\ 4643}#)
-                             ((lambda (#{tmp\ 4644}#)
-                                ((lambda (#{tmp\ 4645}#)
-                                   (if #{tmp\ 4645}#
-                                     (apply (lambda (#{x\ 4647}#)
+                                 #{tmp\ 16870}#)))
+                           ($sc-dispatch #{tmp\ 16870}# (quote (any any)))))
+                        (list #{x\ 16865}# #{y\ 16866}#))))
+                   (#{quasivector\ 16837}#
+                     (lambda (#{x\ 16880}#)
+                       ((lambda (#{tmp\ 16883}#)
+                          ((lambda (#{x\ 16885}#)
+                             ((lambda (#{tmp\ 16886}#)
+                                ((lambda (#{tmp\ 16887}#)
+                                   (if #{tmp\ 16887}#
+                                     (apply (lambda (#{x\ 16889}#)
                                               (list '#(syntax-object
                                                        quote
                                                        ((top)
                                                         #(ribcage
                                                           #(x)
                                                           #((top))
-                                                          #("i4646"))
+                                                          #("i16888"))
                                                         #(ribcage
                                                           #(x)
                                                           #((top))
-                                                          #("i4642"))
+                                                          #("i16884"))
                                                         #(ribcage () () ())
                                                         #(ribcage () () ())
                                                         #(ribcage
                                                           #(x)
                                                           #((top))
-                                                          #("i4639"))
+                                                          #("i16881"))
                                                         #(ribcage
                                                           #(quasicons
                                                             quasiappend
@@ -13777,28 +14725,28 @@
                                                             (top)
                                                             (top)
                                                             (top))
-                                                          #("i4589"
-                                                            "i4590"
-                                                            "i4591"
-                                                            "i4592")))
+                                                          #("i16831"
+                                                            "i16832"
+                                                            "i16833"
+                                                            "i16834")))
                                                        (hygiene guile))
                                                     (list->vector
-                                                      #{x\ 4647}#)))
-                                            #{tmp\ 4645}#)
-                                     ((lambda (#{tmp\ 4649}#)
-                                        (if #{tmp\ 4649}#
-                                          (apply (lambda (#{x\ 4651}#)
+                                                      #{x\ 16889}#)))
+                                            #{tmp\ 16887}#)
+                                     ((lambda (#{tmp\ 16891}#)
+                                        (if #{tmp\ 16891}#
+                                          (apply (lambda (#{x\ 16893}#)
                                                    (cons '#(syntax-object
                                                             vector
                                                             ((top)
                                                              #(ribcage
                                                                #(x)
                                                                #((top))
-                                                               #("i4650"))
+                                                               #("i16892"))
                                                              #(ribcage
                                                                #(x)
                                                                #((top))
-                                                               #("i4642"))
+                                                               #("i16884"))
                                                              #(ribcage
                                                                ()
                                                                ()
@@ -13810,7 +14758,7 @@
                                                              #(ribcage
                                                                #(x)
                                                                #((top))
-                                                               #("i4639"))
+                                                               #("i16881"))
                                                              #(ribcage
                                                                #(quasicons
                                                                  quasiappend
@@ -13820,31 +14768,31 @@
                                                                  (top)
                                                                  (top)
                                                                  (top))
-                                                               #("i4589"
-                                                                 "i4590"
-                                                                 "i4591"
-                                                                 "i4592")))
+                                                               #("i16831"
+                                                                 "i16832"
+                                                                 "i16833"
+                                                                 "i16834")))
                                                             (hygiene guile))
-                                                         #{x\ 4651}#))
-                                                 #{tmp\ 4649}#)
-                                          ((lambda (#{_\ 4654}#)
+                                                         #{x\ 16893}#))
+                                                 #{tmp\ 16891}#)
+                                          ((lambda (#{_\ 16896}#)
                                              (list '#(syntax-object
                                                       list->vector
                                                       ((top)
                                                        #(ribcage
                                                          #(_)
                                                          #((top))
-                                                         #("i4653"))
+                                                         #("i16895"))
                                                        #(ribcage
                                                          #(x)
                                                          #((top))
-                                                         #("i4642"))
+                                                         #("i16884"))
                                                        #(ribcage () () ())
                                                        #(ribcage () () ())
                                                        #(ribcage
                                                          #(x)
                                                          #((top))
-                                                         #("i4639"))
+                                                         #("i16881"))
                                                        #(ribcage
                                                          #(quasicons
                                                            quasiappend
@@ -13854,15 +14802,15 @@
                                                            (top)
                                                            (top)
                                                            (top))
-                                                         #("i4589"
-                                                           "i4590"
-                                                           "i4591"
-                                                           "i4592")))
+                                                         #("i16831"
+                                                           "i16832"
+                                                           "i16833"
+                                                           "i16834")))
                                                       (hygiene guile))
-                                                   #{x\ 4643}#))
-                                           #{tmp\ 4644}#)))
+                                                   #{x\ 16885}#))
+                                           #{tmp\ 16886}#)))
                                       ($sc-dispatch
-                                        #{tmp\ 4644}#
+                                        #{tmp\ 16886}#
                                         '(#(free-id
                                             #(syntax-object
                                               list
@@ -13870,82 +14818,82 @@
                                                #(ribcage
                                                  #(x)
                                                  #((top))
-                                                 #("i4642"))
+                                                 #("i16884"))
                                                #(ribcage () () ())
                                                #(ribcage () () ())
                                                #(ribcage
                                                  #(x)
                                                  #((top))
-                                                 #("i4639"))
+                                                 #("i16881"))
                                                #(ribcage
                                                  #(quasicons
                                                    quasiappend
                                                    quasivector
                                                    quasi)
                                                  #((top) (top) (top) (top))
-                                                 #("i4589"
-                                                   "i4590"
-                                                   "i4591"
-                                                   "i4592")))
+                                                 #("i16831"
+                                                   "i16832"
+                                                   "i16833"
+                                                   "i16834")))
                                               (hygiene guile)))
                                           .
                                           each-any)))))
                                  ($sc-dispatch
-                                   #{tmp\ 4644}#
+                                   #{tmp\ 16886}#
                                    '(#(free-id
                                        #(syntax-object
                                          quote
                                          ((top)
-                                          #(ribcage #(x) #((top)) #("i4642"))
+                                          #(ribcage #(x) #((top)) #("i16884"))
                                           #(ribcage () () ())
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i4639"))
+                                          #(ribcage #(x) #((top)) #("i16881"))
                                           #(ribcage
                                             #(quasicons
                                               quasiappend
                                               quasivector
                                               quasi)
                                             #((top) (top) (top) (top))
-                                            #("i4589"
-                                              "i4590"
-                                              "i4591"
-                                              "i4592")))
+                                            #("i16831"
+                                              "i16832"
+                                              "i16833"
+                                              "i16834")))
                                          (hygiene guile)))
                                      each-any))))
-                              #{x\ 4643}#))
-                           #{tmp\ 4641}#))
-                        #{x\ 4638}#)))
-                   (#{quasi\ 4596}#
-                     (lambda (#{p\ 4655}# #{lev\ 4656}#)
-                       ((lambda (#{tmp\ 4659}#)
-                          ((lambda (#{tmp\ 4660}#)
-                             (if #{tmp\ 4660}#
-                               (apply (lambda (#{p\ 4662}#)
-                                        (if (= #{lev\ 4656}# 0)
-                                          #{p\ 4662}#
-                                          (#{quasicons\ 4593}#
+                              #{x\ 16885}#))
+                           #{tmp\ 16883}#))
+                        #{x\ 16880}#)))
+                   (#{quasi\ 16838}#
+                     (lambda (#{p\ 16897}# #{lev\ 16898}#)
+                       ((lambda (#{tmp\ 16901}#)
+                          ((lambda (#{tmp\ 16902}#)
+                             (if #{tmp\ 16902}#
+                               (apply (lambda (#{p\ 16904}#)
+                                        (if (= #{lev\ 16898}# 0)
+                                          #{p\ 16904}#
+                                          (#{quasicons\ 16835}#
                                             '(#(syntax-object
                                                 quote
                                                 ((top)
                                                  #(ribcage
                                                    #(p)
                                                    #((top))
-                                                   #("i4661"))
+                                                   #("i16903"))
                                                  #(ribcage () () ())
                                                  #(ribcage
                                                    #(p lev)
                                                    #((top) (top))
-                                                   #("i4657" "i4658"))
+                                                   #("i16899" "i16900"))
                                                  #(ribcage
                                                    #(quasicons
                                                      quasiappend
                                                      quasivector
                                                      quasi)
                                                    #((top) (top) (top) (top))
-                                                   #("i4589"
-                                                     "i4590"
-                                                     "i4591"
-                                                     "i4592")))
+                                                   #("i16831"
+                                                     "i16832"
+                                                     "i16833"
+                                                     "i16834")))
                                                 (hygiene guile))
                                               #(syntax-object
                                                 unquote
@@ -13953,50 +14901,51 @@
                                                  #(ribcage
                                                    #(p)
                                                    #((top))
-                                                   #("i4661"))
+                                                   #("i16903"))
                                                  #(ribcage () () ())
                                                  #(ribcage
                                                    #(p lev)
                                                    #((top) (top))
-                                                   #("i4657" "i4658"))
+                                                   #("i16899" "i16900"))
                                                  #(ribcage
                                                    #(quasicons
                                                      quasiappend
                                                      quasivector
                                                      quasi)
                                                    #((top) (top) (top) (top))
-                                                   #("i4589"
-                                                     "i4590"
-                                                     "i4591"
-                                                     "i4592")))
+                                                   #("i16831"
+                                                     "i16832"
+                                                     "i16833"
+                                                     "i16834")))
                                                 (hygiene guile)))
-                                            (#{quasi\ 4596}#
-                                              (list #{p\ 4662}#)
-                                              (- #{lev\ 4656}# 1)))))
-                                      #{tmp\ 4660}#)
-                               ((lambda (#{tmp\ 4663}#)
-                                  (if (if #{tmp\ 4663}#
-                                        (apply (lambda (#{args\ 4665}#)
-                                                 (= #{lev\ 4656}# 0))
-                                               #{tmp\ 4663}#)
+                                            (#{quasi\ 16838}#
+                                              (list #{p\ 16904}#)
+                                              (- #{lev\ 16898}# 1)))))
+                                      #{tmp\ 16902}#)
+                               ((lambda (#{tmp\ 16905}#)
+                                  (if (if #{tmp\ 16905}#
+                                        (apply (lambda (#{args\ 16907}#)
+                                                 (= #{lev\ 16898}# 0))
+                                               #{tmp\ 16905}#)
                                         #f)
-                                    (apply (lambda (#{args\ 4667}#)
+                                    (apply (lambda (#{args\ 16909}#)
                                              (syntax-violation
                                                'unquote
                                                "unquote takes exactly one 
argument"
-                                               #{p\ 4655}#
+                                               #{p\ 16897}#
                                                (cons '#(syntax-object
                                                         unquote
                                                         ((top)
                                                          #(ribcage
                                                            #(args)
                                                            #((top))
-                                                           #("i4666"))
+                                                           #("i16908"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(p lev)
                                                            #((top) (top))
-                                                           #("i4657" "i4658"))
+                                                           #("i16899"
+                                                             "i16900"))
                                                          #(ribcage
                                                            #(quasicons
                                                              quasiappend
@@ -14006,33 +14955,33 @@
                                                              (top)
                                                              (top)
                                                              (top))
-                                                           #("i4589"
-                                                             "i4590"
-                                                             "i4591"
-                                                             "i4592")))
+                                                           #("i16831"
+                                                             "i16832"
+                                                             "i16833"
+                                                             "i16834")))
                                                         (hygiene guile))
-                                                     #{args\ 4667}#)))
-                                           #{tmp\ 4663}#)
-                                    ((lambda (#{tmp\ 4668}#)
-                                       (if #{tmp\ 4668}#
-                                         (apply (lambda (#{p\ 4671}#
-                                                         #{q\ 4672}#)
-                                                  (if (= #{lev\ 4656}# 0)
-                                                    (#{quasiappend\ 4594}#
-                                                      #{p\ 4671}#
-                                                      (#{quasi\ 4596}#
-                                                        #{q\ 4672}#
-                                                        #{lev\ 4656}#))
-                                                    (#{quasicons\ 4593}#
-                                                      (#{quasicons\ 4593}#
+                                                     #{args\ 16909}#)))
+                                           #{tmp\ 16905}#)
+                                    ((lambda (#{tmp\ 16910}#)
+                                       (if #{tmp\ 16910}#
+                                         (apply (lambda (#{p\ 16913}#
+                                                         #{q\ 16914}#)
+                                                  (if (= #{lev\ 16898}# 0)
+                                                    (#{quasiappend\ 16836}#
+                                                      #{p\ 16913}#
+                                                      (#{quasi\ 16838}#
+                                                        #{q\ 16914}#
+                                                        #{lev\ 16898}#))
+                                                    (#{quasicons\ 16835}#
+                                                      (#{quasicons\ 16835}#
                                                         '(#(syntax-object
                                                             quote
                                                             ((top)
                                                              #(ribcage
                                                                #(p q)
                                                                #((top) (top))
-                                                               #("i4669"
-                                                                 "i4670"))
+                                                               #("i16911"
+                                                                 "i16912"))
                                                              #(ribcage
                                                                ()
                                                                ()
@@ -14040,8 +14989,8 @@
                                                              #(ribcage
                                                                #(p lev)
                                                                #((top) (top))
-                                                               #("i4657"
-                                                                 "i4658"))
+                                                               #("i16899"
+                                                                 "i16900"))
                                                              #(ribcage
                                                                #(quasicons
                                                                  quasiappend
@@ -14051,10 +15000,10 @@
                                                                  (top)
                                                                  (top)
                                                                  (top))
-                                                               #("i4589"
-                                                                 "i4590"
-                                                                 "i4591"
-                                                                 "i4592")))
+                                                               #("i16831"
+                                                                 "i16832"
+                                                                 "i16833"
+                                                                 "i16834")))
                                                             (hygiene guile))
                                                           #(syntax-object
                                                             unquote-splicing
@@ -14062,8 +15011,8 @@
                                                              #(ribcage
                                                                #(p q)
                                                                #((top) (top))
-                                                               #("i4669"
-                                                                 "i4670"))
+                                                               #("i16911"
+                                                                 "i16912"))
                                                              #(ribcage
                                                                ()
                                                                ()
@@ -14071,8 +15020,8 @@
                                                              #(ribcage
                                                                #(p lev)
                                                                #((top) (top))
-                                                               #("i4657"
-                                                                 "i4658"))
+                                                               #("i16899"
+                                                                 "i16900"))
                                                              #(ribcage
                                                                #(quasicons
                                                                  quasiappend
@@ -14082,31 +15031,33 @@
                                                                  (top)
                                                                  (top)
                                                                  (top))
-                                                               #("i4589"
-                                                                 "i4590"
-                                                                 "i4591"
-                                                                 "i4592")))
+                                                               #("i16831"
+                                                                 "i16832"
+                                                                 "i16833"
+                                                                 "i16834")))
                                                             (hygiene guile)))
-                                                        (#{quasi\ 4596}#
-                                                          (list #{p\ 4671}#)
-                                                          (- #{lev\ 4656}# 1)))
-                                                      (#{quasi\ 4596}#
-                                                        #{q\ 4672}#
-                                                        #{lev\ 4656}#))))
-                                                #{tmp\ 4668}#)
-                                         ((lambda (#{tmp\ 4673}#)
-                                            (if (if #{tmp\ 4673}#
-                                                  (apply (lambda (#{args\ 
4676}#
-                                                                  #{q\ 4677}#)
-                                                           (= #{lev\ 4656}# 0))
-                                                         #{tmp\ 4673}#)
+                                                        (#{quasi\ 16838}#
+                                                          (list #{p\ 16913}#)
+                                                          (- #{lev\ 16898}#
+                                                             1)))
+                                                      (#{quasi\ 16838}#
+                                                        #{q\ 16914}#
+                                                        #{lev\ 16898}#))))
+                                                #{tmp\ 16910}#)
+                                         ((lambda (#{tmp\ 16915}#)
+                                            (if (if #{tmp\ 16915}#
+                                                  (apply (lambda (#{args\ 
16918}#
+                                                                  #{q\ 16919}#)
+                                                           (= #{lev\ 16898}#
+                                                              0))
+                                                         #{tmp\ 16915}#)
                                                   #f)
-                                              (apply (lambda (#{args\ 4680}#
-                                                              #{q\ 4681}#)
+                                              (apply (lambda (#{args\ 16922}#
+                                                              #{q\ 16923}#)
                                                        (syntax-violation
                                                          'unquote-splicing
                                                          "unquote-splicing 
takes exactly one argument"
-                                                         #{p\ 4655}#
+                                                         #{p\ 16897}#
                                                          (cons '#(syntax-object
                                                                   
unquote-splicing
                                                                   ((top)
@@ -14114,8 +15065,8 @@
                                                                      #(args q)
                                                                      #((top)
                                                                        (top))
-                                                                     #("i4678"
-                                                                       
"i4679"))
+                                                                     #("i16920"
+                                                                       
"i16921"))
                                                                    #(ribcage
                                                                      ()
                                                                      ()
@@ -14124,8 +15075,8 @@
                                                                      #(p lev)
                                                                      #((top)
                                                                        (top))
-                                                                     #("i4657"
-                                                                       
"i4658"))
+                                                                     #("i16899"
+                                                                       
"i16900"))
                                                                    #(ribcage
                                                                      
#(quasicons
                                                                        
quasiappend
@@ -14135,25 +15086,25 @@
                                                                        (top)
                                                                        (top)
                                                                        (top))
-                                                                     #("i4589"
-                                                                       "i4590"
-                                                                       "i4591"
-                                                                       
"i4592")))
+                                                                     #("i16831"
+                                                                       "i16832"
+                                                                       "i16833"
+                                                                       
"i16834")))
                                                                   (hygiene
                                                                     guile))
-                                                               #{args\ 
4680}#)))
-                                                     #{tmp\ 4673}#)
-                                              ((lambda (#{tmp\ 4682}#)
-                                                 (if #{tmp\ 4682}#
-                                                   (apply (lambda (#{p\ 4684}#)
-                                                            (#{quasicons\ 
4593}#
+                                                               #{args\ 
16922}#)))
+                                                     #{tmp\ 16915}#)
+                                              ((lambda (#{tmp\ 16924}#)
+                                                 (if #{tmp\ 16924}#
+                                                   (apply (lambda (#{p\ 
16926}#)
+                                                            (#{quasicons\ 
16835}#
                                                               '(#(syntax-object
                                                                   quote
                                                                   ((top)
                                                                    #(ribcage
                                                                      #(p)
                                                                      #((top))
-                                                                     
#("i4683"))
+                                                                     
#("i16925"))
                                                                    #(ribcage
                                                                      ()
                                                                      ()
@@ -14162,8 +15113,8 @@
                                                                      #(p lev)
                                                                      #((top)
                                                                        (top))
-                                                                     #("i4657"
-                                                                       
"i4658"))
+                                                                     #("i16899"
+                                                                       
"i16900"))
                                                                    #(ribcage
                                                                      
#(quasicons
                                                                        
quasiappend
@@ -14173,10 +15124,10 @@
                                                                        (top)
                                                                        (top)
                                                                        (top))
-                                                                     #("i4589"
-                                                                       "i4590"
-                                                                       "i4591"
-                                                                       
"i4592")))
+                                                                     #("i16831"
+                                                                       "i16832"
+                                                                       "i16833"
+                                                                       
"i16834")))
                                                                   (hygiene
                                                                     guile))
                                                                 #(syntax-object
@@ -14185,7 +15136,7 @@
                                                                    #(ribcage
                                                                      #(p)
                                                                      #((top))
-                                                                     
#("i4683"))
+                                                                     
#("i16925"))
                                                                    #(ribcage
                                                                      ()
                                                                      ()
@@ -14194,8 +15145,8 @@
                                                                      #(p lev)
                                                                      #((top)
                                                                        (top))
-                                                                     #("i4657"
-                                                                       
"i4658"))
+                                                                     #("i16899"
+                                                                       
"i16900"))
                                                                    #(ribcage
                                                                      
#(quasicons
                                                                        
quasiappend
@@ -14205,45 +15156,45 @@
                                                                        (top)
                                                                        (top)
                                                                        (top))
-                                                                     #("i4589"
-                                                                       "i4590"
-                                                                       "i4591"
-                                                                       
"i4592")))
+                                                                     #("i16831"
+                                                                       "i16832"
+                                                                       "i16833"
+                                                                       
"i16834")))
                                                                   (hygiene
                                                                     guile)))
-                                                              (#{quasi\ 4596}#
-                                                                (list #{p\ 
4684}#)
-                                                                (+ #{lev\ 
4656}#
+                                                              (#{quasi\ 16838}#
+                                                                (list #{p\ 
16926}#)
+                                                                (+ #{lev\ 
16898}#
                                                                    1))))
-                                                          #{tmp\ 4682}#)
-                                                   ((lambda (#{tmp\ 4685}#)
-                                                      (if #{tmp\ 4685}#
-                                                        (apply (lambda (#{p\ 
4688}#
-                                                                        #{q\ 
4689}#)
-                                                                 (#{quasicons\ 
4593}#
-                                                                   (#{quasi\ 
4596}#
-                                                                     #{p\ 
4688}#
-                                                                     #{lev\ 
4656}#)
-                                                                   (#{quasi\ 
4596}#
-                                                                     #{q\ 
4689}#
-                                                                     #{lev\ 
4656}#)))
-                                                               #{tmp\ 4685}#)
-                                                        ((lambda (#{tmp\ 
4690}#)
-                                                           (if #{tmp\ 4690}#
-                                                             (apply (lambda 
(#{x\ 4692}#)
-                                                                      
(#{quasivector\ 4595}#
-                                                                        
(#{quasi\ 4596}#
-                                                                          #{x\ 
4692}#
-                                                                          
#{lev\ 4656}#)))
-                                                                    #{tmp\ 
4690}#)
-                                                             ((lambda (#{p\ 
4695}#)
+                                                          #{tmp\ 16924}#)
+                                                   ((lambda (#{tmp\ 16927}#)
+                                                      (if #{tmp\ 16927}#
+                                                        (apply (lambda (#{p\ 
16930}#
+                                                                        #{q\ 
16931}#)
+                                                                 (#{quasicons\ 
16835}#
+                                                                   (#{quasi\ 
16838}#
+                                                                     #{p\ 
16930}#
+                                                                     #{lev\ 
16898}#)
+                                                                   (#{quasi\ 
16838}#
+                                                                     #{q\ 
16931}#
+                                                                     #{lev\ 
16898}#)))
+                                                               #{tmp\ 16927}#)
+                                                        ((lambda (#{tmp\ 
16932}#)
+                                                           (if #{tmp\ 16932}#
+                                                             (apply (lambda 
(#{x\ 16934}#)
+                                                                      
(#{quasivector\ 16837}#
+                                                                        
(#{quasi\ 16838}#
+                                                                          #{x\ 
16934}#
+                                                                          
#{lev\ 16898}#)))
+                                                                    #{tmp\ 
16932}#)
+                                                             ((lambda (#{p\ 
16937}#)
                                                                 (list 
'#(syntax-object
                                                                          quote
                                                                          ((top)
                                                                           
#(ribcage
                                                                             
#(p)
                                                                             
#((top))
-                                                                            
#("i4694"))
+                                                                            
#("i16936"))
                                                                           
#(ribcage
                                                                             ()
                                                                             ()
@@ -14253,8 +15204,8 @@
                                                                               
lev)
                                                                             
#((top)
                                                                               
(top))
-                                                                            
#("i4657"
-                                                                              
"i4658"))
+                                                                            
#("i16899"
+                                                                              
"i16900"))
                                                                           
#(ribcage
                                                                             
#(quasicons
                                                                               
quasiappend
@@ -14264,23 +15215,23 @@
                                                                               
(top)
                                                                               
(top)
                                                                               
(top))
-                                                                            
#("i4589"
-                                                                              
"i4590"
-                                                                              
"i4591"
-                                                                              
"i4592")))
+                                                                            
#("i16831"
+                                                                              
"i16832"
+                                                                              
"i16833"
+                                                                              
"i16834")))
                                                                          
(hygiene
                                                                            
guile))
-                                                                      #{p\ 
4695}#))
-                                                              #{tmp\ 4659}#)))
+                                                                      #{p\ 
16937}#))
+                                                              #{tmp\ 16901}#)))
                                                          ($sc-dispatch
-                                                           #{tmp\ 4659}#
+                                                           #{tmp\ 16901}#
                                                            '#(vector
                                                               each-any)))))
                                                     ($sc-dispatch
-                                                      #{tmp\ 4659}#
+                                                      #{tmp\ 16901}#
                                                       '(any . any)))))
                                                ($sc-dispatch
-                                                 #{tmp\ 4659}#
+                                                 #{tmp\ 16901}#
                                                  '(#(free-id
                                                      #(syntax-object
                                                        quasiquote
@@ -14289,7 +15240,7 @@
                                                         #(ribcage
                                                           #(p lev)
                                                           #((top) (top))
-                                                          #("i4657" "i4658"))
+                                                          #("i16899" "i16900"))
                                                         #(ribcage
                                                           #(quasicons
                                                             quasiappend
@@ -14299,14 +15250,14 @@
                                                             (top)
                                                             (top)
                                                             (top))
-                                                          #("i4589"
-                                                            "i4590"
-                                                            "i4591"
-                                                            "i4592")))
+                                                          #("i16831"
+                                                            "i16832"
+                                                            "i16833"
+                                                            "i16834")))
                                                        (hygiene guile)))
                                                    any)))))
                                           ($sc-dispatch
-                                            #{tmp\ 4659}#
+                                            #{tmp\ 16901}#
                                             '((#(free-id
                                                  #(syntax-object
                                                    unquote-splicing
@@ -14315,7 +15266,7 @@
                                                     #(ribcage
                                                       #(p lev)
                                                       #((top) (top))
-                                                      #("i4657" "i4658"))
+                                                      #("i16899" "i16900"))
                                                     #(ribcage
                                                       #(quasicons
                                                         quasiappend
@@ -14325,17 +15276,17 @@
                                                         (top)
                                                         (top)
                                                         (top))
-                                                      #("i4589"
-                                                        "i4590"
-                                                        "i4591"
-                                                        "i4592")))
+                                                      #("i16831"
+                                                        "i16832"
+                                                        "i16833"
+                                                        "i16834")))
                                                    (hygiene guile)))
                                                .
                                                any)
                                               .
                                               any)))))
                                      ($sc-dispatch
-                                       #{tmp\ 4659}#
+                                       #{tmp\ 16901}#
                                        '((#(free-id
                                             #(syntax-object
                                               unquote-splicing
@@ -14344,23 +15295,23 @@
                                                #(ribcage
                                                  #(p lev)
                                                  #((top) (top))
-                                                 #("i4657" "i4658"))
+                                                 #("i16899" "i16900"))
                                                #(ribcage
                                                  #(quasicons
                                                    quasiappend
                                                    quasivector
                                                    quasi)
                                                  #((top) (top) (top) (top))
-                                                 #("i4589"
-                                                   "i4590"
-                                                   "i4591"
-                                                   "i4592")))
+                                                 #("i16831"
+                                                   "i16832"
+                                                   "i16833"
+                                                   "i16834")))
                                               (hygiene guile)))
                                           any)
                                          .
                                          any)))))
                                 ($sc-dispatch
-                                  #{tmp\ 4659}#
+                                  #{tmp\ 16901}#
                                   '(#(free-id
                                       #(syntax-object
                                         unquote
@@ -14369,19 +15320,22 @@
                                          #(ribcage
                                            #(p lev)
                                            #((top) (top))
-                                           #("i4657" "i4658"))
+                                           #("i16899" "i16900"))
                                          #(ribcage
                                            #(quasicons
                                              quasiappend
                                              quasivector
                                              quasi)
                                            #((top) (top) (top) (top))
-                                           #("i4589" "i4590" "i4591" "i4592")))
+                                           #("i16831"
+                                             "i16832"
+                                             "i16833"
+                                             "i16834")))
                                         (hygiene guile)))
                                     .
                                     any)))))
                            ($sc-dispatch
-                             #{tmp\ 4659}#
+                             #{tmp\ 16901}#
                              '(#(free-id
                                  #(syntax-object
                                    unquote
@@ -14390,244 +15344,244 @@
                                     #(ribcage
                                       #(p lev)
                                       #((top) (top))
-                                      #("i4657" "i4658"))
+                                      #("i16899" "i16900"))
                                     #(ribcage
                                       #(quasicons
                                         quasiappend
                                         quasivector
                                         quasi)
                                       #((top) (top) (top) (top))
-                                      #("i4589" "i4590" "i4591" "i4592")))
+                                      #("i16831" "i16832" "i16833" "i16834")))
                                    (hygiene guile)))
                                any))))
-                        #{p\ 4655}#))))
-            (lambda (#{x\ 4696}#)
-              ((lambda (#{tmp\ 4698}#)
-                 ((lambda (#{tmp\ 4699}#)
-                    (if #{tmp\ 4699}#
-                      (apply (lambda (#{_\ 4702}# #{e\ 4703}#)
-                               (#{quasi\ 4596}# #{e\ 4703}# 0))
-                             #{tmp\ 4699}#)
+                        #{p\ 16897}#))))
+            (lambda (#{x\ 16938}#)
+              ((lambda (#{tmp\ 16940}#)
+                 ((lambda (#{tmp\ 16941}#)
+                    (if #{tmp\ 16941}#
+                      (apply (lambda (#{_\ 16944}# #{e\ 16945}#)
+                               (#{quasi\ 16838}# #{e\ 16945}# 0))
+                             #{tmp\ 16941}#)
                       (syntax-violation
                         #f
                         "source expression failed to match any pattern"
-                        #{tmp\ 4698}#)))
-                  ($sc-dispatch #{tmp\ 4698}# (quote (any any)))))
-               #{x\ 4696}#)))
+                        #{tmp\ 16940}#)))
+                  ($sc-dispatch #{tmp\ 16940}# (quote (any any)))))
+               #{x\ 16938}#)))
           (module-name (current-module)))))
 
 (define include
   (make-syntax-transformer
     'include
     'macro
-    (cons (lambda (#{x\ 4704}#)
-            (letrec ((#{read-file\ 4707}#
-                       (lambda (#{fn\ 4708}# #{k\ 4709}#)
-                         (let ((#{p\ 4713}# (open-input-file #{fn\ 4708}#)))
-                           (letrec ((#{f\ 4717}#
-                                      (lambda (#{x\ 4718}# #{result\ 4719}#)
-                                        (if (eof-object? #{x\ 4718}#)
+    (cons (lambda (#{x\ 16946}#)
+            (letrec ((#{read-file\ 16949}#
+                       (lambda (#{fn\ 16950}# #{k\ 16951}#)
+                         (let ((#{p\ 16955}# (open-input-file #{fn\ 16950}#)))
+                           (letrec ((#{f\ 16959}#
+                                      (lambda (#{x\ 16960}# #{result\ 16961}#)
+                                        (if (eof-object? #{x\ 16960}#)
                                           (begin
-                                            (close-input-port #{p\ 4713}#)
-                                            (reverse #{result\ 4719}#))
-                                          (#{f\ 4717}#
-                                            (read #{p\ 4713}#)
+                                            (close-input-port #{p\ 16955}#)
+                                            (reverse #{result\ 16961}#))
+                                          (#{f\ 16959}#
+                                            (read #{p\ 16955}#)
                                             (cons (datum->syntax
-                                                    #{k\ 4709}#
-                                                    #{x\ 4718}#)
-                                                  #{result\ 4719}#))))))
-                             (#{f\ 4717}# (read #{p\ 4713}#) (quote ())))))))
-              ((lambda (#{tmp\ 4720}#)
-                 ((lambda (#{tmp\ 4721}#)
-                    (if #{tmp\ 4721}#
-                      (apply (lambda (#{k\ 4724}# #{filename\ 4725}#)
-                               (let ((#{fn\ 4727}#
-                                       (syntax->datum #{filename\ 4725}#)))
-                                 ((lambda (#{tmp\ 4729}#)
-                                    ((lambda (#{tmp\ 4730}#)
-                                       (if #{tmp\ 4730}#
-                                         (apply (lambda (#{exp\ 4732}#)
+                                                    #{k\ 16951}#
+                                                    #{x\ 16960}#)
+                                                  #{result\ 16961}#))))))
+                             (#{f\ 16959}# (read #{p\ 16955}#) (quote ())))))))
+              ((lambda (#{tmp\ 16962}#)
+                 ((lambda (#{tmp\ 16963}#)
+                    (if #{tmp\ 16963}#
+                      (apply (lambda (#{k\ 16966}# #{filename\ 16967}#)
+                               (let ((#{fn\ 16969}#
+                                       (syntax->datum #{filename\ 16967}#)))
+                                 ((lambda (#{tmp\ 16971}#)
+                                    ((lambda (#{tmp\ 16972}#)
+                                       (if #{tmp\ 16972}#
+                                         (apply (lambda (#{exp\ 16974}#)
                                                   (cons '#(syntax-object
                                                            begin
                                                            ((top)
                                                             #(ribcage
                                                               #(exp)
                                                               #((top))
-                                                              #("i4731"))
+                                                              #("i16973"))
                                                             #(ribcage () () ())
                                                             #(ribcage () () ())
                                                             #(ribcage
                                                               #(fn)
                                                               #((top))
-                                                              #("i4726"))
+                                                              #("i16968"))
                                                             #(ribcage
                                                               #(k filename)
                                                               #((top) (top))
-                                                              #("i4722"
-                                                                "i4723"))
+                                                              #("i16964"
+                                                                "i16965"))
                                                             #(ribcage
                                                               (read-file)
                                                               ((top))
-                                                              ("i4706"))
+                                                              ("i16948"))
                                                             #(ribcage
                                                               #(x)
                                                               #((top))
-                                                              #("i4705")))
+                                                              #("i16947")))
                                                            (hygiene guile))
-                                                        #{exp\ 4732}#))
-                                                #{tmp\ 4730}#)
+                                                        #{exp\ 16974}#))
+                                                #{tmp\ 16972}#)
                                          (syntax-violation
                                            #f
                                            "source expression failed to match 
any pattern"
-                                           #{tmp\ 4729}#)))
+                                           #{tmp\ 16971}#)))
                                      ($sc-dispatch
-                                       #{tmp\ 4729}#
+                                       #{tmp\ 16971}#
                                        'each-any)))
-                                  (#{read-file\ 4707}#
-                                    #{fn\ 4727}#
-                                    #{k\ 4724}#))))
-                             #{tmp\ 4721}#)
+                                  (#{read-file\ 16949}#
+                                    #{fn\ 16969}#
+                                    #{k\ 16966}#))))
+                             #{tmp\ 16963}#)
                       (syntax-violation
                         #f
                         "source expression failed to match any pattern"
-                        #{tmp\ 4720}#)))
-                  ($sc-dispatch #{tmp\ 4720}# (quote (any any)))))
-               #{x\ 4704}#)))
+                        #{tmp\ 16962}#)))
+                  ($sc-dispatch #{tmp\ 16962}# (quote (any any)))))
+               #{x\ 16946}#)))
           (module-name (current-module)))))
 
 (define include-from-path
   (make-syntax-transformer
     'include-from-path
     'macro
-    (cons (lambda (#{x\ 4734}#)
-            ((lambda (#{tmp\ 4736}#)
-               ((lambda (#{tmp\ 4737}#)
-                  (if #{tmp\ 4737}#
-                    (apply (lambda (#{k\ 4740}# #{filename\ 4741}#)
-                             (let ((#{fn\ 4743}#
-                                     (syntax->datum #{filename\ 4741}#)))
-                               ((lambda (#{tmp\ 4745}#)
-                                  ((lambda (#{fn\ 4747}#)
+    (cons (lambda (#{x\ 16976}#)
+            ((lambda (#{tmp\ 16978}#)
+               ((lambda (#{tmp\ 16979}#)
+                  (if #{tmp\ 16979}#
+                    (apply (lambda (#{k\ 16982}# #{filename\ 16983}#)
+                             (let ((#{fn\ 16985}#
+                                     (syntax->datum #{filename\ 16983}#)))
+                               ((lambda (#{tmp\ 16987}#)
+                                  ((lambda (#{fn\ 16989}#)
                                      (list '#(syntax-object
                                               include
                                               ((top)
                                                #(ribcage
                                                  #(fn)
                                                  #((top))
-                                                 #("i4746"))
+                                                 #("i16988"))
                                                #(ribcage () () ())
                                                #(ribcage () () ())
                                                #(ribcage
                                                  #(fn)
                                                  #((top))
-                                                 #("i4742"))
+                                                 #("i16984"))
                                                #(ribcage
                                                  #(k filename)
                                                  #((top) (top))
-                                                 #("i4738" "i4739"))
+                                                 #("i16980" "i16981"))
                                                #(ribcage () () ())
                                                #(ribcage
                                                  #(x)
                                                  #((top))
-                                                 #("i4735")))
+                                                 #("i16977")))
                                               (hygiene guile))
-                                           #{fn\ 4747}#))
-                                   #{tmp\ 4745}#))
-                                (let ((#{t\ 4750}#
-                                        (%search-load-path #{fn\ 4743}#)))
-                                  (if #{t\ 4750}#
-                                    #{t\ 4750}#
+                                           #{fn\ 16989}#))
+                                   #{tmp\ 16987}#))
+                                (let ((#{t\ 16992}#
+                                        (%search-load-path #{fn\ 16985}#)))
+                                  (if #{t\ 16992}#
+                                    #{t\ 16992}#
                                     (syntax-violation
                                       'include-from-path
                                       "file not found in path"
-                                      #{x\ 4734}#
-                                      #{filename\ 4741}#))))))
-                           #{tmp\ 4737}#)
+                                      #{x\ 16976}#
+                                      #{filename\ 16983}#))))))
+                           #{tmp\ 16979}#)
                     (syntax-violation
                       #f
                       "source expression failed to match any pattern"
-                      #{tmp\ 4736}#)))
-                ($sc-dispatch #{tmp\ 4736}# (quote (any any)))))
-             #{x\ 4734}#))
+                      #{tmp\ 16978}#)))
+                ($sc-dispatch #{tmp\ 16978}# (quote (any any)))))
+             #{x\ 16976}#))
           (module-name (current-module)))))
 
 (define unquote
   (make-syntax-transformer
     'unquote
     'macro
-    (cons (lambda (#{x\ 4752}#)
-            ((lambda (#{tmp\ 4754}#)
-               ((lambda (#{tmp\ 4755}#)
-                  (if #{tmp\ 4755}#
-                    (apply (lambda (#{_\ 4758}# #{e\ 4759}#)
+    (cons (lambda (#{x\ 16994}#)
+            ((lambda (#{tmp\ 16996}#)
+               ((lambda (#{tmp\ 16997}#)
+                  (if #{tmp\ 16997}#
+                    (apply (lambda (#{_\ 17000}# #{e\ 17001}#)
                              (syntax-violation
                                'unquote
                                "expression not valid outside of quasiquote"
-                               #{x\ 4752}#))
-                           #{tmp\ 4755}#)
+                               #{x\ 16994}#))
+                           #{tmp\ 16997}#)
                     (syntax-violation
                       #f
                       "source expression failed to match any pattern"
-                      #{tmp\ 4754}#)))
-                ($sc-dispatch #{tmp\ 4754}# (quote (any any)))))
-             #{x\ 4752}#))
+                      #{tmp\ 16996}#)))
+                ($sc-dispatch #{tmp\ 16996}# (quote (any any)))))
+             #{x\ 16994}#))
           (module-name (current-module)))))
 
 (define unquote-splicing
   (make-syntax-transformer
     'unquote-splicing
     'macro
-    (cons (lambda (#{x\ 4760}#)
-            ((lambda (#{tmp\ 4762}#)
-               ((lambda (#{tmp\ 4763}#)
-                  (if #{tmp\ 4763}#
-                    (apply (lambda (#{_\ 4766}# #{e\ 4767}#)
+    (cons (lambda (#{x\ 17002}#)
+            ((lambda (#{tmp\ 17004}#)
+               ((lambda (#{tmp\ 17005}#)
+                  (if #{tmp\ 17005}#
+                    (apply (lambda (#{_\ 17008}# #{e\ 17009}#)
                              (syntax-violation
                                'unquote-splicing
                                "expression not valid outside of quasiquote"
-                               #{x\ 4760}#))
-                           #{tmp\ 4763}#)
+                               #{x\ 17002}#))
+                           #{tmp\ 17005}#)
                     (syntax-violation
                       #f
                       "source expression failed to match any pattern"
-                      #{tmp\ 4762}#)))
-                ($sc-dispatch #{tmp\ 4762}# (quote (any any)))))
-             #{x\ 4760}#))
+                      #{tmp\ 17004}#)))
+                ($sc-dispatch #{tmp\ 17004}# (quote (any any)))))
+             #{x\ 17002}#))
           (module-name (current-module)))))
 
 (define case
   (make-syntax-transformer
     'case
     'macro
-    (cons (lambda (#{x\ 4768}#)
-            ((lambda (#{tmp\ 4770}#)
-               ((lambda (#{tmp\ 4771}#)
-                  (if #{tmp\ 4771}#
-                    (apply (lambda (#{_\ 4776}#
-                                    #{e\ 4777}#
-                                    #{m1\ 4778}#
-                                    #{m2\ 4779}#)
-                             ((lambda (#{tmp\ 4781}#)
-                                ((lambda (#{body\ 4783}#)
+    (cons (lambda (#{x\ 17010}#)
+            ((lambda (#{tmp\ 17012}#)
+               ((lambda (#{tmp\ 17013}#)
+                  (if #{tmp\ 17013}#
+                    (apply (lambda (#{_\ 17018}#
+                                    #{e\ 17019}#
+                                    #{m1\ 17020}#
+                                    #{m2\ 17021}#)
+                             ((lambda (#{tmp\ 17023}#)
+                                ((lambda (#{body\ 17025}#)
                                    (list '#(syntax-object
                                             let
                                             ((top)
                                              #(ribcage
                                                #(body)
                                                #((top))
-                                               #("i4782"))
+                                               #("i17024"))
                                              #(ribcage
                                                #(_ e m1 m2)
                                                #((top) (top) (top) (top))
-                                               #("i4772"
-                                                 "i4773"
-                                                 "i4774"
-                                                 "i4775"))
+                                               #("i17014"
+                                                 "i17015"
+                                                 "i17016"
+                                                 "i17017"))
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x)
                                                #((top))
-                                               #("i4769")))
+                                               #("i17011")))
                                             (hygiene guile))
                                          (list (list '#(syntax-object
                                                         t
@@ -14635,35 +15589,35 @@
                                                          #(ribcage
                                                            #(body)
                                                            #((top))
-                                                           #("i4782"))
+                                                           #("i17024"))
                                                          #(ribcage
                                                            #(_ e m1 m2)
                                                            #((top)
                                                              (top)
                                                              (top)
                                                              (top))
-                                                           #("i4772"
-                                                             "i4773"
-                                                             "i4774"
-                                                             "i4775"))
+                                                           #("i17014"
+                                                             "i17015"
+                                                             "i17016"
+                                                             "i17017"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(x)
                                                            #((top))
-                                                           #("i4769")))
+                                                           #("i17011")))
                                                         (hygiene guile))
-                                                     #{e\ 4777}#))
-                                         #{body\ 4783}#))
-                                 #{tmp\ 4781}#))
-                              (letrec ((#{f\ 4787}#
-                                         (lambda (#{clause\ 4788}#
-                                                  #{clauses\ 4789}#)
-                                           (if (null? #{clauses\ 4789}#)
-                                             ((lambda (#{tmp\ 4791}#)
-                                                ((lambda (#{tmp\ 4792}#)
-                                                   (if #{tmp\ 4792}#
-                                                     (apply (lambda (#{e1\ 
4795}#
-                                                                     #{e2\ 
4796}#)
+                                                     #{e\ 17019}#))
+                                         #{body\ 17025}#))
+                                 #{tmp\ 17023}#))
+                              (letrec ((#{f\ 17029}#
+                                         (lambda (#{clause\ 17030}#
+                                                  #{clauses\ 17031}#)
+                                           (if (null? #{clauses\ 17031}#)
+                                             ((lambda (#{tmp\ 17033}#)
+                                                ((lambda (#{tmp\ 17034}#)
+                                                   (if #{tmp\ 17034}#
+                                                     (apply (lambda (#{e1\ 
17037}#
+                                                                     #{e2\ 
17038}#)
                                                               (cons 
'#(syntax-object
                                                                        begin
                                                                        ((top)
@@ -14672,8 +15626,8 @@
                                                                             e2)
                                                                           
#((top)
                                                                             
(top))
-                                                                          
#("i4793"
-                                                                            
"i4794"))
+                                                                          
#("i17035"
+                                                                            
"i17036"))
                                                                         
#(ribcage
                                                                           ()
                                                                           ()
@@ -14685,9 +15639,9 @@
                                                                           
#((top)
                                                                             
(top)
                                                                             
(top))
-                                                                          
#("i4784"
-                                                                            
"i4785"
-                                                                            
"i4786"))
+                                                                          
#("i17026"
+                                                                            
"i17027"
+                                                                            
"i17028"))
                                                                         
#(ribcage
                                                                           #(_
                                                                             e
@@ -14697,10 +15651,10 @@
                                                                             
(top)
                                                                             
(top)
                                                                             
(top))
-                                                                          
#("i4772"
-                                                                            
"i4773"
-                                                                            
"i4774"
-                                                                            
"i4775"))
+                                                                          
#("i17014"
+                                                                            
"i17015"
+                                                                            
"i17016"
+                                                                            
"i17017"))
                                                                         
#(ribcage
                                                                           ()
                                                                           ()
@@ -14708,17 +15662,17 @@
                                                                         
#(ribcage
                                                                           #(x)
                                                                           
#((top))
-                                                                          
#("i4769")))
+                                                                          
#("i17011")))
                                                                        (hygiene
                                                                          
guile))
-                                                                    (cons 
#{e1\ 4795}#
-                                                                          
#{e2\ 4796}#)))
-                                                            #{tmp\ 4792}#)
-                                                     ((lambda (#{tmp\ 4798}#)
-                                                        (if #{tmp\ 4798}#
-                                                          (apply (lambda (#{k\ 
4802}#
-                                                                          
#{e1\ 4803}#
-                                                                          
#{e2\ 4804}#)
+                                                                    (cons 
#{e1\ 17037}#
+                                                                          
#{e2\ 17038}#)))
+                                                            #{tmp\ 17034}#)
+                                                     ((lambda (#{tmp\ 17040}#)
+                                                        (if #{tmp\ 17040}#
+                                                          (apply (lambda (#{k\ 
17044}#
+                                                                          
#{e1\ 17045}#
+                                                                          
#{e2\ 17046}#)
                                                                    (list 
'#(syntax-object
                                                                             if
                                                                             
((top)
@@ -14729,9 +15683,9 @@
                                                                                
#((top)
                                                                                
  (top)
                                                                                
  (top))
-                                                                               
#("i4799"
-                                                                               
  "i4800"
-                                                                               
  "i4801"))
+                                                                               
#("i17041"
+                                                                               
  "i17042"
+                                                                               
  "i17043"))
                                                                              
#(ribcage
                                                                                
()
                                                                                
()
@@ -14743,9 +15697,9 @@
                                                                                
#((top)
                                                                                
  (top)
                                                                                
  (top))
-                                                                               
#("i4784"
-                                                                               
  "i4785"
-                                                                               
  "i4786"))
+                                                                               
#("i17026"
+                                                                               
  "i17027"
+                                                                               
  "i17028"))
                                                                              
#(ribcage
                                                                                
#(_
                                                                                
  e
@@ -14755,10 +15709,10 @@
                                                                                
  (top)
                                                                                
  (top)
                                                                                
  (top))
-                                                                               
#("i4772"
-                                                                               
  "i4773"
-                                                                               
  "i4774"
-                                                                               
  "i4775"))
+                                                                               
#("i17014"
+                                                                               
  "i17015"
+                                                                               
  "i17016"
+                                                                               
  "i17017"))
                                                                              
#(ribcage
                                                                                
()
                                                                                
()
@@ -14766,7 +15720,7 @@
                                                                              
#(ribcage
                                                                                
#(x)
                                                                                
#((top))
-                                                                               
#("i4769")))
+                                                                               
#("i17011")))
                                                                             
(hygiene
                                                                               
guile))
                                                                          (list 
'#(syntax-object
@@ -14779,9 +15733,9 @@
                                                                                
      #((top)
                                                                                
        (top)
                                                                                
        (top))
-                                                                               
      #("i4799"
-                                                                               
        "i4800"
-                                                                               
        "i4801"))
+                                                                               
      #("i17041"
+                                                                               
        "i17042"
+                                                                               
        "i17043"))
                                                                                
    #(ribcage
                                                                                
      ()
                                                                                
      ()
@@ -14793,9 +15747,9 @@
                                                                                
      #((top)
                                                                                
        (top)
                                                                                
        (top))
-                                                                               
      #("i4784"
-                                                                               
        "i4785"
-                                                                               
        "i4786"))
+                                                                               
      #("i17026"
+                                                                               
        "i17027"
+                                                                               
        "i17028"))
                                                                                
    #(ribcage
                                                                                
      #(_
                                                                                
        e
@@ -14805,10 +15759,10 @@
                                                                                
        (top)
                                                                                
        (top)
                                                                                
        (top))
-                                                                               
      #("i4772"
-                                                                               
        "i4773"
-                                                                               
        "i4774"
-                                                                               
        "i4775"))
+                                                                               
      #("i17014"
+                                                                               
        "i17015"
+                                                                               
        "i17016"
+                                                                               
        "i17017"))
                                                                                
    #(ribcage
                                                                                
      ()
                                                                                
      ()
@@ -14816,7 +15770,7 @@
                                                                                
    #(ribcage
                                                                                
      #(x)
                                                                                
      #((top))
-                                                                               
      #("i4769")))
+                                                                               
      #("i17011")))
                                                                                
   (hygiene
                                                                                
     guile))
                                                                                
'#(syntax-object
@@ -14829,9 +15783,9 @@
                                                                                
      #((top)
                                                                                
        (top)
                                                                                
        (top))
-                                                                               
      #("i4799"
-                                                                               
        "i4800"
-                                                                               
        "i4801"))
+                                                                               
      #("i17041"
+                                                                               
        "i17042"
+                                                                               
        "i17043"))
                                                                                
    #(ribcage
                                                                                
      ()
                                                                                
      ()
@@ -14843,9 +15797,9 @@
                                                                                
      #((top)
                                                                                
        (top)
                                                                                
        (top))
-                                                                               
      #("i4784"
-                                                                               
        "i4785"
-                                                                               
        "i4786"))
+                                                                               
      #("i17026"
+                                                                               
        "i17027"
+                                                                               
        "i17028"))
                                                                                
    #(ribcage
                                                                                
      #(_
                                                                                
        e
@@ -14855,10 +15809,10 @@
                                                                                
        (top)
                                                                                
        (top)
                                                                                
        (top))
-                                                                               
      #("i4772"
-                                                                               
        "i4773"
-                                                                               
        "i4774"
-                                                                               
        "i4775"))
+                                                                               
      #("i17014"
+                                                                               
        "i17015"
+                                                                               
        "i17016"
+                                                                               
        "i17017"))
                                                                                
    #(ribcage
                                                                                
      ()
                                                                                
      ()
@@ -14866,7 +15820,7 @@
                                                                                
    #(ribcage
                                                                                
      #(x)
                                                                                
      #((top))
-                                                                               
      #("i4769")))
+                                                                               
      #("i17011")))
                                                                                
   (hygiene
                                                                                
     guile))
                                                                                
(list '#(syntax-object
@@ -14879,9 +15833,9 @@
                                                                                
            #((top)
                                                                                
              (top)
                                                                                
              (top))
-                                                                               
            #("i4799"
-                                                                               
              "i4800"
-                                                                               
              "i4801"))
+                                                                               
            #("i17041"
+                                                                               
              "i17042"
+                                                                               
              "i17043"))
                                                                                
          #(ribcage
                                                                                
            ()
                                                                                
            ()
@@ -14893,9 +15847,9 @@
                                                                                
            #((top)
                                                                                
              (top)
                                                                                
              (top))
-                                                                               
            #("i4784"
-                                                                               
              "i4785"
-                                                                               
              "i4786"))
+                                                                               
            #("i17026"
+                                                                               
              "i17027"
+                                                                               
              "i17028"))
                                                                                
          #(ribcage
                                                                                
            #(_
                                                                                
              e
@@ -14905,10 +15859,10 @@
                                                                                
              (top)
                                                                                
              (top)
                                                                                
              (top))
-                                                                               
            #("i4772"
-                                                                               
              "i4773"
-                                                                               
              "i4774"
-                                                                               
              "i4775"))
+                                                                               
            #("i17014"
+                                                                               
              "i17015"
+                                                                               
              "i17016"
+                                                                               
              "i17017"))
                                                                                
          #(ribcage
                                                                                
            ()
                                                                                
            ()
@@ -14916,10 +15870,10 @@
                                                                                
          #(ribcage
                                                                                
            #(x)
                                                                                
            #((top))
-                                                                               
            #("i4769")))
+                                                                               
            #("i17011")))
                                                                                
         (hygiene
                                                                                
           guile))
-                                                                               
      #{k\ 4802}#))
+                                                                               
      #{k\ 17044}#))
                                                                          (cons 
'#(syntax-object
                                                                                
   begin
                                                                                
   ((top)
@@ -14930,9 +15884,9 @@
                                                                                
      #((top)
                                                                                
        (top)
                                                                                
        (top))
-                                                                               
      #("i4799"
-                                                                               
        "i4800"
-                                                                               
        "i4801"))
+                                                                               
      #("i17041"
+                                                                               
        "i17042"
+                                                                               
        "i17043"))
                                                                                
    #(ribcage
                                                                                
      ()
                                                                                
      ()
@@ -14944,9 +15898,9 @@
                                                                                
      #((top)
                                                                                
        (top)
                                                                                
        (top))
-                                                                               
      #("i4784"
-                                                                               
        "i4785"
-                                                                               
        "i4786"))
+                                                                               
      #("i17026"
+                                                                               
        "i17027"
+                                                                               
        "i17028"))
                                                                                
    #(ribcage
                                                                                
      #(_
                                                                                
        e
@@ -14956,10 +15910,10 @@
                                                                                
        (top)
                                                                                
        (top)
                                                                                
        (top))
-                                                                               
      #("i4772"
-                                                                               
        "i4773"
-                                                                               
        "i4774"
-                                                                               
        "i4775"))
+                                                                               
      #("i17014"
+                                                                               
        "i17015"
+                                                                               
        "i17016"
+                                                                               
        "i17017"))
                                                                                
    #(ribcage
                                                                                
      ()
                                                                                
      ()
@@ -14967,27 +15921,27 @@
                                                                                
    #(ribcage
                                                                                
      #(x)
                                                                                
      #((top))
-                                                                               
      #("i4769")))
+                                                                               
      #("i17011")))
                                                                                
   (hygiene
                                                                                
     guile))
-                                                                               
(cons #{e1\ 4803}#
-                                                                               
      #{e2\ 4804}#))))
-                                                                 #{tmp\ 4798}#)
-                                                          ((lambda (#{_\ 
4808}#)
+                                                                               
(cons #{e1\ 17045}#
+                                                                               
      #{e2\ 17046}#))))
+                                                                 #{tmp\ 
17040}#)
+                                                          ((lambda (#{_\ 
17050}#)
                                                              (syntax-violation
                                                                'case
                                                                "bad clause"
-                                                               #{x\ 4768}#
-                                                               #{clause\ 
4788}#))
-                                                           #{tmp\ 4791}#)))
+                                                               #{x\ 17010}#
+                                                               #{clause\ 
17030}#))
+                                                           #{tmp\ 17033}#)))
                                                       ($sc-dispatch
-                                                        #{tmp\ 4791}#
+                                                        #{tmp\ 17033}#
                                                         '(each-any
                                                            any
                                                            .
                                                            each-any)))))
                                                  ($sc-dispatch
-                                                   #{tmp\ 4791}#
+                                                   #{tmp\ 17033}#
                                                    '(#(free-id
                                                        #(syntax-object
                                                          else
@@ -14998,37 +15952,37 @@
                                                             #((top)
                                                               (top)
                                                               (top))
-                                                            #("i4784"
-                                                              "i4785"
-                                                              "i4786"))
+                                                            #("i17026"
+                                                              "i17027"
+                                                              "i17028"))
                                                           #(ribcage
                                                             #(_ e m1 m2)
                                                             #((top)
                                                               (top)
                                                               (top)
                                                               (top))
-                                                            #("i4772"
-                                                              "i4773"
-                                                              "i4774"
-                                                              "i4775"))
+                                                            #("i17014"
+                                                              "i17015"
+                                                              "i17016"
+                                                              "i17017"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(x)
                                                             #((top))
-                                                            #("i4769")))
+                                                            #("i17011")))
                                                          (hygiene guile)))
                                                      any
                                                      .
                                                      each-any))))
-                                              #{clause\ 4788}#)
-                                             ((lambda (#{tmp\ 4810}#)
-                                                ((lambda (#{rest\ 4812}#)
-                                                   ((lambda (#{tmp\ 4813}#)
-                                                      ((lambda (#{tmp\ 4814}#)
-                                                         (if #{tmp\ 4814}#
-                                                           (apply (lambda 
(#{k\ 4818}#
-                                                                           
#{e1\ 4819}#
-                                                                           
#{e2\ 4820}#)
+                                              #{clause\ 17030}#)
+                                             ((lambda (#{tmp\ 17052}#)
+                                                ((lambda (#{rest\ 17054}#)
+                                                   ((lambda (#{tmp\ 17055}#)
+                                                      ((lambda (#{tmp\ 17056}#)
+                                                         (if #{tmp\ 17056}#
+                                                           (apply (lambda 
(#{k\ 17060}#
+                                                                           
#{e1\ 17061}#
+                                                                           
#{e2\ 17062}#)
                                                                     (list 
'#(syntax-object
                                                                              if
                                                                              
((top)
@@ -15039,13 +15993,13 @@
                                                                                
 #((top)
                                                                                
   (top)
                                                                                
   (top))
-                                                                               
 #("i4815"
-                                                                               
   "i4816"
-                                                                               
   "i4817"))
+                                                                               
 #("i17057"
+                                                                               
   "i17058"
+                                                                               
   "i17059"))
                                                                               
#(ribcage
                                                                                
 #(rest)
                                                                                
 #((top))
-                                                                               
 #("i4811"))
+                                                                               
 #("i17053"))
                                                                               
#(ribcage
                                                                                
 ()
                                                                                
 ()
@@ -15057,9 +16011,9 @@
                                                                                
 #((top)
                                                                                
   (top)
                                                                                
   (top))
-                                                                               
 #("i4784"
-                                                                               
   "i4785"
-                                                                               
   "i4786"))
+                                                                               
 #("i17026"
+                                                                               
   "i17027"
+                                                                               
   "i17028"))
                                                                               
#(ribcage
                                                                                
 #(_
                                                                                
   e
@@ -15069,10 +16023,10 @@
                                                                                
   (top)
                                                                                
   (top)
                                                                                
   (top))
-                                                                               
 #("i4772"
-                                                                               
   "i4773"
-                                                                               
   "i4774"
-                                                                               
   "i4775"))
+                                                                               
 #("i17014"
+                                                                               
   "i17015"
+                                                                               
   "i17016"
+                                                                               
   "i17017"))
                                                                               
#(ribcage
                                                                                
 ()
                                                                                
 ()
@@ -15080,7 +16034,7 @@
                                                                               
#(ribcage
                                                                                
 #(x)
                                                                                
 #((top))
-                                                                               
 #("i4769")))
+                                                                               
 #("i17011")))
                                                                              
(hygiene
                                                                                
guile))
                                                                           
(list '#(syntax-object
@@ -15093,13 +16047,13 @@
                                                                                
       #((top)
                                                                                
         (top)
                                                                                
         (top))
-                                                                               
       #("i4815"
-                                                                               
         "i4816"
-                                                                               
         "i4817"))
+                                                                               
       #("i17057"
+                                                                               
         "i17058"
+                                                                               
         "i17059"))
                                                                                
     #(ribcage
                                                                                
       #(rest)
                                                                                
       #((top))
-                                                                               
       #("i4811"))
+                                                                               
       #("i17053"))
                                                                                
     #(ribcage
                                                                                
       ()
                                                                                
       ()
@@ -15111,9 +16065,9 @@
                                                                                
       #((top)
                                                                                
         (top)
                                                                                
         (top))
-                                                                               
       #("i4784"
-                                                                               
         "i4785"
-                                                                               
         "i4786"))
+                                                                               
       #("i17026"
+                                                                               
         "i17027"
+                                                                               
         "i17028"))
                                                                                
     #(ribcage
                                                                                
       #(_
                                                                                
         e
@@ -15123,10 +16077,10 @@
                                                                                
         (top)
                                                                                
         (top)
                                                                                
         (top))
-                                                                               
       #("i4772"
-                                                                               
         "i4773"
-                                                                               
         "i4774"
-                                                                               
         "i4775"))
+                                                                               
       #("i17014"
+                                                                               
         "i17015"
+                                                                               
         "i17016"
+                                                                               
         "i17017"))
                                                                                
     #(ribcage
                                                                                
       ()
                                                                                
       ()
@@ -15134,7 +16088,7 @@
                                                                                
     #(ribcage
                                                                                
       #(x)
                                                                                
       #((top))
-                                                                               
       #("i4769")))
+                                                                               
       #("i17011")))
                                                                                
    (hygiene
                                                                                
      guile))
                                                                                
 '#(syntax-object
@@ -15147,13 +16101,13 @@
                                                                                
       #((top)
                                                                                
         (top)
                                                                                
         (top))
-                                                                               
       #("i4815"
-                                                                               
         "i4816"
-                                                                               
         "i4817"))
+                                                                               
       #("i17057"
+                                                                               
         "i17058"
+                                                                               
         "i17059"))
                                                                                
     #(ribcage
                                                                                
       #(rest)
                                                                                
       #((top))
-                                                                               
       #("i4811"))
+                                                                               
       #("i17053"))
                                                                                
     #(ribcage
                                                                                
       ()
                                                                                
       ()
@@ -15165,9 +16119,9 @@
                                                                                
       #((top)
                                                                                
         (top)
                                                                                
         (top))
-                                                                               
       #("i4784"
-                                                                               
         "i4785"
-                                                                               
         "i4786"))
+                                                                               
       #("i17026"
+                                                                               
         "i17027"
+                                                                               
         "i17028"))
                                                                                
     #(ribcage
                                                                                
       #(_
                                                                                
         e
@@ -15177,10 +16131,10 @@
                                                                                
         (top)
                                                                                
         (top)
                                                                                
         (top))
-                                                                               
       #("i4772"
-                                                                               
         "i4773"
-                                                                               
         "i4774"
-                                                                               
         "i4775"))
+                                                                               
       #("i17014"
+                                                                               
         "i17015"
+                                                                               
         "i17016"
+                                                                               
         "i17017"))
                                                                                
     #(ribcage
                                                                                
       ()
                                                                                
       ()
@@ -15188,7 +16142,7 @@
                                                                                
     #(ribcage
                                                                                
       #(x)
                                                                                
       #((top))
-                                                                               
       #("i4769")))
+                                                                               
       #("i17011")))
                                                                                
    (hygiene
                                                                                
      guile))
                                                                                
 (list '#(syntax-object
@@ -15201,13 +16155,13 @@
                                                                                
             #((top)
                                                                                
               (top)
                                                                                
               (top))
-                                                                               
             #("i4815"
-                                                                               
               "i4816"
-                                                                               
               "i4817"))
+                                                                               
             #("i17057"
+                                                                               
               "i17058"
+                                                                               
               "i17059"))
                                                                                
           #(ribcage
                                                                                
             #(rest)
                                                                                
             #((top))
-                                                                               
             #("i4811"))
+                                                                               
             #("i17053"))
                                                                                
           #(ribcage
                                                                                
             ()
                                                                                
             ()
@@ -15219,9 +16173,9 @@
                                                                                
             #((top)
                                                                                
               (top)
                                                                                
               (top))
-                                                                               
             #("i4784"
-                                                                               
               "i4785"
-                                                                               
               "i4786"))
+                                                                               
             #("i17026"
+                                                                               
               "i17027"
+                                                                               
               "i17028"))
                                                                                
           #(ribcage
                                                                                
             #(_
                                                                                
               e
@@ -15231,10 +16185,10 @@
                                                                                
               (top)
                                                                                
               (top)
                                                                                
               (top))
-                                                                               
             #("i4772"
-                                                                               
               "i4773"
-                                                                               
               "i4774"
-                                                                               
               "i4775"))
+                                                                               
             #("i17014"
+                                                                               
               "i17015"
+                                                                               
               "i17016"
+                                                                               
               "i17017"))
                                                                                
           #(ribcage
                                                                                
             ()
                                                                                
             ()
@@ -15242,10 +16196,10 @@
                                                                                
           #(ribcage
                                                                                
             #(x)
                                                                                
             #((top))
-                                                                               
             #("i4769")))
+                                                                               
             #("i17011")))
                                                                                
          (hygiene
                                                                                
            guile))
-                                                                               
       #{k\ 4818}#))
+                                                                               
       #{k\ 17060}#))
                                                                           
(cons '#(syntax-object
                                                                                
    begin
                                                                                
    ((top)
@@ -15256,13 +16210,13 @@
                                                                                
       #((top)
                                                                                
         (top)
                                                                                
         (top))
-                                                                               
       #("i4815"
-                                                                               
         "i4816"
-                                                                               
         "i4817"))
+                                                                               
       #("i17057"
+                                                                               
         "i17058"
+                                                                               
         "i17059"))
                                                                                
     #(ribcage
                                                                                
       #(rest)
                                                                                
       #((top))
-                                                                               
       #("i4811"))
+                                                                               
       #("i17053"))
                                                                                
     #(ribcage
                                                                                
       ()
                                                                                
       ()
@@ -15274,9 +16228,9 @@
                                                                                
       #((top)
                                                                                
         (top)
                                                                                
         (top))
-                                                                               
       #("i4784"
-                                                                               
         "i4785"
-                                                                               
         "i4786"))
+                                                                               
       #("i17026"
+                                                                               
         "i17027"
+                                                                               
         "i17028"))
                                                                                
     #(ribcage
                                                                                
       #(_
                                                                                
         e
@@ -15286,10 +16240,10 @@
                                                                                
         (top)
                                                                                
         (top)
                                                                                
         (top))
-                                                                               
       #("i4772"
-                                                                               
         "i4773"
-                                                                               
         "i4774"
-                                                                               
         "i4775"))
+                                                                               
       #("i17014"
+                                                                               
         "i17015"
+                                                                               
         "i17016"
+                                                                               
         "i17017"))
                                                                                
     #(ribcage
                                                                                
       ()
                                                                                
       ()
@@ -15297,61 +16251,61 @@
                                                                                
     #(ribcage
                                                                                
       #(x)
                                                                                
       #((top))
-                                                                               
       #("i4769")))
+                                                                               
       #("i17011")))
                                                                                
    (hygiene
                                                                                
      guile))
-                                                                               
 (cons #{e1\ 4819}#
-                                                                               
       #{e2\ 4820}#))
-                                                                          
#{rest\ 4812}#))
-                                                                  #{tmp\ 
4814}#)
-                                                           ((lambda (#{_\ 
4824}#)
+                                                                               
 (cons #{e1\ 17061}#
+                                                                               
       #{e2\ 17062}#))
+                                                                          
#{rest\ 17054}#))
+                                                                  #{tmp\ 
17056}#)
+                                                           ((lambda (#{_\ 
17066}#)
                                                               (syntax-violation
                                                                 'case
                                                                 "bad clause"
-                                                                #{x\ 4768}#
-                                                                #{clause\ 
4788}#))
-                                                            #{tmp\ 4813}#)))
+                                                                #{x\ 17010}#
+                                                                #{clause\ 
17030}#))
+                                                            #{tmp\ 17055}#)))
                                                        ($sc-dispatch
-                                                         #{tmp\ 4813}#
+                                                         #{tmp\ 17055}#
                                                          '(each-any
                                                             any
                                                             .
                                                             each-any))))
-                                                    #{clause\ 4788}#))
-                                                 #{tmp\ 4810}#))
-                                              (#{f\ 4787}#
-                                                (car #{clauses\ 4789}#)
-                                                (cdr #{clauses\ 4789}#)))))))
-                                (#{f\ 4787}# #{m1\ 4778}# #{m2\ 4779}#))))
-                           #{tmp\ 4771}#)
+                                                    #{clause\ 17030}#))
+                                                 #{tmp\ 17052}#))
+                                              (#{f\ 17029}#
+                                                (car #{clauses\ 17031}#)
+                                                (cdr #{clauses\ 17031}#)))))))
+                                (#{f\ 17029}# #{m1\ 17020}# #{m2\ 17021}#))))
+                           #{tmp\ 17013}#)
                     (syntax-violation
                       #f
                       "source expression failed to match any pattern"
-                      #{tmp\ 4770}#)))
+                      #{tmp\ 17012}#)))
                 ($sc-dispatch
-                  #{tmp\ 4770}#
+                  #{tmp\ 17012}#
                   '(any any any . each-any))))
-             #{x\ 4768}#))
+             #{x\ 17010}#))
           (module-name (current-module)))))
 
 (define identifier-syntax
   (make-syntax-transformer
     'identifier-syntax
     'macro
-    (cons (lambda (#{x\ 4825}#)
-            ((lambda (#{tmp\ 4827}#)
-               ((lambda (#{tmp\ 4828}#)
-                  (if #{tmp\ 4828}#
-                    (apply (lambda (#{_\ 4831}# #{e\ 4832}#)
+    (cons (lambda (#{x\ 17067}#)
+            ((lambda (#{tmp\ 17069}#)
+               ((lambda (#{tmp\ 17070}#)
+                  (if #{tmp\ 17070}#
+                    (apply (lambda (#{_\ 17073}# #{e\ 17074}#)
                              (list '#(syntax-object
                                       lambda
                                       ((top)
                                        #(ribcage
                                          #(_ e)
                                          #((top) (top))
-                                         #("i4829" "i4830"))
+                                         #("i17071" "i17072"))
                                        #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i4826")))
+                                       #(ribcage #(x) #((top)) #("i17068")))
                                       (hygiene guile))
                                    '(#(syntax-object
                                        x
@@ -15359,9 +16313,9 @@
                                         #(ribcage
                                           #(_ e)
                                           #((top) (top))
-                                          #("i4829" "i4830"))
+                                          #("i17071" "i17072"))
                                         #(ribcage () () ())
-                                        #(ribcage #(x) #((top)) #("i4826")))
+                                        #(ribcage #(x) #((top)) #("i17068")))
                                        (hygiene guile)))
                                    '#((#(syntax-object
                                          macro-type
@@ -15369,9 +16323,9 @@
                                           #(ribcage
                                             #(_ e)
                                             #((top) (top))
-                                            #("i4829" "i4830"))
+                                            #("i17071" "i17072"))
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i4826")))
+                                          #(ribcage #(x) #((top)) #("i17068")))
                                          (hygiene guile))
                                        .
                                        #(syntax-object
@@ -15380,9 +16334,9 @@
                                           #(ribcage
                                             #(_ e)
                                             #((top) (top))
-                                            #("i4829" "i4830"))
+                                            #("i17071" "i17072"))
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i4826")))
+                                          #(ribcage #(x) #((top)) #("i17068")))
                                          (hygiene guile))))
                                    (list '#(syntax-object
                                             syntax-case
@@ -15390,12 +16344,12 @@
                                              #(ribcage
                                                #(_ e)
                                                #((top) (top))
-                                               #("i4829" "i4830"))
+                                               #("i17071" "i17072"))
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x)
                                                #((top))
-                                               #("i4826")))
+                                               #("i17068")))
                                             (hygiene guile))
                                          '#(syntax-object
                                             x
@@ -15403,12 +16357,12 @@
                                              #(ribcage
                                                #(_ e)
                                                #((top) (top))
-                                               #("i4829" "i4830"))
+                                               #("i17071" "i17072"))
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x)
                                                #((top))
-                                               #("i4826")))
+                                               #("i17068")))
                                             (hygiene guile))
                                          '()
                                          (list '#(syntax-object
@@ -15417,12 +16371,12 @@
                                                    #(ribcage
                                                      #(_ e)
                                                      #((top) (top))
-                                                     #("i4829" "i4830"))
+                                                     #("i17071" "i17072"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x)
                                                      #((top))
-                                                     #("i4826")))
+                                                     #("i17068")))
                                                   (hygiene guile))
                                                '(#(syntax-object
                                                    identifier?
@@ -15430,12 +16384,12 @@
                                                     #(ribcage
                                                       #(_ e)
                                                       #((top) (top))
-                                                      #("i4829" "i4830"))
+                                                      #("i17071" "i17072"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(x)
                                                       #((top))
-                                                      #("i4826")))
+                                                      #("i17068")))
                                                    (hygiene guile))
                                                  (#(syntax-object
                                                     syntax
@@ -15443,12 +16397,12 @@
                                                      #(ribcage
                                                        #(_ e)
                                                        #((top) (top))
-                                                       #("i4829" "i4830"))
+                                                       #("i17071" "i17072"))
                                                      #(ribcage () () ())
                                                      #(ribcage
                                                        #(x)
                                                        #((top))
-                                                       #("i4826")))
+                                                       #("i17068")))
                                                     (hygiene guile))
                                                   #(syntax-object
                                                     id
@@ -15456,12 +16410,12 @@
                                                      #(ribcage
                                                        #(_ e)
                                                        #((top) (top))
-                                                       #("i4829" "i4830"))
+                                                       #("i17071" "i17072"))
                                                      #(ribcage () () ())
                                                      #(ribcage
                                                        #(x)
                                                        #((top))
-                                                       #("i4826")))
+                                                       #("i17068")))
                                                     (hygiene guile))))
                                                (list '#(syntax-object
                                                         syntax
@@ -15469,27 +16423,29 @@
                                                          #(ribcage
                                                            #(_ e)
                                                            #((top) (top))
-                                                           #("i4829" "i4830"))
+                                                           #("i17071"
+                                                             "i17072"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(x)
                                                            #((top))
-                                                           #("i4826")))
+                                                           #("i17068")))
                                                         (hygiene guile))
-                                                     #{e\ 4832}#))
-                                         (list (cons #{_\ 4831}#
+                                                     #{e\ 17074}#))
+                                         (list (cons #{_\ 17073}#
                                                      '(#(syntax-object
                                                          x
                                                          ((top)
                                                           #(ribcage
                                                             #(_ e)
                                                             #((top) (top))
-                                                            #("i4829" "i4830"))
+                                                            #("i17071"
+                                                              "i17072"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(x)
                                                             #((top))
-                                                            #("i4826")))
+                                                            #("i17068")))
                                                          (hygiene guile))
                                                        #(syntax-object
                                                          ...
@@ -15497,12 +16453,13 @@
                                                           #(ribcage
                                                             #(_ e)
                                                             #((top) (top))
-                                                            #("i4829" "i4830"))
+                                                            #("i17071"
+                                                              "i17072"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(x)
                                                             #((top))
-                                                            #("i4826")))
+                                                            #("i17068")))
                                                          (hygiene guile))))
                                                (list '#(syntax-object
                                                         syntax
@@ -15510,14 +16467,15 @@
                                                          #(ribcage
                                                            #(_ e)
                                                            #((top) (top))
-                                                           #("i4829" "i4830"))
+                                                           #("i17071"
+                                                             "i17072"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(x)
                                                            #((top))
-                                                           #("i4826")))
+                                                           #("i17068")))
                                                         (hygiene guile))
-                                                     (cons #{e\ 4832}#
+                                                     (cons #{e\ 17074}#
                                                            '(#(syntax-object
                                                                x
                                                                ((top)
@@ -15525,8 +16483,8 @@
                                                                   #(_ e)
                                                                   #((top)
                                                                     (top))
-                                                                  #("i4829"
-                                                                    "i4830"))
+                                                                  #("i17071"
+                                                                    "i17072"))
                                                                 #(ribcage
                                                                   ()
                                                                   ()
@@ -15534,7 +16492,7 @@
                                                                 #(ribcage
                                                                   #(x)
                                                                   #((top))
-                                                                  #("i4826")))
+                                                                  #("i17068")))
                                                                (hygiene guile))
                                                              #(syntax-object
                                                                ...
@@ -15543,8 +16501,8 @@
                                                                   #(_ e)
                                                                   #((top)
                                                                     (top))
-                                                                  #("i4829"
-                                                                    "i4830"))
+                                                                  #("i17071"
+                                                                    "i17072"))
                                                                 #(ribcage
                                                                   ()
                                                                   ()
@@ -15552,72 +16510,72 @@
                                                                 #(ribcage
                                                                   #(x)
                                                                   #((top))
-                                                                  #("i4826")))
+                                                                  #("i17068")))
                                                                (hygiene
                                                                  guile)))))))))
-                           #{tmp\ 4828}#)
+                           #{tmp\ 17070}#)
                     (syntax-violation
                       #f
                       "source expression failed to match any pattern"
-                      #{tmp\ 4827}#)))
-                ($sc-dispatch #{tmp\ 4827}# (quote (any any)))))
-             #{x\ 4825}#))
+                      #{tmp\ 17069}#)))
+                ($sc-dispatch #{tmp\ 17069}# (quote (any any)))))
+             #{x\ 17067}#))
           (module-name (current-module)))))
 
 (define define*
   (make-syntax-transformer
     'define*
     'macro
-    (cons (lambda (#{x\ 4833}#)
-            ((lambda (#{tmp\ 4835}#)
-               ((lambda (#{tmp\ 4836}#)
-                  (if #{tmp\ 4836}#
-                    (apply (lambda (#{_\ 4842}#
-                                    #{id\ 4843}#
-                                    #{args\ 4844}#
-                                    #{b0\ 4845}#
-                                    #{b1\ 4846}#)
+    (cons (lambda (#{x\ 17075}#)
+            ((lambda (#{tmp\ 17077}#)
+               ((lambda (#{tmp\ 17078}#)
+                  (if #{tmp\ 17078}#
+                    (apply (lambda (#{_\ 17084}#
+                                    #{id\ 17085}#
+                                    #{args\ 17086}#
+                                    #{b0\ 17087}#
+                                    #{b1\ 17088}#)
                              (list '#(syntax-object
                                       define
                                       ((top)
                                        #(ribcage
                                          #(_ id args b0 b1)
                                          #((top) (top) (top) (top) (top))
-                                         #("i4837"
-                                           "i4838"
-                                           "i4839"
-                                           "i4840"
-                                           "i4841"))
+                                         #("i17079"
+                                           "i17080"
+                                           "i17081"
+                                           "i17082"
+                                           "i17083"))
                                        #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i4834")))
+                                       #(ribcage #(x) #((top)) #("i17076")))
                                       (hygiene guile))
-                                   #{id\ 4843}#
+                                   #{id\ 17085}#
                                    (cons '#(syntax-object
                                             lambda*
                                             ((top)
                                              #(ribcage
                                                #(_ id args b0 b1)
                                                #((top) (top) (top) (top) (top))
-                                               #("i4837"
-                                                 "i4838"
-                                                 "i4839"
-                                                 "i4840"
-                                                 "i4841"))
+                                               #("i17079"
+                                                 "i17080"
+                                                 "i17081"
+                                                 "i17082"
+                                                 "i17083"))
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x)
                                                #((top))
-                                               #("i4834")))
+                                               #("i17076")))
                                             (hygiene guile))
-                                         (cons #{args\ 4844}#
-                                               (cons #{b0\ 4845}#
-                                                     #{b1\ 4846}#)))))
-                           #{tmp\ 4836}#)
-                    ((lambda (#{tmp\ 4848}#)
-                       (if (if #{tmp\ 4848}#
-                             (apply (lambda (#{_\ 4852}#
-                                             #{id\ 4853}#
-                                             #{val\ 4854}#)
+                                         (cons #{args\ 17086}#
+                                               (cons #{b0\ 17087}#
+                                                     #{b1\ 17088}#)))))
+                           #{tmp\ 17078}#)
+                    ((lambda (#{tmp\ 17090}#)
+                       (if (if #{tmp\ 17090}#
+                             (apply (lambda (#{_\ 17094}#
+                                             #{id\ 17095}#
+                                             #{val\ 17096}#)
                                       (identifier?
                                         '#(syntax-object
                                            x
@@ -15625,44 +16583,44 @@
                                             #(ribcage
                                               #(_ id val)
                                               #((top) (top) (top))
-                                              #("i4849" "i4850" "i4851"))
+                                              #("i17091" "i17092" "i17093"))
                                             #(ribcage () () ())
                                             #(ribcage
                                               #(x)
                                               #((top))
-                                              #("i4834")))
+                                              #("i17076")))
                                            (hygiene guile))))
-                                    #{tmp\ 4848}#)
+                                    #{tmp\ 17090}#)
                              #f)
-                         (apply (lambda (#{_\ 4858}#
-                                         #{id\ 4859}#
-                                         #{val\ 4860}#)
+                         (apply (lambda (#{_\ 17100}#
+                                         #{id\ 17101}#
+                                         #{val\ 17102}#)
                                   (list '#(syntax-object
                                            define
                                            ((top)
                                             #(ribcage
                                               #(_ id val)
                                               #((top) (top) (top))
-                                              #("i4855" "i4856" "i4857"))
+                                              #("i17097" "i17098" "i17099"))
                                             #(ribcage () () ())
                                             #(ribcage
                                               #(x)
                                               #((top))
-                                              #("i4834")))
+                                              #("i17076")))
                                            (hygiene guile))
-                                        #{id\ 4859}#
-                                        #{val\ 4860}#))
-                                #{tmp\ 4848}#)
+                                        #{id\ 17101}#
+                                        #{val\ 17102}#))
+                                #{tmp\ 17090}#)
                          (syntax-violation
                            #f
                            "source expression failed to match any pattern"
-                           #{tmp\ 4835}#)))
+                           #{tmp\ 17077}#)))
                      ($sc-dispatch
-                       #{tmp\ 4835}#
+                       #{tmp\ 17077}#
                        '(any any any)))))
                 ($sc-dispatch
-                  #{tmp\ 4835}#
+                  #{tmp\ 17077}#
                   '(any (any . any) any . each-any))))
-             #{x\ 4833}#))
+             #{x\ 17075}#))
           (module-name (current-module)))))
 
diff --git a/module/ice-9/psyntax.scm b/module/ice-9/psyntax.scm
index 877269c..daf00f4 100644
--- a/module/ice-9/psyntax.scm
+++ b/module/ice-9/psyntax.scm
@@ -224,6 +224,24 @@
                     (apply f (cons x xr))
                     (and (apply f (cons x xr)) (andmap first rest)))))))))
 
+(define-syntax define-expansion-constructors
+  (lambda (x)
+    (syntax-case x ()
+      ((_)
+       (let lp ((n 0) (out '()))
+         (if (< n (vector-length %expanded-vtables))
+             (lp (1+ n)
+                 (let* ((vtable (vector-ref %expanded-vtables n))
+                        (stem (struct-ref vtable (+ vtable-offset-user 0)))
+                        (fields (struct-ref vtable (+ vtable-offset-user 2)))
+                        (sfields (map (lambda (f) (datum->syntax x f)) fields))
+                        (ctor (datum->syntax x (symbol-append 'make- stem))))
+                   (cons #`(define (#,ctor #,@sfields)
+                             (make-struct (vector-ref %expanded-vtables #,n) 0
+                                          #,@sfields))
+                         out)))
+             #`(begin #,@(reverse out))))))))
+
 (define-syntax define-structure
   (lambda (x)
     (define construct-name
@@ -278,6 +296,8 @@
 (let ()
   (define *mode* (make-fluid))
 
+  (define-expansion-constructors)
+
 ;;; hooks to nonportable run-time helpers
   (begin
     (define fx+ +)
@@ -287,20 +307,12 @@
 
     (define top-level-eval-hook
       (lambda (x mod)
-        (primitive-eval
-         (memoize-expression
-          (case (fluid-ref *mode*)
-            ((c) ((@ (language tree-il) tree-il->scheme) x))
-            (else x))))))
+        (primitive-eval (memoize-expression x))))
 
     (define local-eval-hook
       (lambda (x mod)
-        (primitive-eval
-         (memoize-expression
-          (case (fluid-ref *mode*)
-            ((c) ((@ (language tree-il) tree-il->scheme) x))
-            (else x))))))
-
+        (primitive-eval (memoize-expression x))))
+    
     (define-syntax gensym-hook
       (syntax-rules ()
         ((_) (gensym))))
@@ -336,46 +348,28 @@
 ;;; output constructors
   (define build-void
     (lambda (source)
-      (case (fluid-ref *mode*)
-        ((c) ((@ (language tree-il) make-void) source))
-        (else (decorate-source '(if #f #f) source)))))
+      (make-void source)))
 
   (define build-application
     (lambda (source fun-exp arg-exps)
-      (case (fluid-ref *mode*)
-        ((c) ((@ (language tree-il) make-application) source fun-exp arg-exps))
-        (else (decorate-source `(,fun-exp . ,arg-exps) source)))))
-
+      (make-application source fun-exp arg-exps)))
+  
   (define build-conditional
     (lambda (source test-exp then-exp else-exp)
-      (case (fluid-ref *mode*)
-        ((c) ((@ (language tree-il) make-conditional)
-              source test-exp then-exp else-exp))
-        (else (decorate-source
-               (if (equal? else-exp '(if #f #f))
-                   `(if ,test-exp ,then-exp)
-                   `(if ,test-exp ,then-exp ,else-exp))
-               source)))))
-
+      (make-conditional source test-exp then-exp else-exp)))
+  
   (define build-dynlet
     (lambda (source fluids vals body)
-      (case (fluid-ref *mode*)
-        ((c) ((@ (language tree-il) make-dynlet) source fluids vals body))
-        (else (decorate-source `(with-fluids ,(map list fluids vals) ,body)
-                               source)))))
-
+      (make-dynlet source fluids vals body)))
+  
   (define build-lexical-reference
     (lambda (type source name var)
-      (case (fluid-ref *mode*)
-        ((c) ((@ (language tree-il) make-lexical-ref) source name var))
-        (else (decorate-source var source)))))
-
+      (make-lexical-ref source name var)))
+  
   (define build-lexical-assignment
     (lambda (source name var exp)
-      (case (fluid-ref *mode*)
-        ((c) ((@ (language tree-il) make-lexical-set) source name var exp))
-        (else (decorate-source `(set! ,var ,exp) source)))))
-
+      (make-lexical-set source name var exp)))
+  
   ;; Before modules are booted, we can't expand into data structures from
   ;; (language tree-il) -- we need to give the evaluator the
   ;; s-expressions that it understands natively. Actually the real truth
@@ -406,26 +400,18 @@
       (analyze-variable
        mod var
        (lambda (mod var public?) 
-         (case (fluid-ref *mode*)
-           ((c) ((@ (language tree-il) make-module-ref) source mod var 
public?))
-           (else (decorate-source (list (if public? '@ '@@) mod var) source))))
+         (make-module-ref source mod var public?))
        (lambda (var)
-         (case (fluid-ref *mode*)
-           ((c) ((@ (language tree-il) make-toplevel-ref) source var))
-           (else (decorate-source var source)))))))
+         (make-toplevel-ref source var)))))
 
   (define build-global-assignment
     (lambda (source var exp mod)
       (analyze-variable
        mod var
        (lambda (mod var public?) 
-         (case (fluid-ref *mode*)
-           ((c) ((@ (language tree-il) make-module-set) source mod var public? 
exp))
-           (else (decorate-source `(set! ,(list (if public? '@ '@@) mod var) 
,exp) source))))
+         (make-module-set source mod var public? exp))
        (lambda (var)
-         (case (fluid-ref *mode*)
-           ((c) ((@ (language tree-il) make-toplevel-set) source var exp))
-           (else (decorate-source `(set! ,var ,exp) source)))))))
+         (make-toplevel-set source var exp)))))
 
   ;; FIXME: there is a bug that prevents (set! ((@ (foo) bar) baz) quz)
   ;; from working. Hack around it.
@@ -440,11 +426,9 @@
 
   (define build-global-definition
     (lambda (source var exp)
-      (case (fluid-ref *mode*)
-        ((c)
-         (maybe-name-value! var exp)
-         ((@ (language tree-il) make-toplevel-define) source var exp))
-        (else (decorate-source `(define ,var ,exp) source)))))
+      ;; FIXME:
+      ;; (maybe-name-value! var exp)
+      (make-toplevel-define source var exp)))
 
   ;; Ideally we would have all lambdas be case lambdas, but that would
   ;; need special support in the interpreter for the full capabilities
@@ -453,26 +437,16 @@
   ;; the cases.
   (define build-simple-lambda
     (lambda (src req rest vars meta exp)
-      (case (fluid-ref *mode*)
-        ((c) ((@ (language tree-il) make-lambda) src
-              meta
-              ;; hah, a case in which kwargs would be nice.
-              ((@ (language tree-il) make-lambda-case)
-               ;; src req opt rest kw inits vars body else
-               src req #f rest #f '() vars exp #f)))
-        (else (decorate-source
-               `(lambda ,(if rest (apply cons* vars) vars)
-                  ,exp)
-               src)))))
+      (make-lambda src
+                   meta
+                   ;; hah, a case in which kwargs would be nice.
+                   (make-lambda-case
+                    ;; src req opt rest kw inits vars body else
+                    src req #f rest #f '() vars exp #f))))
+
   (define build-case-lambda
     (lambda (src meta body)
-      (case (fluid-ref *mode*)
-        ((c) ((@ (language tree-il) make-lambda) src
-              meta
-              body))
-        (else (decorate-source
-               `(case-lambda* ,@body)
-               src)))))
+      (make-lambda src meta body)))
 
   (define build-lambda-case
     ;; req := (name ...)
@@ -486,6 +460,7 @@
     ;; the body of a lambda: anything, already expanded
     ;; else: lambda-case | #f
     (lambda (src req opt rest kw inits vars body else-case)
+      ;; FIXME!!!
       (case (fluid-ref *mode*)
         ((c)
          ((@ (language tree-il) make-lambda-case)
@@ -507,65 +482,32 @@
                   (+ nreq (length inits) (if rest 1 0)))
                (error "something went wrong"
                       req opt rest kw inits vars nreq nopt kw-indices nargs))
-           (decorate-source
-            `(((,@(list-head vars nreq)
-                ,@(if opt
-                      `(#:optional ,@(map list
-                                          (list-head (list-tail vars nreq) 
nopt)
-                                          (list-head inits nopt)))
-                      '())
-                ,@(if kw
-                      `(#:key ,@(map (lambda (x init)
-                                       (list (caddr x)
-                                             init
-                                             (car x)))
-                                     (cdr kw)
-                                     (list-tail inits nopt)))
-                      '())
-                ,@(if allow-other-keys? '(#:allow-other-keys) '())
-                ,@(if rest (list-ref vars rest-idx) '()))
-               ,body)
-              ,@(or else-case '()))
-            src))))))
+           (make-lambda-case src req opt rest
+                             (and kw (cons allow-other-keys? kw-indices))
+                             inits vars body else-case))))))
 
   (define build-primref
     (lambda (src name)
       (if (equal? (module-name (current-module)) '(guile))
-          (case (fluid-ref *mode*)
-            ((c) ((@ (language tree-il) make-toplevel-ref) src name))
-            (else (decorate-source name src)))
-          (case (fluid-ref *mode*)
-            ((c) ((@ (language tree-il) make-module-ref) src '(guile) name #f))
-            (else (decorate-source `(@@ (guile) ,name) src))))))
+          (make-toplevel-ref src name)
+          (make-module-ref src '(guile) name #f))))
 
   (define (build-data src exp)
-    (case (fluid-ref *mode*)
-      ((c) ((@ (language tree-il) make-const) src exp))
-      (else (decorate-source
-             (if (and (self-evaluating? exp) (not (vector? exp)))
-                 exp
-                 (list 'quote exp))
-             src))))
+    (make-const src exp))
 
   (define build-sequence
     (lambda (src exps)
       (if (null? (cdr exps))
           (car exps)
-          (case (fluid-ref *mode*)
-            ((c) ((@ (language tree-il) make-sequence) src exps))
-            (else (decorate-source `(begin ,@exps) src))))))
+          (make-sequence src exps))))
 
   (define build-let
     (lambda (src ids vars val-exps body-exp)
+      ;; FIXME
+      ;; (for-each maybe-name-value! ids val-exps)
       (if (null? vars)
           body-exp
-          (case (fluid-ref *mode*)
-            ((c)
-             (for-each maybe-name-value! ids val-exps)
-             ((@ (language tree-il) make-let) src ids vars val-exps body-exp))
-            (else (decorate-source
-                   `(let ,(map list vars val-exps) ,body-exp)
-                   src))))))
+          (make-let src ids vars val-exps body-exp))))
 
   (define build-named-let
     (lambda (src ids vars val-exps body-exp)
@@ -573,31 +515,24 @@
             (f-name (car ids))
             (vars (cdr vars))
             (ids (cdr ids)))
-        (case (fluid-ref *mode*)
-          ((c)
-           (let ((proc (build-simple-lambda src ids #f vars '() body-exp)))
-             (maybe-name-value! f-name proc)
-             (for-each maybe-name-value! ids val-exps)
-             ((@ (language tree-il) make-letrec) src
-              (list f-name) (list f) (list proc)
-              (build-application src (build-lexical-reference 'fun src f-name 
f)
-                                 val-exps))))
-          (else (decorate-source
-                 `(letrec ((,f (lambda ,vars ,body-exp)))
-                    (,f ,@val-exps))
-                 src))))))
+        (let ((proc (build-simple-lambda src ids #f vars '() body-exp)))
+          ;; FIXME
+          ;; (maybe-name-value! f-name proc)
+          ;; (for-each maybe-name-value! ids val-exps)
+          (make-letrec
+           src
+           (list f-name) (list f) (list proc)
+           (build-application src (build-lexical-reference 'fun src f-name f)
+                              val-exps))))))
 
   (define build-letrec
     (lambda (src ids vars val-exps body-exp)
       (if (null? vars)
           body-exp
-          (case (fluid-ref *mode*)
-            ((c)
-             (for-each maybe-name-value! ids val-exps)
-             ((@ (language tree-il) make-letrec) src ids vars val-exps 
body-exp))
-            (else (decorate-source
-                   `(letrec ,(map list vars val-exps) ,body-exp)
-                   src))))))
+          ;; FIXME
+          ;; (for-each maybe-name-value! ids val-exps)
+          (make-letrec src ids vars val-exps body-exp))))
+
 
   ;; FIXME: use a faster gensym
   (define-syntax build-lexical-var
diff --git a/module/language/tree-il.scm b/module/language/tree-il.scm
index bec3bec..5f4c014 100644
--- a/module/language/tree-il.scm
+++ b/module/language/tree-il.scm
@@ -61,28 +61,70 @@
             post-order!
             pre-order!))
 
+(define-syntax borrow-core-vtables
+  (lambda (x)
+    (syntax-case x ()
+      ((_)
+       (let lp ((n 0) (out '()))
+         (if (< n (vector-length %expanded-vtables))
+             (lp (1+ n)
+                 (let* ((vtable (vector-ref %expanded-vtables n))
+                        (stem (struct-ref vtable (+ vtable-offset-user 0)))
+                        (fields (struct-ref vtable (+ vtable-offset-user 2)))
+                        (sfields (map
+                                  (lambda (f) (datum->syntax x f))
+                                  fields))
+                        (type (datum->syntax x (symbol-append '< stem '>)))
+                        (ctor (datum->syntax x (symbol-append 'make- stem)))
+                        (pred (datum->syntax x (symbol-append stem '?))))
+                   (let lp ((n 0) (fields fields)
+                            (out (cons*
+                                  #`(define (#,ctor #,@sfields)
+                                      (make-struct #,type 0 #,@sfields))
+                                  #`(define (#,pred x)
+                                      (and (struct? x)
+                                           (eq? (struct-vtable x) #,type)))
+                                  #`(define #,type
+                                           (vector-ref %expanded-vtables #,n))
+                                       out)))
+                     (if (null? fields)
+                         out
+                         (lp (1+ n)
+                             (cdr fields)
+                             (let ((acc (datum->syntax
+                                         x (symbol-append stem '- (car 
fields)))))
+                               (cons #`(define #,acc
+                                         (make-procedure-with-setter
+                                          (lambda (x) (struct-ref x #,n))
+                                          (lambda (x v) (struct-set! x #,n 
v))))
+                                     out)))))))
+             #`(begin #,@(reverse out))))))))
+
+(borrow-core-vtables)
+
+  ;; (<void>)
+  ;; (<const> exp)
+  ;; (<primitive-ref> name)
+  ;; (<lexical-ref> name gensym)
+  ;; (<lexical-set> name gensym exp)
+  ;; (<module-ref> mod name public?)
+  ;; (<module-set> mod name public? exp)
+  ;; (<toplevel-ref> name)
+  ;; (<toplevel-set> name exp)
+  ;; (<toplevel-define> name exp)
+  ;; (<conditional> test consequent alternate)
+  ;; (<application> proc args)
+  ;; (<sequence> exps)
+  ;; (<lambda> meta body)
+  ;; (<lambda-case> req opt rest kw inits gensyms body alternate)
+  ;; (<let> names gensyms vals body)
+  ;; (<letrec> names gensyms vals body)
+  ;; (<dynlet> fluids vals body)
+
 (define-type (<tree-il> #:common-slots (src))
-  (<void>)
-  (<const> exp)
-  (<primitive-ref> name)
-  (<lexical-ref> name gensym)
-  (<lexical-set> name gensym exp)
-  (<module-ref> mod name public?)
-  (<module-set> mod name public? exp)
-  (<toplevel-ref> name)
-  (<toplevel-set> name exp)
-  (<toplevel-define> name exp)
-  (<conditional> test consequent alternate)
-  (<application> proc args)
-  (<sequence> exps)
-  (<lambda> meta body)
-  (<lambda-case> req opt rest kw inits gensyms body alternate)
-  (<let> names gensyms vals body)
-  (<letrec> names gensyms vals body)
   (<fix> names gensyms vals body)
   (<let-values> exp body)
   (<dynwind> winder body unwinder)
-  (<dynlet> fluids vals body)
   (<dynref> fluid)
   (<dynset> fluid exp)
   (<prompt> tag body handler)


hooks/post-receive
-- 
GNU Guile



reply via email to

[Prev in Thread] Current Thread [Next in Thread]