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"
+