Closes 5 and simplify lambda compilation
authorDavid Vázquez <davazp@gmail.com>
Sat, 9 Feb 2013 02:29:39 +0000 (03:29 +0100)
committerDavid Vázquez <davazp@gmail.com>
Sat, 9 Feb 2013 02:36:33 +0000 (03:36 +0100)
ecmalisp.js
ecmalisp.lisp

index e4f6935..013dbe7 100644 (file)
@@ -76,6 +76,7 @@ var l12 = {name: "NULL"};
         return v2;
     })((function (values,v1){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return ((v1 === l3.value)?l4.value: l3.value);
         })();
@@ -104,6 +105,7 @@ var l17 = {name: "INTEGER-TO-STRING"};
         v3="G";
         default: break;
         }
+        var i;
         return (function(){
             ((l15).value = (function(){
                 var x1 = (function(){
@@ -147,6 +149,7 @@ var l18 = {name: "BOUNDP"};
         return v6;
     })((function (values,v5){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return ((v5.value !== undefined)?l4.value: l3.value);
         })();
@@ -160,6 +163,7 @@ var l19 = {name: "="};
         return v9;
     })((function (values,v7,v8){
         checkArgs(arguments, 3);
+        var i;
         return (function(){
             return (function(){
                 var x1 = v7;
@@ -179,6 +183,7 @@ var l20 = {name: "*"};
         return v12;
     })((function (values,v10,v11){
         checkArgs(arguments, 3);
+        var i;
         return (function(){
             return (function(){
                 var x1 = v10;
@@ -198,6 +203,7 @@ var l21 = {name: "/"};
         return v15;
     })((function (values,v13,v14){
         checkArgs(arguments, 3);
+        var i;
         return (function(){
             return (function(){
                 var x1 = v13;
@@ -217,6 +223,7 @@ var l22 = {name: "1+"};
         return v17;
     })((function (values,v16){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (function(){
                 var x1 = v16;
@@ -236,6 +243,7 @@ var l23 = {name: "1-"};
         return v19;
     })((function (values,v18){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (function(){
                 var x1 = v18;
@@ -255,6 +263,7 @@ var l24 = {name: "ZEROP"};
         return v21;
     })((function (values,v20){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (function(){
                 var x1 = v20;
@@ -274,6 +283,7 @@ var l25 = {name: "TRUNCATE"};
         return v24;
     })((function (values,v22,v23){
         checkArgs(arguments, 3);
+        var i;
         return (function(){
             return (function(){
                 var x = (function(){
@@ -298,6 +308,7 @@ var l26 = {name: "EQL"};
         return v27;
     })((function (values,v25,v26){
         checkArgs(arguments, 3);
+        var i;
         return (function(){
             return ((v25 === v26)?l4.value: l3.value);
         })();
@@ -311,6 +322,7 @@ var l27 = {name: "NOT"};
         return v29;
     })((function (values,v28){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (v28 !== l3.value ? l3.value : l4.value);
         })();
@@ -324,6 +336,7 @@ var l28 = {name: "CONS"};
         return v32;
     })((function (values,v30,v31){
         checkArgs(arguments, 3);
+        var i;
         return (function(){
             return ({car: v30, cdr: v31});
         })();
@@ -337,6 +350,7 @@ var l29 = {name: "CONSP"};
         return v34;
     })((function (values,v33){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return ((function(){
                 var tmp = v33;
@@ -354,6 +368,7 @@ var l30 = {name: "CAR"};
     })((function(){
         var func = (function (values,v35){
             checkArgs(arguments, 2);
+            var i;
             return (function(){
                 return (function(){
                     var tmp = v35;
@@ -373,6 +388,7 @@ var l31 = {name: "CDR"};
         return v38;
     })((function (values,v37){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (function(){
                 var tmp = v37;
@@ -389,6 +405,7 @@ var l32 = {name: "CAAR"};
         return v40;
     })((function (values,v39){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (function(){
                 var tmp = (function(){
@@ -408,6 +425,7 @@ var l33 = {name: "CADR"};
         return v42;
     })((function (values,v41){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (function(){
                 var tmp = (function(){
@@ -427,6 +445,7 @@ var l34 = {name: "CDAR"};
         return v44;
     })((function (values,v43){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (function(){
                 var tmp = (function(){
@@ -446,6 +465,7 @@ var l35 = {name: "CDDR"};
         return v46;
     })((function (values,v45){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (function(){
                 var tmp = (function(){
@@ -465,6 +485,7 @@ var l36 = {name: "CADDR"};
         return v48;
     })((function (values,v47){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (function(){
                 var tmp = (function(){
@@ -487,6 +508,7 @@ var l37 = {name: "CDDDR"};
         return v50;
     })((function (values,v49){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (function(){
                 var tmp = (function(){
@@ -509,6 +531,7 @@ var l38 = {name: "CADDDR"};
         return v52;
     })((function (values,v51){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (function(){
                 var tmp = (function(){
@@ -534,6 +557,7 @@ var l39 = {name: "FIRST"};
         return v54;
     })((function (values,v53){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (function(){
                 var tmp = v53;
@@ -550,6 +574,7 @@ var l40 = {name: "SECOND"};
         return v56;
     })((function (values,v55){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return l33.fvalue(values, v55);
         })();
@@ -563,6 +588,7 @@ var l41 = {name: "THIRD"};
         return v58;
     })((function (values,v57){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return l36.fvalue(values, v57);
         })();
@@ -576,6 +602,7 @@ var l42 = {name: "FOURTH"};
         return v60;
     })((function (values,v59){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return l38.fvalue(values, v59);
         })();
@@ -589,6 +616,7 @@ var l43 = {name: "REST"};
         return v62;
     })((function (values,v61){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (function(){
                 var tmp = v61;
@@ -608,6 +636,7 @@ var l44 = {name: "LIST"};
         for (var i = arguments.length-1; i>=1; i--)
             v63 = {car: arguments[i], cdr: 
         v63};
+        var i;
         return (function(){
             return v63;
         })();
@@ -621,6 +650,7 @@ var l45 = {name: "ATOM"};
         return v66;
     })((function (values,v65){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return l27.fvalue(values, ((function(){
                 var tmp = v65;
@@ -662,6 +692,7 @@ var l59 = {name: "LISTP"};
         return v68;
     })((function (values,v67){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (l59.fvalue(pv, v67) !== l3.value ? v67 : l44.fvalue(values, v67));
         })();
@@ -675,6 +706,7 @@ var l60 = {name: "!REDUCE"};
         return v72;
     })((function (values,v69,v70,v71){
         checkArgs(arguments, 4);
+        var i;
         return (function(){
             return (l12.fvalue(pv, v70) !== l3.value ? v71 : l60.fvalue(values, v69, (function(){
                 var tmp = v70;
@@ -697,6 +729,7 @@ var l61 = {name: "+"};
         for (var i = arguments.length-1; i>=1; i--)
             v73 = {car: arguments[i], cdr: 
         v73};
+        var i;
         return (function(){
             return (function(v74){
                 return (function(){
@@ -742,6 +775,7 @@ var l62 = {name: "-"};
         for (var i = arguments.length-1; i>=2; i--)
             v78 = {car: arguments[i], cdr: 
         v78};
+        var i;
         return (function(){
             return (l12.fvalue(pv, v78) !== l3.value ? (function(){
                 var x1 = v79;
@@ -788,6 +822,7 @@ var l64 = {name: "APPEND"};
         return v86;
     })((function (values,v84,v85){
         checkArgs(arguments, 3);
+        var i;
         return (function(){
             return (l12.fvalue(pv, v84) !== l3.value ? v85 : ({car: (function(){
                 var tmp = v84;
@@ -809,6 +844,7 @@ var l64 = {name: "APPEND"};
         for (var i = arguments.length-1; i>=1; i--)
             v87 = {car: arguments[i], cdr: 
         v87};
+        var i;
         return (function(){
             return l60.fvalue(values, (function(){
                 var symbol = l63;
@@ -827,6 +863,7 @@ var l65 = {name: "REVAPPEND"};
         return v91;
     })((function (values,v89,v90){
         checkArgs(arguments, 3);
+        var i;
         return (function(){
             (function(){
                 return (function(){
@@ -854,6 +891,7 @@ var l66 = {name: "REVERSE"};
         return v93;
     })((function (values,v92){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return l65.fvalue(values, v92, l3);
         })();
@@ -873,6 +911,7 @@ var l70 = {name: "LIST-LENGTH"};
         return v96;
     })((function (values,v94){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (function(v95){
                 (function(){
@@ -905,6 +944,7 @@ var l71 = {name: "LENGTH"};
         return v98;
     })((function (values,v97){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (((typeof(v97) == "string")?l4.value: l3.value) !== l3.value ? (function(){
                 var x = v97;
@@ -929,6 +969,7 @@ var l72 = {name: "CONCAT-TWO"};
         return v101;
     })((function (values,v99,v100){
         checkArgs(arguments, 3);
+        var i;
         return (function(){
             return (function(){
                 var string1 = v99;
@@ -951,6 +992,7 @@ var l74 = {name: "SENTINEL"};
         return v107;
     })((function (values,v102,v103){
         checkArgs(arguments, 3);
+        var i;
         return (function(){
             return (function(){
                 var v104 = ({car: l74, cdr: l3.value});
@@ -992,6 +1034,7 @@ var l75 = {name: "IDENTITY"};
         return v109;
     })((function (values,v108){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return v108;
         })();
@@ -1005,12 +1048,14 @@ var l76 = {name: "CONSTANTLY"};
         return v112;
     })((function (values,v110){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (function (values){
                 var v111= l3.value;
                 for (var i = arguments.length-1; i>=1; i--)
                     v111 = {car: arguments[i], cdr: 
                 v111};
+                var i;
                 return v110;
             });
         })();
@@ -1024,6 +1069,7 @@ var l77 = {name: "COPY-LIST"};
         return v114;
     })((function (values,v113){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return l73.fvalue(values, (function(){
                 var symbol = l75;
@@ -1042,6 +1088,7 @@ var l78 = {name: "CODE-CHAR"};
         return v116;
     })((function (values,v115){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return v115;
         })();
@@ -1055,6 +1102,7 @@ var l79 = {name: "CHAR-CODE"};
         return v118;
     })((function (values,v117){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return v117;
         })();
@@ -1068,6 +1116,7 @@ var l80 = {name: "CHAR="};
         return v121;
     })((function (values,v119,v120){
         checkArgs(arguments, 3);
+        var i;
         return (function(){
             return (function(){
                 var x1 = v119;
@@ -1087,6 +1136,7 @@ var l81 = {name: "INTEGERP"};
         return v123;
     })((function (values,v122){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (((typeof (v122) == "number")?l4.value: l3.value) !== l3.value ? (function(){
                 var x1 = (function(){
@@ -1111,6 +1161,7 @@ var l82 = {name: "PLUSP"};
         return v125;
     })((function (values,v124){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (function(){
                 var x1 = 0;
@@ -1130,6 +1181,7 @@ var l83 = {name: "MINUSP"};
         return v127;
     })((function (values,v126){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (function(){
                 var x1 = v126;
@@ -1148,6 +1200,7 @@ var l83 = {name: "MINUSP"};
         return v130;
     })((function (values,v128){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (function(v129){
                 return (v129 !== l3.value ? v129 : l12.fvalue(values, v128));
@@ -1166,6 +1219,7 @@ var l84 = {name: "NTHCDR"};
         return v133;
     })((function (values,v131,v132){
         checkArgs(arguments, 3);
+        var i;
         return (function(){
             (function(){
                 return (function(){
@@ -1190,6 +1244,7 @@ var l85 = {name: "NTH"};
         return v136;
     })((function (values,v134,v135){
         checkArgs(arguments, 3);
+        var i;
         return (function(){
             return (function(){
                 var tmp = l84.fvalue(pv, v134, v135);
@@ -1206,6 +1261,7 @@ var l86 = {name: "LAST"};
         return v138;
     })((function (values,v137){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             (function(){
                 return (function(){
@@ -1235,6 +1291,7 @@ var l87 = {name: "BUTLAST"};
         return v140;
     })((function (values,v139){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (((function(){
                 var tmp = (function(){
@@ -1260,6 +1317,7 @@ var l88 = {name: "MEMBER"};
         return v143;
     })((function (values,v141,v142){
         checkArgs(arguments, 3);
+        var i;
         return (function(){
             return (function(){
                 try {
@@ -1297,6 +1355,7 @@ var l89 = {name: "REMOVE"};
         return v146;
     })((function (values,v144,v145){
         checkArgs(arguments, 3);
+        var i;
         return (function(){
             return (l12.fvalue(pv, v145) !== l3.value ? l3.value : (l26.fvalue(pv, v144, (function(){
                 var tmp = v145;
@@ -1322,6 +1381,7 @@ var l90 = {name: "REMOVE-IF"};
         return v149;
     })((function (values,v147,v148){
         checkArgs(arguments, 3);
+        var i;
         return (function(){
             return (l12.fvalue(pv, v148) !== l3.value ? l3.value : ((v147)(pv, (function(){
                 var tmp = v148;
@@ -1347,6 +1407,7 @@ var l91 = {name: "REMOVE-IF-NOT"};
         return v152;
     })((function (values,v150,v151){
         checkArgs(arguments, 3);
+        var i;
         return (function(){
             return (l12.fvalue(pv, v151) !== l3.value ? l3.value : ((v150)(pv, (function(){
                 var tmp = v151;
@@ -1372,6 +1433,7 @@ var l92 = {name: "DIGIT-CHAR-P"};
         return v154;
     })((function (values,v153){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (((function(){
                 var x1 = 48;
@@ -1403,6 +1465,7 @@ var l93 = {name: "DIGIT-CHAR"};
         return v156;
     })((function (values,v155){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return ((function(){
                 var x1 = 0;
@@ -1438,6 +1501,7 @@ var l94 = {name: "SUBSEQ"};
         v159=l3.value;
         default: break;
         }
+        var i;
         return (function(){
             return (((typeof(v157) == "string")?l4.value: l3.value) !== l3.value ? (v159 !== l3.value ? (function(){
                 var str = v157;
@@ -1464,6 +1528,7 @@ var l95 = {name: "SOME"};
         return v167;
     })((function (values,v161,v162){
         checkArgs(arguments, 3);
+        var i;
         return (function(){
             try {
                 return (((typeof(v162) == "string")?l4.value: l3.value) !== l3.value ? (function(v163,v164){
@@ -1551,6 +1616,7 @@ var l96 = {name: "EVERY"};
         return v174;
     })((function (values,v168,v169){
         checkArgs(arguments, 3);
+        var i;
         return (function(){
             try {
                 return (((typeof(v169) == "string")?l4.value: l3.value) !== l3.value ? (function(v170,v171){
@@ -1638,6 +1704,7 @@ var l97 = {name: "ASSOC"};
         return v177;
     })((function (values,v175,v176){
         checkArgs(arguments, 3);
+        var i;
         return (function(){
             (function(){
                 try {
@@ -1674,6 +1741,7 @@ var l98 = {name: "STRING"};
         return v179;
     })((function (values,v178){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (((typeof(v178) == "string")?l4.value: l3.value) !== l3.value ? v178 : (((function(){
                 var tmp = v178;
@@ -1695,6 +1763,7 @@ var l99 = {name: "STRING="};
         return v182;
     })((function (values,v180,v181){
         checkArgs(arguments, 3);
+        var i;
         return (function(){
             return ((v180 == v181)?l4.value: l3.value);
         })();
@@ -1708,6 +1777,7 @@ var l100 = {name: "FDEFINITION"};
         return v184;
     })((function (values,v183){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (((typeof v183 == 'function')?l4.value: l3.value) !== l3.value ? v183 : (((function(){
                 var tmp = v183;
@@ -1732,6 +1802,7 @@ var l102 = {name: "WRITE-LINE"};
         return v186;
     })((function (values,v185){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             l102.fvalue(pv, (l100.fvalue(pv, v185)).toString());
             return l3.value;
@@ -1749,6 +1820,7 @@ var l105 = {name: "VARIABLE"};
     })((function(){
         var func = (function (values,v187,v188){
             checkArgs(arguments, 3);
+            var i;
             return (function(){
                 return (function(v189){
                     return (l26.fvalue(pv, v189, l104) !== l3.value ? (function(v190){
@@ -1794,6 +1866,7 @@ var l109 = {name: "LIST-ALL-PACKAGES"};
         return v192;
     })((function (values){
         checkArgsAtMost(arguments, 1);
+        var i;
         return (function(){
             return (function(){
                 var symbol = l108;
@@ -1819,6 +1892,7 @@ var l111 = {name: "FIND-PACKAGE-OR-FAIL"};
         v194=l3.value;
         default: break;
         }
+        var i;
         return (function(){
             return (function(v195,v196){
                 ((v195)["packageName"] = v193);
@@ -1849,6 +1923,7 @@ var l112 = {name: "PACKAGEP"};
         return v199;
     })((function (values,v198){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (((typeof (v198) === 'object')?l4.value: l3.value) !== l3.value ? ((("symbols") in (v198))?l4.value: l3.value) : l3.value);
         })();
@@ -1863,6 +1938,7 @@ var l114 = {name: "PACKAGE-NAME"};
         return v204;
     })((function (values,v200){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             try {
                 (l112.fvalue(pv, v200) !== l3.value ? (function(){
@@ -1925,6 +2001,7 @@ var l114 = {name: "PACKAGE-NAME"};
         return v207;
     })((function (values,v205){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (function(v206){
                 return (v206 !== l3.value ? v206 : (function(){
@@ -1941,6 +2018,7 @@ var l114 = {name: "PACKAGE-NAME"};
         return v210;
     })((function (values,v208){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (function(v209){
                 return (function(){
@@ -1959,6 +2037,7 @@ var l115 = {name: "%PACKAGE-SYMBOLS"};
         return v213;
     })((function (values,v211){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (function(v212){
                 return (function(){
@@ -1977,6 +2056,7 @@ var l116 = {name: "PACKAGE-USE-LIST"};
         return v216;
     })((function (values,v214){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (function(v215){
                 return (function(){
@@ -1995,6 +2075,7 @@ var l117 = {name: "%PACKAGE-EXTERNAL-SYMBOLS"};
         return v219;
     })((function (values,v217){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (function(v218){
                 return (function(){
@@ -2034,6 +2115,7 @@ var l122 = {name: "SYMBOL-PACKAGE"};
         return v221;
     })((function (values,v220){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (((function(){
                 var tmp = v220;
@@ -2067,6 +2149,7 @@ var l125 = {name: "%INTERN-SYMBOL"};
         return v225;
     })((function (values,v222){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (function(){
                 var v223 = (((("package") in (v222))?l4.value: l3.value) !== l3.value ? l111.fvalue(pv, (function(){
@@ -2113,6 +2196,7 @@ var l129 = {name: "INHERIT", 'package': 'KEYWORD'};
         })();
         default: break;
         }
+        var i;
         return (function(){
             return (function(){
                 var v228 = l111.fvalue(pv, v227);
@@ -2185,6 +2269,7 @@ var l131 = {name: "EXPORT"};
         })();
         default: break;
         }
+        var i;
         return (function(){
             return (function(v237){
                 return (function(){
@@ -2200,6 +2285,7 @@ var l131 = {name: "EXPORT"};
                         for (var i = arguments.length-1; i>=3; i--)
                             v238 = {car: arguments[i], cdr: 
                         v238};
+                        var i;
                         return (v240 !== l3.value ? values(v239, v240) : (function(v241){
                             (function(){
                                 var tmp = (v241)[v235];
@@ -2249,6 +2335,7 @@ var l131 = {name: "EXPORT"};
         return v245;
     })((function (values,v244){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             (((function(){
                 var tmp = v244;
@@ -2281,6 +2368,7 @@ var l131 = {name: "EXPORT"};
         })();
         default: break;
         }
+        var i;
         return (function(){
             return (function(v248){
                 return (function(){
@@ -2316,6 +2404,7 @@ var l132 = {name: "GET-UNIVERSAL-TIME"};
         return v252;
     })((function (values){
         checkArgsAtMost(arguments, 1);
+        var i;
         return (function(){
             return (function(){
                 var x1 = (Math.round(new Date() / 1000));
@@ -2343,6 +2432,7 @@ var l134 = {name: "CONCAT"};
         for (var i = arguments.length-1; i>=1; i--)
             v253 = {car: arguments[i], cdr: 
         v253};
+        var i;
         return (function(){
             return l60.fvalue(values, (function(){
                 var symbol = l72;
@@ -2369,6 +2459,7 @@ var l136 = {name: "JOIN"};
         v256="";
         default: break;
         }
+        var i;
         return (function(){
             return (l12.fvalue(pv, v255) !== l3.value ? "" : (l12.fvalue(pv, (function(){
                 var tmp = v255;
@@ -2400,6 +2491,7 @@ var l137 = {name: "JOIN-TRAILING"};
         v259="";
         default: break;
         }
+        var i;
         return (function(){
             return (l12.fvalue(pv, v258) !== l3.value ? "" : l134.fvalue(values, (function(){
                 var tmp = v258;
@@ -2419,6 +2511,7 @@ var l138 = {name: "MAPCONCAT"};
         return v263;
     })((function (values,v261,v262){
         checkArgs(arguments, 3);
+        var i;
         return (function(){
             return l136.fvalue(values, l73.fvalue(pv, v261, v262));
         })();
@@ -2432,6 +2525,7 @@ var l139 = {name: "VECTOR-TO-LIST"};
         return v269;
     })((function (values,v264){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (function(v265,v266){
                 return (function(){
@@ -2476,6 +2570,7 @@ var l140 = {name: "LIST-TO-VECTOR"};
         return v275;
     })((function (values,v270){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (function(v271,v272){
                 return (function(){
@@ -2528,6 +2623,7 @@ var l141 = {name: "VALUES-LIST"};
         return v277;
     })((function (values,v276){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return values.apply(this, l140.fvalue(pv, v276));
         })();
@@ -2544,6 +2640,7 @@ var l142 = {name: "VALUES"};
         for (var i = arguments.length-1; i>=1; i--)
             v278 = {car: arguments[i], cdr: 
         v278};
+        var i;
         return (function(){
             return l141.fvalue(values, v278);
         })();
@@ -2560,6 +2657,7 @@ var l143 = {name: "INDENT"};
         for (var i = arguments.length-1; i>=1; i--)
             v280 = {car: arguments[i], cdr: 
         v280};
+        var i;
         return (function(){
             return (function(v281){
                 return (function(v282,v283,v284){
@@ -2629,6 +2727,7 @@ var l143 = {name: "INDENT"};
         return v290;
     })((function (values,v287){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (l24.fvalue(pv, v287) !== l3.value ? "0" : (l83.fvalue(pv, v287) !== l3.value ? l134.fvalue(values, "-", l17.fvalue(pv, (function(){
                 var x1 = 0;
@@ -2655,6 +2754,7 @@ var l143 = {name: "INDENT"};
                 })();
                 return l138.fvalue(values, (function (values,v289){
                     checkArgs(arguments, 2);
+                    var i;
                     return l98.fvalue(values, l93.fvalue(pv, v289));
                 }), v288);
             })(l3.value)));
@@ -2670,6 +2770,7 @@ var l145 = {name: "LS-COMPILE"};
         return v292;
     })((function (values,v291){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return l134.fvalue(values, "(", v291, "?", l145.fvalue(pv, l4.value), ": ", l145.fvalue(pv, l3.value), ")");
         })();
@@ -2686,6 +2787,7 @@ var l148 = {name: "ESCAPE-STRING"};
         return v301;
     })((function (values,v293){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (((function(){
                 var tmp = v293;
@@ -2703,6 +2805,7 @@ var l148 = {name: "ESCAPE-STRING"};
                     for (var i = arguments.length-1; i>=3; i--)
                         v294 = {car: arguments[i], cdr: 
                     v294};
+                    var i;
                     return ((v296 !== l3.value ? ((v295 === v293)?l4.value: l3.value) : l3.value) !== l3.value ? (v293).name : (function(v297,v298){
                         return l134.fvalue(values, (l12.fvalue(pv, v297) !== l3.value ? "#" : (((v297 === l113.fvalue(pv, "KEYWORD"))?l4.value: l3.value) !== l3.value ? "" : l114.fvalue(pv, v297))), ":", v298);
                     })(l122.fvalue(pv, v293),(v293).name));
@@ -2761,6 +2864,7 @@ var l148 = {name: "ESCAPE-STRING"};
         return v303;
     })((function (values,v302){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             (function(){
                 var x = v302;
@@ -2791,6 +2895,7 @@ var l149 = {name: "WARN"};
         return v305;
     })((function (values,v304){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             (function(){
                 var x = "WARNING: ";
@@ -2810,6 +2915,7 @@ var l150 = {name: "PRINT"};
         return v307;
     })((function (values,v306){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             l102.fvalue(pv, l147.fvalue(pv, v306));
             return v306;
@@ -2824,6 +2930,7 @@ var l151 = {name: "MAKE-STRING-STREAM"};
         return v309;
     })((function (values,v308){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return ({car: v308, cdr: 0});
         })();
@@ -2837,6 +2944,7 @@ var l152 = {name: "%PEEK-CHAR"};
         return v311;
     })((function (values,v310){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return ((function(){
                 var x1 = (function(){
@@ -2876,6 +2984,7 @@ var l153 = {name: "%READ-CHAR"};
         return v314;
     })((function (values,v312){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return ((function(){
                 var x1 = (function(){
@@ -2926,6 +3035,7 @@ var l154 = {name: "WHITESPACEP"};
         return v318;
     })((function (values,v315){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (function(v316){
                 return (v316 !== l3.value ? v316 : (function(v317){
@@ -2943,6 +3053,7 @@ var l155 = {name: "SKIP-WHITESPACES"};
         return v321;
     })((function (values,v319){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (function(v320){
                 (v320 = l152.fvalue(pv, v319));
@@ -2966,6 +3077,7 @@ var l156 = {name: "TERMINALP"};
         return v326;
     })((function (values,v322){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (function(v323){
                 return (v323 !== l3.value ? v323 : (function(v324){
@@ -2985,6 +3097,7 @@ var l157 = {name: "READ-UNTIL"};
         return v331;
     })((function (values,v327,v328){
         checkArgs(arguments, 3);
+        var i;
         return (function(){
             return (function(v329,v330){
                 (v330 = l152.fvalue(pv, v327));
@@ -3010,6 +3123,7 @@ var l158 = {name: "SKIP-WHITESPACES-AND-COMMENTS"};
         return v335;
     })((function (values,v332){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (function(v333){
                 l155.fvalue(pv, v332);
@@ -3019,6 +3133,7 @@ var l158 = {name: "SKIP-WHITESPACES-AND-COMMENTS"};
                         while((v333 !== l3.value ? l80.fvalue(pv, v333, 59) : l3.value) !== l3.value){
                             l157.fvalue(pv, v332, (function (values,v334){
                                 checkArgs(arguments, 2);
+                                var i;
                                 return l80.fvalue(values, v334, 10);
                             }));
                             l155.fvalue(pv, v332);
@@ -3039,6 +3154,7 @@ var l160 = {name: "LS-READ"};
         return v339;
     })((function (values,v336){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             l158.fvalue(pv, v336);
             return (function(v337){
@@ -3069,6 +3185,7 @@ var l161 = {name: "READ-STRING"};
         return v343;
     })((function (values,v340){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (function(v341,v342){
                 (v342 = l153.fvalue(pv, v340));
@@ -3097,6 +3214,7 @@ var l162 = {name: "READ-SHARP"};
         return v348;
     })((function (values,v344){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             l153.fvalue(pv, v344);
             return (function(v345){
@@ -3157,6 +3275,7 @@ var l163 = {name: "READ-SYMBOL"};
         return v356;
     })((function (values,v349){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (function(v350,v351,v352,v353,v354){
                 (v354 = 0);
@@ -3258,6 +3377,7 @@ var l164 = {name: "!PARSE-INTEGER"};
         return v367;
     })((function (values,v357,v358){
         checkArgs(arguments, 3);
+        var i;
         return (function(){
             return (function(){
                 try {
@@ -3415,6 +3535,7 @@ var l165 = {name: "PARSE-INTEGER"};
         return v369;
     })((function (values,v368){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return l164.fvalue(values, v368, l3.value);
         })();
@@ -3436,6 +3557,7 @@ var l170 = {name: "UNQUOTE"};
         return v375;
     })((function (values,v370){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             l158.fvalue(pv, v370);
             return (function(v371){
@@ -3486,6 +3608,7 @@ var l171 = {name: "LS-READ-FROM-STRING"};
         return v377;
     })((function (values,v376){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return l160.fvalue(values, l151.fvalue(pv, v376));
         })();
@@ -3510,6 +3633,7 @@ var l173 = {name: "MAKE-BINDING"};
         v381=l3.value;
         default: break;
         }
+        var i;
         return (function(){
             return l44.fvalue(values, v378, v379, v380, v381);
         })();
@@ -3523,6 +3647,7 @@ var l174 = {name: "BINDING-NAME"};
         return v384;
     })((function (values,v383){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return l39.fvalue(values, v383);
         })();
@@ -3536,6 +3661,7 @@ var l175 = {name: "BINDING-TYPE"};
         return v386;
     })((function (values,v385){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return l40.fvalue(values, v385);
         })();
@@ -3549,6 +3675,7 @@ var l176 = {name: "BINDING-VALUE"};
         return v388;
     })((function (values,v387){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return l41.fvalue(values, v387);
         })();
@@ -3562,6 +3689,7 @@ var l177 = {name: "BINDING-DECLARATIONS"};
         return v390;
     })((function (values,v389){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return l42.fvalue(values, v389);
         })();
@@ -3575,6 +3703,7 @@ var l178 = {name: "SET-BINDING-VALUE"};
         return v393;
     })((function (values,v391,v392){
         checkArgs(arguments, 3);
+        var i;
         return (function(){
             return (function(){
                 var x = l35.fvalue(pv, v391);
@@ -3593,6 +3722,7 @@ var l179 = {name: "SET-BINDING-DECLARATIONS"};
         return v396;
     })((function (values,v394,v395){
         checkArgs(arguments, 3);
+        var i;
         return (function(){
             return (function(){
                 var x = l37.fvalue(pv, v394);
@@ -3611,6 +3741,7 @@ var l180 = {name: "PUSH-BINDING-DECLARATION"};
         return v399;
     })((function (values,v397,v398){
         checkArgs(arguments, 3);
+        var i;
         return (function(){
             return l179.fvalue(values, v398, ({car: v397, cdr: l177.fvalue(pv, v398)}));
         })();
@@ -3624,6 +3755,7 @@ var l181 = {name: "MAKE-LEXENV"};
         return v400;
     })((function (values){
         checkArgsAtMost(arguments, 1);
+        var i;
         return (function(){
             return l44.fvalue(values, l3.value, l3.value, l3.value, l3.value);
         })();
@@ -3637,6 +3769,7 @@ var l182 = {name: "COPY-LEXENV"};
         return v402;
     })((function (values,v401){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return l77.fvalue(values, v401);
         })();
@@ -3652,6 +3785,7 @@ var l185 = {name: "GOTAG"};
         return v407;
     })((function (values,v403,v404,v405){
         checkArgs(arguments, 4);
+        var i;
         return (function(){
             return (function(v406){
                 return (l26.fvalue(pv, v406, l105) !== l3.value ? (function(){
@@ -3695,6 +3829,7 @@ var l186 = {name: "EXTEND-LEXENV"};
         return v414;
     })((function (values,v408,v409,v410){
         checkArgs(arguments, 4);
+        var i;
         return (function(){
             return (function(v411){
                 return (function(){
@@ -3730,6 +3865,7 @@ var l187 = {name: "LOOKUP-IN-LEXENV"};
         return v419;
     })((function (values,v415,v416,v417){
         checkArgs(arguments, 4);
+        var i;
         return (function(){
             return l97.fvalue(values, v415, (function(v418){
                 return (l26.fvalue(pv, v418, l105) !== l3.value ? l39.fvalue(pv, v416) : (l26.fvalue(pv, v418, l104) !== l3.value ? l40.fvalue(pv, v416) : (l26.fvalue(pv, v418, l184) !== l3.value ? l41.fvalue(pv, v416) : (l26.fvalue(pv, v418, l185) !== l3.value ? l42.fvalue(pv, v416) : (function(){
@@ -3757,6 +3893,7 @@ var l190 = {name: "GVARNAME"};
         return v421;
     })((function (values,v420){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return l134.fvalue(values, "v", l17.fvalue(pv, ((l189).value = (function(){
                 var x1 = (function(){
@@ -3781,6 +3918,7 @@ var l191 = {name: "TRANSLATE-VARIABLE"};
         return v423;
     })((function (values,v422){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return l176.fvalue(values, l187.fvalue(pv, v422, (function(){
                 var symbol = l188;
@@ -3799,6 +3937,7 @@ var l192 = {name: "EXTEND-LOCAL-ENV"};
         return v429;
     })((function (values,v424){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (function(v425){
                 return (function(){
@@ -3846,6 +3985,7 @@ var l194 = {name: "TOPLEVEL-COMPILATION"};
         return v431;
     })((function (values,v430){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return ((l193).value = ({car: v430, cdr: (function(){
                 var symbol = l193;
@@ -3864,6 +4004,7 @@ var l195 = {name: "NULL-OR-EMPTY-P"};
         return v433;
     })((function (values,v432){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return l24.fvalue(values, l71.fvalue(pv, v432));
         })();
@@ -3877,6 +4018,7 @@ var l196 = {name: "GET-TOPLEVEL-COMPILATIONS"};
         return v434;
     })((function (values){
         checkArgsAtMost(arguments, 1);
+        var i;
         return (function(){
             return l66.fvalue(values, l90.fvalue(pv, (function(){
                 var symbol = l195;
@@ -3901,6 +4043,7 @@ var l198 = {name: "MACRO"};
         return v437;
     })((function (values,v435,v436){
         checkArgs(arguments, 3);
+        var i;
         return (function(){
             l194.fvalue(pv, l145.fvalue(pv, l64.fvalue(pv, l44.fvalue(pv, l167), l44.fvalue(pv, v435))));
             l183.fvalue(pv, l173.fvalue(pv, v435, l198, v436), (function(){
@@ -3921,6 +4064,7 @@ var l199 = {name: "GLOBAL-BINDING"};
         return v443;
     })((function (values,v438,v439,v440){
         checkArgs(arguments, 4);
+        var i;
         return (function(){
             return (function(v441){
                 return (v441 !== l3.value ? v441 : (function(v442){
@@ -3949,6 +4093,7 @@ var l200 = {name: "CLAIMP"};
         return v448;
     })((function (values,v444,v445,v446){
         checkArgs(arguments, 4);
+        var i;
         return (function(){
             return (function(v447){
                 return (v447 !== l3.value ? l88.fvalue(values, v446, l177.fvalue(pv, v447)) : l3.value);
@@ -3972,6 +4117,7 @@ var l204 = {name: "CONSTANT"};
         return v460;
     })((function (values,v449){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (function(v450){
                 return (l26.fvalue(pv, v450, l202) !== l3.value ? (function(){
@@ -4075,6 +4221,7 @@ l207;
 var l208 = {name: "IF"};
 ((l206).value = ({car: l44.fvalue(pv, l208, (function (values,v461,v462,v463){
     checkArgs(arguments, 4);
+    var i;
     return (function(){
         return l134.fvalue(values, "(", l145.fvalue(pv, v461), " !== ", l145.fvalue(pv, l3.value), " ? ", l145.fvalue(pv, v462, (function(){
             var symbol = l172;
@@ -4097,18 +4244,20 @@ var l208 = {name: "IF"};
 var l209 = {name: "*LAMBDA-LIST-KEYWORDS*"};
 var l210 = {name: "&OPTIONAL"};
 var l211 = {name: "&REST"};
-var l212 = QIList(l210,l211,l3);
+var l212 = {name: "&KEY"};
+var l213 = QIList(l210,l211,l212,l3);
 (function(){
-    (((l209.value !== undefined)?l4.value: l3.value) !== l3.value ? l3.value : ((l209).value = l212));
+    (((l209.value !== undefined)?l4.value: l3.value) !== l3.value ? l3.value : ((l209).value = l213));
     return l209;
 })();
-var l213 = {name: "LIST-UNTIL-KEYWORD"};
+var l214 = {name: "LIST-UNTIL-KEYWORD"};
 (function(){
-    (l213).fvalue = (function(v466){
+    (l214).fvalue = (function(v466){
         ((v466)["fname"] = "LIST-UNTIL-KEYWORD");
         return v466;
     })((function (values,v464){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return ((function(v465){
                 return (v465 !== l3.value ? v465 : l88.fvalue(pv, (function(){
@@ -4123,116 +4272,195 @@ var l213 = {name: "LIST-UNTIL-KEYWORD"};
             })(l12.fvalue(pv, v464)) !== l3.value ? l3.value : ({car: (function(){
                 var tmp = v464;
                 return tmp === l3.value? l3.value: tmp.car;
-            })(), cdr: l213.fvalue(pv, (function(){
+            })(), cdr: l214.fvalue(pv, (function(){
                 var tmp = v464;
                 return tmp === l3.value? l3.value: tmp.cdr;
             })())}));
         })();
     }));
-    return l213;
+    return l214;
 })();
-var l214 = {name: "LAMBDA-LIST-REQUIRED-ARGUMENTS"};
+var l215 = {name: "LAMBDA-LIST-SECTION"};
 (function(){
-    (l214).fvalue = (function(v468){
-        ((v468)["fname"] = "LAMBDA-LIST-REQUIRED-ARGUMENTS");
-        return v468;
-    })((function (values,v467){
+    (l215).fvalue = (function(v469){
+        ((v469)["fname"] = "LAMBDA-LIST-SECTION");
+        return v469;
+    })((function (values,v467,v468){
+        checkArgs(arguments, 3);
+        var i;
+        return (function(){
+            return l214.fvalue(values, (function(){
+                var tmp = l88.fvalue(pv, v467, v468);
+                return tmp === l3.value? l3.value: tmp.cdr;
+            })());
+        })();
+    }));
+    return l215;
+})();
+var l216 = {name: "LAMBDA-LIST-REQUIRED-ARGUMENTS"};
+(function(){
+    (l216).fvalue = (function(v471){
+        ((v471)["fname"] = "LAMBDA-LIST-REQUIRED-ARGUMENTS");
+        return v471;
+    })((function (values,v470){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
-            return l213.fvalue(values, v467);
+            return l214.fvalue(values, v470);
         })();
     }));
-    return l214;
+    return l216;
 })();
-var l215 = {name: "LAMBDA-LIST-OPTIONAL-ARGUMENTS-WITH-DEFAULT"};
+var l217 = {name: "LAMBDA-LIST-OPTIONAL-ARGUMENTS-WITH-DEFAULT"};
 (function(){
-    (l215).fvalue = (function(v470){
-        ((v470)["fname"] = "LAMBDA-LIST-OPTIONAL-ARGUMENTS-WITH-DEFAULT");
-        return v470;
-    })((function (values,v469){
+    (l217).fvalue = (function(v473){
+        ((v473)["fname"] = "LAMBDA-LIST-OPTIONAL-ARGUMENTS-WITH-DEFAULT");
+        return v473;
+    })((function (values,v472){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return l73.fvalue(values, (function(){
                 var symbol = l58;
                 var func = symbol.fvalue;
                 if (func === undefined) throw "Function `" + symbol.name + "' is undefined.";
                 return func;
-            })(), l213.fvalue(pv, (function(){
-                var tmp = l88.fvalue(pv, l210, v469);
-                return tmp === l3.value? l3.value: tmp.cdr;
-            })()));
+            })(), l215.fvalue(pv, l210, v472));
         })();
     }));
-    return l215;
+    return l217;
 })();
-var l216 = {name: "LAMBDA-LIST-OPTIONAL-ARGUMENTS"};
+var l218 = {name: "LAMBDA-LIST-OPTIONAL-ARGUMENTS"};
 (function(){
-    (l216).fvalue = (function(v472){
-        ((v472)["fname"] = "LAMBDA-LIST-OPTIONAL-ARGUMENTS");
-        return v472;
-    })((function (values,v471){
+    (l218).fvalue = (function(v475){
+        ((v475)["fname"] = "LAMBDA-LIST-OPTIONAL-ARGUMENTS");
+        return v475;
+    })((function (values,v474){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return l73.fvalue(values, (function(){
                 var symbol = l30;
                 var func = symbol.fvalue;
                 if (func === undefined) throw "Function `" + symbol.name + "' is undefined.";
                 return func;
-            })(), l215.fvalue(pv, v471));
+            })(), l217.fvalue(pv, v474));
         })();
     }));
-    return l216;
+    return l218;
 })();
-var l217 = {name: "LAMBDA-LIST-REST-ARGUMENT"};
+var l219 = {name: "LAMBDA-LIST-REST-ARGUMENT"};
 (function(){
-    (l217).fvalue = (function(v475){
-        ((v475)["fname"] = "LAMBDA-LIST-REST-ARGUMENT");
-        return v475;
-    })((function (values,v473){
+    (l219).fvalue = (function(v478){
+        ((v478)["fname"] = "LAMBDA-LIST-REST-ARGUMENT");
+        return v478;
+    })((function (values,v476){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
-            return (function(v474){
+            return (function(v477){
                 ((function(){
-                    var tmp = v474;
+                    var tmp = v477;
                     return tmp === l3.value? l3.value: tmp.cdr;
                 })() !== l3.value ? (function(){
                     throw "Bad lambda-list";
                 })() : l3.value);
                 return (function(){
-                    var tmp = v474;
+                    var tmp = v477;
                     return tmp === l3.value? l3.value: tmp.car;
                 })();
-            })(l213.fvalue(pv, (function(){
-                var tmp = l88.fvalue(pv, l211, v473);
-                return tmp === l3.value? l3.value: tmp.cdr;
-            })()));
+            })(l215.fvalue(pv, l211, v476));
         })();
     }));
-    return l217;
+    return l219;
 })();
-var l218 = {name: "LAMBDA-DOCSTRING-WRAPPER"};
+var l220 = {name: "LAMBDA-LIST-KEYWORD-ARGUMENTS-CANONICAL"};
 (function(){
-    (l218).fvalue = (function(v478){
-        ((v478)["fname"] = "LAMBDA-DOCSTRING-WRAPPER");
-        return v478;
-    })((function (values,v477){
+    (l220).fvalue = (function(v486){
+        ((v486)["fname"] = "LAMBDA-LIST-KEYWORD-ARGUMENTS-CANONICAL");
+        return v486;
+    })((function (values,v479){
+        checkArgs(arguments, 2);
+        var i;
+        return (function(){
+            return (function(v485){
+                return l73.fvalue(values, v485, l215.fvalue(pv, l212, v479));
+            })((function (values,v480){
+                checkArgs(arguments, 2);
+                var i;
+                return (function(){
+                    var v481 = l58.fvalue(pv, v480);
+                    var v482 = l33.fvalue(pv, v481);
+                    var v483 = l3.value;
+                    var v484 = l3.value;
+                    (l59.fvalue(pv, (function(){
+                        var tmp = v481;
+                        return tmp === l3.value? l3.value: tmp.car;
+                    })()) !== l3.value ? (v483 = l33.fvalue(pv, (function(){
+                        var tmp = v481;
+                        return tmp === l3.value? l3.value: tmp.car;
+                    })()), v484 = (function(){
+                        var tmp = (function(){
+                            var tmp = v481;
+                            return tmp === l3.value? l3.value: tmp.car;
+                        })();
+                        return tmp === l3.value? l3.value: tmp.car;
+                    })()) : (v483 = (function(){
+                        var tmp = v481;
+                        return tmp === l3.value? l3.value: tmp.car;
+                    })(), v484 = l130.fvalue(pv, ((function(){
+                        var tmp = v481;
+                        return tmp === l3.value? l3.value: tmp.car;
+                    })()).name, "KEYWORD")));
+                    return l64.fvalue(pv, l44.fvalue(pv, l64.fvalue(pv, l44.fvalue(pv, v484), l44.fvalue(pv, v483))), l44.fvalue(pv, v482));
+                })();
+            }));
+        })();
+    }));
+    return l220;
+})();
+var l221 = {name: "LAMBDA-LIST-KEYWORD-ARGUMENTS"};
+(function(){
+    (l221).fvalue = (function(v489){
+        ((v489)["fname"] = "LAMBDA-LIST-KEYWORD-ARGUMENTS");
+        return v489;
+    })((function (values,v487){
+        checkArgs(arguments, 2);
+        var i;
+        return (function(){
+            return l73.fvalue(values, (function (values,v488){
+                checkArgs(arguments, 2);
+                var i;
+                return l40.fvalue(values, l39.fvalue(pv, v488));
+            }), l220.fvalue(pv, v487));
+        })();
+    }));
+    return l221;
+})();
+var l222 = {name: "LAMBDA-DOCSTRING-WRAPPER"};
+(function(){
+    (l222).fvalue = (function(v492){
+        ((v492)["fname"] = "LAMBDA-DOCSTRING-WRAPPER");
+        return v492;
+    })((function (values,v491){
         checkArgsAtLeast(arguments, 2);
-        var v476= l3.value;
+        var v490= l3.value;
         for (var i = arguments.length-1; i>=2; i--)
-            v476 = {car: arguments[i], cdr: 
-        v476};
+            v490 = {car: arguments[i], cdr: 
+        v490};
+        var i;
         return (function(){
-            return (v477 !== l3.value ? l134.fvalue(values, "(function(){", (function(){
+            return (v491 !== l3.value ? l134.fvalue(values, "(function(){", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
-            })(), l143.fvalue(pv, "var func = ", l136.fvalue(pv, v476), ";", (function(){
+            })(), l143.fvalue(pv, "var func = ", l136.fvalue(pv, v490), ";", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
-            })(), "func.docstring = '", v477, "';", (function(){
+            })(), "func.docstring = '", v491, "';", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -4242,32 +4470,33 @@ var l218 = {name: "LAMBDA-DOCSTRING-WRAPPER"};
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
-            })()), "})()") : l136.fvalue(values, v476));
+            })()), "})()") : l136.fvalue(values, v490));
         })();
     }));
-    return l218;
+    return l222;
 })();
-var l219 = {name: "LAMBDA-CHECK-ARGUMENT-COUNT"};
-var l220 = {name: "N/A"};
+var l223 = {name: "LAMBDA-CHECK-ARGUMENT-COUNT"};
+var l224 = {name: "N/A"};
 (function(){
-    (l219).fvalue = (function(v484){
-        ((v484)["fname"] = "LAMBDA-CHECK-ARGUMENT-COUNT");
-        return v484;
-    })((function (values,v479,v480,v481){
+    (l223).fvalue = (function(v498){
+        ((v498)["fname"] = "LAMBDA-CHECK-ARGUMENT-COUNT");
+        return v498;
+    })((function (values,v493,v494,v495){
         checkArgs(arguments, 4);
+        var i;
         return (function(){
-            return (function(v482,v483){
+            return (function(v496,v497){
                 return (function(){
                     try {
                         (((function(){
                             var x1 = 1;
                             if (typeof x1 !== 'number') throw 'Not a number!';
-                            var x2 = v482;
+                            var x2 = v496;
                             if (typeof x2 !== 'number') throw 'Not a number!';
                             return (x1<x2?l4.value: l3.value);
-                        })() !== l3.value ? l26.fvalue(pv, v482, v483) : l3.value) !== l3.value ? (function(){
+                        })() !== l3.value ? l26.fvalue(pv, v496, v497) : l3.value) !== l3.value ? (function(){
                             var values = mv;
-                            throw ({type: 'block', id: 182, values: l134.fvalue(values, "checkArgs(arguments, ", l17.fvalue(pv, v482), ");", (function(){
+                            throw ({type: 'block', id: 185, values: l134.fvalue(values, "checkArgs(arguments, ", l17.fvalue(pv, v496), ");", (function(){
                                 var symbol = l133;
                                 var value = symbol.value;
                                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -4277,15 +4506,15 @@ var l220 = {name: "N/A"};
                         return l134.fvalue(values, ((function(){
                             var x1 = 1;
                             if (typeof x1 !== 'number') throw 'Not a number!';
-                            var x2 = v482;
+                            var x2 = v496;
                             if (typeof x2 !== 'number') throw 'Not a number!';
                             return (x1<x2?l4.value: l3.value);
-                        })() !== l3.value ? l134.fvalue(pv, "checkArgsAtLeast(arguments, ", l17.fvalue(pv, v482), ");", (function(){
+                        })() !== l3.value ? l134.fvalue(pv, "checkArgsAtLeast(arguments, ", l17.fvalue(pv, v496), ");", (function(){
                             var symbol = l133;
                             var value = symbol.value;
                             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                             return value;
-                        })()) : ""), (((typeof (v483) == "number")?l4.value: l3.value) !== l3.value ? l134.fvalue(pv, "checkArgsAtMost(arguments, ", l17.fvalue(pv, v483), ");", (function(){
+                        })()) : ""), (((typeof (v497) == "number")?l4.value: l3.value) !== l3.value ? l134.fvalue(pv, "checkArgsAtMost(arguments, ", l17.fvalue(pv, v497), ");", (function(){
                             var symbol = l133;
                             var value = symbol.value;
                             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -4293,187 +4522,358 @@ var l220 = {name: "N/A"};
                         })()) : ""));
                     }
                     catch (cf){
-                        if (cf.type == 'block' && cf.id == 182)
+                        if (cf.type == 'block' && cf.id == 185)
                             return values.apply(this, forcemv(cf.values));
                         else
                             throw cf;
                     }
                 })();
-            })(l22.fvalue(pv, v479),(v481 !== l3.value ? l220 : (function(){
+            })(l22.fvalue(pv, v493),(v495 !== l3.value ? l224 : (function(){
                 var x1 = 1;
                 if (typeof x1 !== 'number') throw 'Not a number!';
-                var x2 = v479;
+                var x2 = v493;
                 if (typeof x2 !== 'number') throw 'Not a number!';
-                var x3 = v480;
+                var x3 = v494;
                 if (typeof x3 !== 'number') throw 'Not a number!';
                 return x1+x2+x3;
             })()));
         })();
     }));
-    return l219;
+    return l223;
+})();
+var l225 = {name: "COMPILE-LAMBDA-OPTIONAL"};
+(function(){
+    (l225).fvalue = (function(v507){
+        ((v507)["fname"] = "COMPILE-LAMBDA-OPTIONAL");
+        return v507;
+    })((function (values,v499){
+        checkArgs(arguments, 2);
+        var i;
+        return (function(){
+            return (function(){
+                var v500 = l218.fvalue(pv, v499);
+                var v501 = l71.fvalue(pv, l216.fvalue(pv, v499));
+                var v502 = l71.fvalue(pv, v500);
+                return (v500 !== l3.value ? l134.fvalue(values, "switch(arguments.length-1){", (function(){
+                    var symbol = l133;
+                    var value = symbol.value;
+                    if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
+                    return value;
+                })(), (function(v503,v504,v505){
+                    return (function(){
+                        (function(){
+                            return (function(){
+                                while((function(){
+                                    var x1 = v505;
+                                    if (typeof x1 !== 'number') throw 'Not a number!';
+                                    var x2 = v502;
+                                    if (typeof x2 !== 'number') throw 'Not a number!';
+                                    return (x1<x2?l4.value: l3.value);
+                                })() !== l3.value){
+                                    (function(v506){
+                                        (v504 = ({car: l134.fvalue(pv, "case ", l17.fvalue(pv, (function(){
+                                            var x1 = v505;
+                                            if (typeof x1 !== 'number') throw 'Not a number!';
+                                            var x2 = v501;
+                                            if (typeof x2 !== 'number') throw 'Not a number!';
+                                            return x1+x2;
+                                        })()), ":", (function(){
+                                            var symbol = l133;
+                                            var value = symbol.value;
+                                            if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
+                                            return value;
+                                        })(), l191.fvalue(pv, (function(){
+                                            var tmp = v506;
+                                            return tmp === l3.value? l3.value: tmp.car;
+                                        })()), "=", l145.fvalue(pv, l33.fvalue(pv, v506)), ";", (function(){
+                                            var symbol = l133;
+                                            var value = symbol.value;
+                                            if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
+                                            return value;
+                                        })()), cdr: v504}));
+                                        return (v505 = (function(){
+                                            var x1 = v505;
+                                            if (typeof x1 !== 'number') throw 'Not a number!';
+                                            var x2 = 1;
+                                            if (typeof x2 !== 'number') throw 'Not a number!';
+                                            return x1+x2;
+                                        })());
+                                    })(l85.fvalue(pv, v505, v503));
+                                }return l3.value;
+                            })();
+                        })();
+                        (v504 = ({car: l134.fvalue(pv, "default: break;", (function(){
+                            var symbol = l133;
+                            var value = symbol.value;
+                            if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
+                            return value;
+                        })()), cdr: v504}));
+                        return l136.fvalue(pv, l66.fvalue(pv, v504));
+                    })();
+                })(l217.fvalue(pv, v499),l3.value,0), "}", (function(){
+                    var symbol = l133;
+                    var value = symbol.value;
+                    if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
+                    return value;
+                })()) : "");
+            })();
+        })();
+    }));
+    return l225;
+})();
+var l226 = {name: "COMPILE-LAMBDA-REST"};
+(function(){
+    (l226).fvalue = (function(v513){
+        ((v513)["fname"] = "COMPILE-LAMBDA-REST");
+        return v513;
+    })((function (values,v508){
+        checkArgs(arguments, 2);
+        var i;
+        return (function(){
+            return (function(v509,v510,v511){
+                return (v511 !== l3.value ? (function(v512){
+                    return l134.fvalue(values, "var ", v512, "= ", l145.fvalue(pv, l3.value), ";", (function(){
+                        var symbol = l133;
+                        var value = symbol.value;
+                        if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
+                        return value;
+                    })(), "for (var i = arguments.length-1; i>=", l17.fvalue(pv, (function(){
+                        var x1 = 1;
+                        if (typeof x1 !== 'number') throw 'Not a number!';
+                        var x2 = v509;
+                        if (typeof x2 !== 'number') throw 'Not a number!';
+                        var x3 = v510;
+                        if (typeof x3 !== 'number') throw 'Not a number!';
+                        return x1+x2+x3;
+                    })()), "; i--)", (function(){
+                        var symbol = l133;
+                        var value = symbol.value;
+                        if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
+                        return value;
+                    })(), l143.fvalue(pv, v512, " = ", "{car: arguments[i], cdr: "), v512, "};", (function(){
+                        var symbol = l133;
+                        var value = symbol.value;
+                        if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
+                        return value;
+                    })());
+                })(l191.fvalue(pv, v511)) : "");
+            })(l71.fvalue(pv, l216.fvalue(pv, v508)),l71.fvalue(pv, l218.fvalue(pv, v508)),l219.fvalue(pv, v508));
+        })();
+    }));
+    return l226;
+})();
+var l227 = {name: "COMPILE-LAMBDA-PARSE-KEYWORDS"};
+(function(){
+    (l227).fvalue = (function(v523){
+        ((v523)["fname"] = "COMPILE-LAMBDA-PARSE-KEYWORDS");
+        return v523;
+    })((function (values,v514){
+        checkArgs(arguments, 2);
+        var i;
+        return (function(){
+            return (function(v515,v516,v517){
+                return l134.fvalue(values, "var i;", (function(){
+                    var symbol = l133;
+                    var value = symbol.value;
+                    if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
+                    return value;
+                })(), l138.fvalue(pv, (function (values,v518){
+                    checkArgs(arguments, 2);
+                    var i;
+                    return (function(v519){
+                        return l134.fvalue(values, "var ", l191.fvalue(pv, v519), "; ", (function(){
+                            var symbol = l133;
+                            var value = symbol.value;
+                            if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
+                            return value;
+                        })());
+                    })(l40.fvalue(pv, (function(){
+                        var tmp = v518;
+                        return tmp === l3.value? l3.value: tmp.car;
+                    })()));
+                }), v517), (function(v521){
+                    return l138.fvalue(pv, v521, v517);
+                })((function (values,v520){
+                    checkArgs(arguments, 2);
+                    var i;
+                    return l134.fvalue(values, "for (i=", l17.fvalue(pv, (function(){
+                        var x1 = 1;
+                        if (typeof x1 !== 'number') throw 'Not a number!';
+                        var x2 = v515;
+                        if (typeof x2 !== 'number') throw 'Not a number!';
+                        var x3 = v516;
+                        if (typeof x3 !== 'number') throw 'Not a number!';
+                        return x1+x2+x3;
+                    })()), "; i<arguments.length; i+=2){", (function(){
+                        var symbol = l133;
+                        var value = symbol.value;
+                        if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
+                        return value;
+                    })(), l143.fvalue(pv, "if (arguments[i] === ", l145.fvalue(pv, l32.fvalue(pv, v520)), "){", (function(){
+                        var symbol = l133;
+                        var value = symbol.value;
+                        if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
+                        return value;
+                    })(), l143.fvalue(pv, l191.fvalue(pv, l33.fvalue(pv, (function(){
+                        var tmp = v520;
+                        return tmp === l3.value? l3.value: tmp.car;
+                    })())), " = arguments[i+1];", (function(){
+                        var symbol = l133;
+                        var value = symbol.value;
+                        if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
+                        return value;
+                    })(), "break;", (function(){
+                        var symbol = l133;
+                        var value = symbol.value;
+                        if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
+                        return value;
+                    })()), "}", (function(){
+                        var symbol = l133;
+                        var value = symbol.value;
+                        if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
+                        return value;
+                    })()), "}", (function(){
+                        var symbol = l133;
+                        var value = symbol.value;
+                        if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
+                        return value;
+                    })(), "if (i == arguments.length){", (function(){
+                        var symbol = l133;
+                        var value = symbol.value;
+                        if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
+                        return value;
+                    })(), l143.fvalue(pv, l191.fvalue(pv, l33.fvalue(pv, (function(){
+                        var tmp = v520;
+                        return tmp === l3.value? l3.value: tmp.car;
+                    })())), " = ", l145.fvalue(pv, l33.fvalue(pv, v520)), ";", (function(){
+                        var symbol = l133;
+                        var value = symbol.value;
+                        if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
+                        return value;
+                    })()), "}", (function(){
+                        var symbol = l133;
+                        var value = symbol.value;
+                        if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
+                        return value;
+                    })());
+                })), (l12.fvalue(pv, v517) !== l3.value ? "" : l134.fvalue(pv, "for (i=", l17.fvalue(pv, (function(){
+                    var x1 = 1;
+                    if (typeof x1 !== 'number') throw 'Not a number!';
+                    var x2 = v515;
+                    if (typeof x2 !== 'number') throw 'Not a number!';
+                    var x3 = v516;
+                    if (typeof x3 !== 'number') throw 'Not a number!';
+                    return x1+x2+x3;
+                })()), "; i<arguments.length; i+=2){", (function(){
+                    var symbol = l133;
+                    var value = symbol.value;
+                    if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
+                    return value;
+                })(), l143.fvalue(pv, "if (", l136.fvalue(pv, l73.fvalue(pv, (function (values,v522){
+                    checkArgs(arguments, 2);
+                    var i;
+                    return l134.fvalue(values, "arguments[i] !== ", l145.fvalue(pv, l32.fvalue(pv, v522)));
+                }), v517), " && "), ")", (function(){
+                    var symbol = l133;
+                    var value = symbol.value;
+                    if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
+                    return value;
+                })(), l143.fvalue(pv, "throw 'Unknown keyword argument ' + arguments[i].name;", (function(){
+                    var symbol = l133;
+                    var value = symbol.value;
+                    if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
+                    return value;
+                })())), "}", (function(){
+                    var symbol = l133;
+                    var value = symbol.value;
+                    if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
+                    return value;
+                })())));
+            })(l71.fvalue(pv, l216.fvalue(pv, v514)),l71.fvalue(pv, l218.fvalue(pv, v514)),l220.fvalue(pv, v514));
+        })();
+    }));
+    return l227;
 })();
-var l221 = {name: "COMPILE-LAMBDA"};
-var l222 = {name: "LS-COMPILE-BLOCK"};
+var l228 = {name: "COMPILE-LAMBDA"};
+var l229 = {name: "LS-COMPILE-BLOCK"};
 (function(){
-    (l221).fvalue = (function(v500){
-        ((v500)["fname"] = "COMPILE-LAMBDA");
-        return v500;
-    })((function (values,v485,v486){
+    (l228).fvalue = (function(v536){
+        ((v536)["fname"] = "COMPILE-LAMBDA");
+        return v536;
+    })((function (values,v524,v525){
         checkArgs(arguments, 3);
+        var i;
         return (function(){
-            return (function(v487,v488,v489,v490){
+            return (function(v526,v527,v528,v529,v530){
                 ((((typeof((function(){
-                    var tmp = v486;
+                    var tmp = v525;
                     return tmp === l3.value? l3.value: tmp.car;
                 })()) == "string")?l4.value: l3.value) !== l3.value ? l27.fvalue(pv, l12.fvalue(pv, (function(){
-                    var tmp = v486;
+                    var tmp = v525;
                     return tmp === l3.value? l3.value: tmp.cdr;
                 })())) : l3.value) !== l3.value ? (function(){
-                    (v490 = (function(){
-                        var tmp = v486;
+                    (v530 = (function(){
+                        var tmp = v525;
                         return tmp === l3.value? l3.value: tmp.car;
                     })());
-                    return (v486 = (function(){
-                        var tmp = v486;
+                    return (v525 = (function(){
+                        var tmp = v525;
                         return tmp === l3.value? l3.value: tmp.cdr;
                     })());
                 })() : l3.value);
-                return (function(v491,v492,v493){
+                return (function(v531,v532,v533){
                     try {
                         var tmp;
                         tmp = l188.value;
-                        l188.value = v493;
-                        v493 = tmp;
-                        return l218.fvalue(values, v490, "(function (", l136.fvalue(pv, ({car: "values", cdr: l73.fvalue(pv, (function(){
+                        l188.value = v533;
+                        v533 = tmp;
+                        return l222.fvalue(values, v530, "(function (", l136.fvalue(pv, ({car: "values", cdr: l73.fvalue(pv, (function(){
                             var symbol = l191;
                             var func = symbol.fvalue;
                             if (func === undefined) throw "Function `" + symbol.name + "' is undefined.";
                             return func;
-                        })(), l64.fvalue(pv, v487, v488))}), ","), "){", (function(){
-                            var symbol = l133;
-                            var value = symbol.value;
-                            if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
-                            return value;
-                        })(), l143.fvalue(pv, l219.fvalue(pv, v491, v492, v489), (v488 !== l3.value ? l134.fvalue(pv, "switch(arguments.length-1){", (function(){
+                        })(), l64.fvalue(pv, v526, v527))}), ","), "){", (function(){
                             var symbol = l133;
                             var value = symbol.value;
                             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                             return value;
-                        })(), (function(v494,v495,v496){
-                            return (function(){
-                                (function(){
-                                    return (function(){
-                                        while((function(){
-                                            var x1 = v496;
-                                            if (typeof x1 !== 'number') throw 'Not a number!';
-                                            var x2 = v492;
-                                            if (typeof x2 !== 'number') throw 'Not a number!';
-                                            return (x1<x2?l4.value: l3.value);
-                                        })() !== l3.value){
-                                            (function(v497){
-                                                (v495 = ({car: l134.fvalue(pv, "case ", l17.fvalue(pv, (function(){
-                                                    var x1 = v496;
-                                                    if (typeof x1 !== 'number') throw 'Not a number!';
-                                                    var x2 = v491;
-                                                    if (typeof x2 !== 'number') throw 'Not a number!';
-                                                    return x1+x2;
-                                                })()), ":", (function(){
-                                                    var symbol = l133;
-                                                    var value = symbol.value;
-                                                    if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
-                                                    return value;
-                                                })(), l191.fvalue(pv, (function(){
-                                                    var tmp = v497;
-                                                    return tmp === l3.value? l3.value: tmp.car;
-                                                })()), "=", l145.fvalue(pv, l33.fvalue(pv, v497)), ";", (function(){
-                                                    var symbol = l133;
-                                                    var value = symbol.value;
-                                                    if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
-                                                    return value;
-                                                })()), cdr: v495}));
-                                                return (v496 = (function(){
-                                                    var x1 = v496;
-                                                    if (typeof x1 !== 'number') throw 'Not a number!';
-                                                    var x2 = 1;
-                                                    if (typeof x2 !== 'number') throw 'Not a number!';
-                                                    return x1+x2;
-                                                })());
-                                            })(l85.fvalue(pv, v496, v494));
-                                        }return l3.value;
-                                    })();
-                                })();
-                                (v495 = ({car: l134.fvalue(pv, "default: break;", (function(){
-                                    var symbol = l133;
-                                    var value = symbol.value;
-                                    if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
-                                    return value;
-                                })()), cdr: v495}));
-                                return l136.fvalue(pv, l66.fvalue(pv, v495));
-                            })();
-                        })(l215.fvalue(pv, v485),l3.value,0), "}", (function(){
-                            var symbol = l133;
-                            var value = symbol.value;
-                            if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
-                            return value;
-                        })()) : ""), (v489 !== l3.value ? (function(v498){
-                            return l134.fvalue(pv, "var ", v498, "= ", l145.fvalue(pv, l3.value), ";", (function(){
-                                var symbol = l133;
-                                var value = symbol.value;
-                                if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
-                                return value;
-                            })(), "for (var i = arguments.length-1; i>=", l17.fvalue(pv, (function(){
-                                var x1 = 1;
-                                if (typeof x1 !== 'number') throw 'Not a number!';
-                                var x2 = v491;
-                                if (typeof x2 !== 'number') throw 'Not a number!';
-                                var x3 = v492;
-                                if (typeof x3 !== 'number') throw 'Not a number!';
-                                return x1+x2+x3;
-                            })()), "; i--)", (function(){
-                                var symbol = l133;
-                                var value = symbol.value;
-                                if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
-                                return value;
-                            })(), l143.fvalue(pv, v498, " = ", "{car: arguments[i], cdr: "), v498, "};", (function(){
-                                var symbol = l133;
-                                var value = symbol.value;
-                                if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
-                                return value;
-                            })());
-                        })(l191.fvalue(pv, v489)) : ""), (function(v499){
+                        })(), l143.fvalue(pv, l223.fvalue(pv, v531, v532, (function(v534){
+                            return (v534 !== l3.value ? v534 : v528);
+                        })(v529)), l225.fvalue(pv, v524), l226.fvalue(pv, v524), l227.fvalue(pv, v524), (function(v535){
                             try {
                                 var tmp;
                                 tmp = l172.value;
-                                l172.value = v499;
-                                v499 = tmp;
-                                return l222.fvalue(pv, v486, l4.value);
+                                l172.value = v535;
+                                v535 = tmp;
+                                return l229.fvalue(pv, v525, l4.value);
                             }
                             finally {
-                                l172.value = v499;
+                                l172.value = v535;
                             }
                         })(l4.value)), "})");
                     }
                     finally {
-                        l188.value = v493;
+                        l188.value = v533;
                     }
-                })(l71.fvalue(pv, v487),l71.fvalue(pv, v488),l192.fvalue(pv, l64.fvalue(pv, l58.fvalue(pv, v489), v487, v488)));
-            })(l214.fvalue(pv, v485),l216.fvalue(pv, v485),l217.fvalue(pv, v485),l3.value);
+                })(l71.fvalue(pv, v526),l71.fvalue(pv, v527),l192.fvalue(pv, l64.fvalue(pv, l58.fvalue(pv, v529), v526, v527, v528)));
+            })(l216.fvalue(pv, v524),l218.fvalue(pv, v524),l221.fvalue(pv, v524),l219.fvalue(pv, v524),l3.value);
         })();
     }));
-    return l221;
+    return l228;
 })();
-var l223 = {name: "SETQ-PAIR"};
-var l224 = {name: "SET"};
+var l230 = {name: "SETQ-PAIR"};
+var l231 = {name: "SET"};
 (function(){
-    (l223).fvalue = (function(v504){
-        ((v504)["fname"] = "SETQ-PAIR");
-        return v504;
-    })((function (values,v501,v502){
+    (l230).fvalue = (function(v540){
+        ((v540)["fname"] = "SETQ-PAIR");
+        return v540;
+    })((function (values,v537,v538){
         checkArgs(arguments, 3);
+        var i;
         return (function(){
-            return (function(v503){
-                return ((((l175.fvalue(pv, v503) === l105)?l4.value: l3.value) !== l3.value ? (l27.fvalue(pv, l88.fvalue(pv, l202, l177.fvalue(pv, v503))) !== l3.value ? l27.fvalue(pv, l88.fvalue(pv, l204, l177.fvalue(pv, v503))) : l3.value) : l3.value) !== l3.value ? l134.fvalue(values, l176.fvalue(pv, v503), " = ", l145.fvalue(pv, v502)) : l145.fvalue(values, l64.fvalue(pv, l44.fvalue(pv, l224), l44.fvalue(pv, l64.fvalue(pv, l44.fvalue(pv, l167), l44.fvalue(pv, v501))), l44.fvalue(pv, v502))));
-            })(l187.fvalue(pv, v501, (function(){
+            return (function(v539){
+                return ((((l175.fvalue(pv, v539) === l105)?l4.value: l3.value) !== l3.value ? (l27.fvalue(pv, l88.fvalue(pv, l202, l177.fvalue(pv, v539))) !== l3.value ? l27.fvalue(pv, l88.fvalue(pv, l204, l177.fvalue(pv, v539))) : l3.value) : l3.value) !== l3.value ? l134.fvalue(values, l176.fvalue(pv, v539), " = ", l145.fvalue(pv, v538)) : l145.fvalue(values, l64.fvalue(pv, l44.fvalue(pv, l231), l44.fvalue(pv, l64.fvalue(pv, l44.fvalue(pv, l167), l44.fvalue(pv, v537))), l44.fvalue(pv, v538))));
+            })(l187.fvalue(pv, v537, (function(){
                 var symbol = l188;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -4481,45 +4881,46 @@ var l224 = {name: "SET"};
             })(), l105));
         })();
     }));
-    return l223;
+    return l230;
 })();
-var l225 = {name: "SETQ"};
-((l206).value = ({car: l44.fvalue(pv, l225, (function (values){
-    var v505= l3.value;
+var l232 = {name: "SETQ"};
+((l206).value = ({car: l44.fvalue(pv, l232, (function (values){
+    var v541= l3.value;
     for (var i = arguments.length-1; i>=1; i--)
-        v505 = {car: arguments[i], cdr: 
-    v505};
+        v541 = {car: arguments[i], cdr: 
+    v541};
+    var i;
     return (function(){
-        return (function(v506){
+        return (function(v542){
             (function(){
                 try {
                     return (function(){
                         while(l4.value !== l3.value){
-                            (l12.fvalue(pv, v505) !== l3.value ? (function(){
-                                throw ({type: 'block', id: 187, values: l3.value, message: 'Return from unknown block NIL.'})
+                            (l12.fvalue(pv, v541) !== l3.value ? (function(){
+                                throw ({type: 'block', id: 193, values: l3.value, message: 'Return from unknown block NIL.'})
                             })() : (l12.fvalue(pv, (function(){
-                                var tmp = v505;
+                                var tmp = v541;
                                 return tmp === l3.value? l3.value: tmp.cdr;
                             })()) !== l3.value ? (function(){
                                 throw "Odd paris in SETQ";
                             })() : (function(){
-                                (v506 = l134.fvalue(pv, v506, l134.fvalue(pv, l223.fvalue(pv, (function(){
-                                    var tmp = v505;
+                                (v542 = l134.fvalue(pv, v542, l134.fvalue(pv, l230.fvalue(pv, (function(){
+                                    var tmp = v541;
                                     return tmp === l3.value? l3.value: tmp.car;
-                                })(), l33.fvalue(pv, v505)), (l12.fvalue(pv, l35.fvalue(pv, v505)) !== l3.value ? "" : ", "))));
-                                return (v505 = l35.fvalue(pv, v505));
+                                })(), l33.fvalue(pv, v541)), (l12.fvalue(pv, l35.fvalue(pv, v541)) !== l3.value ? "" : ", "))));
+                                return (v541 = l35.fvalue(pv, v541));
                             })()));
                         }return l3.value;
                     })();
                 }
                 catch (cf){
-                    if (cf.type == 'block' && cf.id == 187)
+                    if (cf.type == 'block' && cf.id == 193)
                         return cf.values;
                     else
                         throw cf;
                 }
             })();
-            return l134.fvalue(values, "(", v506, ")");
+            return l134.fvalue(values, "(", v542, ")");
         })("");
     })();
 })), cdr: (function(){
@@ -4528,11 +4929,12 @@ var l225 = {name: "SETQ"};
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l226 = {name: "JS-VREF"};
-((l206).value = ({car: l44.fvalue(pv, l226, (function (values,v507){
+var l233 = {name: "JS-VREF"};
+((l206).value = ({car: l44.fvalue(pv, l233, (function (values,v543){
     checkArgs(arguments, 2);
+    var i;
     return (function(){
-        return v507;
+        return v543;
     })();
 })), cdr: (function(){
     var symbol = l206;
@@ -4540,11 +4942,12 @@ var l226 = {name: "JS-VREF"};
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l227 = {name: "JS-VSET"};
-((l206).value = ({car: l44.fvalue(pv, l227, (function (values,v508,v509){
+var l234 = {name: "JS-VSET"};
+((l206).value = ({car: l44.fvalue(pv, l234, (function (values,v544,v545){
     checkArgs(arguments, 3);
+    var i;
     return (function(){
-        return l134.fvalue(values, "(", v508, " = ", l145.fvalue(pv, v509), ")");
+        return l134.fvalue(values, "(", v544, " = ", l145.fvalue(pv, v545), ")");
     })();
 })), cdr: (function(){
     var symbol = l206;
@@ -4553,42 +4956,43 @@ var l227 = {name: "JS-VSET"};
     return value;
 })()}));
 (function(){
-    (l148).fvalue = (function(v516){
-        ((v516)["fname"] = "ESCAPE-STRING");
-        return v516;
-    })((function (values,v510){
+    (l148).fvalue = (function(v552){
+        ((v552)["fname"] = "ESCAPE-STRING");
+        return v552;
+    })((function (values,v546){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
-            return (function(v511,v512,v513){
+            return (function(v547,v548,v549){
                 (function(){
                     return (function(){
                         while((function(){
-                            var x1 = v512;
+                            var x1 = v548;
                             if (typeof x1 !== 'number') throw 'Not a number!';
-                            var x2 = v513;
+                            var x2 = v549;
                             if (typeof x2 !== 'number') throw 'Not a number!';
                             return (x1<x2?l4.value: l3.value);
                         })() !== l3.value){
-                            (function(v514){
-                                ((function(v515){
-                                    return (v515 !== l3.value ? v515 : l80.fvalue(pv, v514, 92));
-                                })(l80.fvalue(pv, v514, 34)) !== l3.value ? (v511 = l134.fvalue(pv, v511, "\\")) : l3.value);
-                                (l80.fvalue(pv, v514, 10) !== l3.value ? (function(){
-                                    (v511 = l134.fvalue(pv, v511, "\\"));
-                                    return (v514 = 110);
+                            (function(v550){
+                                ((function(v551){
+                                    return (v551 !== l3.value ? v551 : l80.fvalue(pv, v550, 92));
+                                })(l80.fvalue(pv, v550, 34)) !== l3.value ? (v547 = l134.fvalue(pv, v547, "\\")) : l3.value);
+                                (l80.fvalue(pv, v550, 10) !== l3.value ? (function(){
+                                    (v547 = l134.fvalue(pv, v547, "\\"));
+                                    return (v550 = 110);
                                 })() : l3.value);
-                                return (v511 = l134.fvalue(pv, v511, l98.fvalue(pv, v514)));
+                                return (v547 = l134.fvalue(pv, v547, l98.fvalue(pv, v550)));
                             })((function(){
-                                var string = v510;
-                                var index = v512;
+                                var string = v546;
+                                var index = v548;
                                 if (typeof string != 'string')
                                     throw 'The value ' + string + ' is not a type string.';
                                 if (typeof index != 'number')
                                     throw 'The value ' + index + ' is not a type number.';
                                 return string.charCodeAt(index);
                             })());
-                            (v512 = (function(){
-                                var x1 = v512;
+                            (v548 = (function(){
+                                var x1 = v548;
                                 if (typeof x1 !== 'number') throw 'Not a number!';
                                 var x2 = 1;
                                 if (typeof x2 !== 'number') throw 'Not a number!';
@@ -4597,33 +5001,34 @@ var l227 = {name: "JS-VSET"};
                         }return l3.value;
                     })();
                 })();
-                return v511;
-            })("",0,l71.fvalue(pv, v510));
+                return v547;
+            })("",0,l71.fvalue(pv, v546));
         })();
     }));
     return l148;
 })();
-var l228 = {name: "*LITERAL-SYMBOLS*"};
+var l235 = {name: "*LITERAL-SYMBOLS*"};
 (function(){
-    (((l228.value !== undefined)?l4.value: l3.value) !== l3.value ? l3.value : ((l228).value = l3.value));
-    return l228;
+    (((l235.value !== undefined)?l4.value: l3.value) !== l3.value ? l3.value : ((l235).value = l3.value));
+    return l235;
 })();
-var l229 = {name: "*LITERAL-COUNTER*"};
+var l236 = {name: "*LITERAL-COUNTER*"};
 (function(){
-    (((l229.value !== undefined)?l4.value: l3.value) !== l3.value ? l3.value : ((l229).value = 0));
-    return l229;
+    (((l236.value !== undefined)?l4.value: l3.value) !== l3.value ? l3.value : ((l236).value = 0));
+    return l236;
 })();
-var l230 = {name: "GENLIT"};
+var l237 = {name: "GENLIT"};
 (function(){
-    (l230).fvalue = (function(v517){
-        ((v517)["fname"] = "GENLIT");
-        return v517;
+    (l237).fvalue = (function(v553){
+        ((v553)["fname"] = "GENLIT");
+        return v553;
     })((function (values){
         checkArgsAtMost(arguments, 1);
+        var i;
         return (function(){
-            return l134.fvalue(values, "l", l17.fvalue(pv, ((l229).value = (function(){
+            return l134.fvalue(values, "l", l17.fvalue(pv, ((l236).value = (function(){
                 var x1 = (function(){
-                    var symbol = l229;
+                    var symbol = l236;
                     var value = symbol.value;
                     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                     return value;
@@ -4635,90 +5040,93 @@ var l230 = {name: "GENLIT"};
             })())));
         })();
     }));
-    return l230;
+    return l237;
 })();
-var l231 = {name: "LITERAL"};
+var l238 = {name: "LITERAL"};
 (function(){
-    (l231).fvalue = (function(v532){
-        ((v532)["fname"] = "LITERAL");
-        return v532;
-    })((function (values,v518,v519){
+    (l238).fvalue = (function(v568){
+        ((v568)["fname"] = "LITERAL");
+        return v568;
+    })((function (values,v554,v555){
         checkArgsAtLeast(arguments, 2);
         checkArgsAtMost(arguments, 3);
         switch(arguments.length-1){
         case 1:
-        v519=l3.value;
+        v555=l3.value;
         default: break;
         }
+        var i;
         return (function(){
-            return (l81.fvalue(pv, v518) !== l3.value ? l17.fvalue(values, v518) : (((typeof(v518) == "string")?l4.value: l3.value) !== l3.value ? l134.fvalue(values, "\"", l148.fvalue(pv, v518), "\"") : (((function(){
-                var tmp = v518;
+            return (l81.fvalue(pv, v554) !== l3.value ? l17.fvalue(values, v554) : (((typeof(v554) == "string")?l4.value: l3.value) !== l3.value ? l134.fvalue(values, "\"", l148.fvalue(pv, v554), "\"") : (((function(){
+                var tmp = v554;
                 return (typeof tmp == 'object' && 'name' in tmp);
-            })()?l4.value: l3.value) !== l3.value ? (function(v520){
-                return (v520 !== l3.value ? v520 : (function(v522,v523){
-                    ((l228).value = ({car: ({car: v518, cdr: v522}), cdr: (function(){
-                        var symbol = l228;
+            })()?l4.value: l3.value) !== l3.value ? (function(v556){
+                return (v556 !== l3.value ? v556 : (function(v558,v559){
+                    ((l235).value = ({car: ({car: v554, cdr: v558}), cdr: (function(){
+                        var symbol = l235;
                         var value = symbol.value;
                         if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                         return value;
                     })()}));
-                    l194.fvalue(pv, l134.fvalue(pv, "var ", v522, " = ", v523));
-                    return v522;
-                })(l230.fvalue(pv),(function(v521){
-                    return (l12.fvalue(pv, v521) !== l3.value ? l134.fvalue(pv, "{name: \"", l148.fvalue(pv, (v518).name), "\"}") : l145.fvalue(pv, l64.fvalue(pv, l44.fvalue(pv, l130), l44.fvalue(pv, (v518).name), l44.fvalue(pv, l114.fvalue(pv, v521)))));
-                })(l122.fvalue(pv, v518))));
+                    l194.fvalue(pv, l134.fvalue(pv, "var ", v558, " = ", v559));
+                    return v558;
+                })(l237.fvalue(pv),(function(v557){
+                    return (l12.fvalue(pv, v557) !== l3.value ? l134.fvalue(pv, "{name: \"", l148.fvalue(pv, (v554).name), "\"}") : l145.fvalue(pv, l64.fvalue(pv, l44.fvalue(pv, l130), l44.fvalue(pv, (v554).name), l44.fvalue(pv, l114.fvalue(pv, v557)))));
+                })(l122.fvalue(pv, v554))));
             })((function(){
-                var tmp = l97.fvalue(pv, v518, (function(){
-                    var symbol = l228;
+                var tmp = l97.fvalue(pv, v554, (function(){
+                    var symbol = l235;
                     var value = symbol.value;
                     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                     return value;
                 })());
                 return tmp === l3.value? l3.value: tmp.cdr;
             })()) : (((function(){
-                var tmp = v518;
+                var tmp = v554;
                 return (typeof tmp == 'object' && 'car' in tmp);
             })()?l4.value: l3.value) !== l3.value ? (function(){
-                var v524 = l87.fvalue(pv, v518);
-                var v525 = l86.fvalue(pv, v518);
-                var v526 = l134.fvalue(pv, "QIList(", l137.fvalue(pv, l73.fvalue(pv, (function (values,v527){
+                var v560 = l87.fvalue(pv, v554);
+                var v561 = l86.fvalue(pv, v554);
+                var v562 = l134.fvalue(pv, "QIList(", l137.fvalue(pv, l73.fvalue(pv, (function (values,v563){
                     checkArgs(arguments, 2);
-                    return l231.fvalue(values, v527, l4.value);
-                }), v524), ","), l231.fvalue(pv, (function(){
-                    var tmp = v525;
+                    var i;
+                    return l238.fvalue(values, v563, l4.value);
+                }), v560), ","), l238.fvalue(pv, (function(){
+                    var tmp = v561;
                     return tmp === l3.value? l3.value: tmp.car;
-                })(), l4.value), ",", l231.fvalue(pv, (function(){
-                    var tmp = v525;
+                })(), l4.value), ",", l238.fvalue(pv, (function(){
+                    var tmp = v561;
                     return tmp === l3.value? l3.value: tmp.cdr;
                 })(), l4.value), ")");
-                return (v519 !== l3.value ? v526 : (function(v528){
-                    l194.fvalue(pv, l134.fvalue(pv, "var ", v528, " = ", v526));
-                    return v528;
-                })(l230.fvalue(pv)));
+                return (v555 !== l3.value ? v562 : (function(v564){
+                    l194.fvalue(pv, l134.fvalue(pv, "var ", v564, " = ", v562));
+                    return v564;
+                })(l237.fvalue(pv)));
             })() : (((function(){
-                var x = v518;
+                var x = v554;
                 return typeof x === 'object' && 'length' in x;
-            })()?l4.value: l3.value) !== l3.value ? (function(v529){
-                return (function(v530){
-                    return (v519 !== l3.value ? v530 : (function(v531){
-                        l194.fvalue(pv, l134.fvalue(pv, "var ", v531, " = ", v530));
-                        return v531;
-                    })(l230.fvalue(pv)));
+            })()?l4.value: l3.value) !== l3.value ? (function(v565){
+                return (function(v566){
+                    return (v555 !== l3.value ? v566 : (function(v567){
+                        l194.fvalue(pv, l134.fvalue(pv, "var ", v567, " = ", v566));
+                        return v567;
+                    })(l237.fvalue(pv)));
                 })(l134.fvalue(pv, "[", l136.fvalue(pv, l73.fvalue(pv, (function(){
-                    var symbol = l231;
+                    var symbol = l238;
                     var func = symbol.fvalue;
                     if (func === undefined) throw "Function `" + symbol.name + "' is undefined.";
                     return func;
-                })(), v529), ", "), "]"));
-            })(l139.fvalue(pv, v518)) : l3.value)))));
+                })(), v565), ", "), "]"));
+            })(l139.fvalue(pv, v554)) : l3.value)))));
         })();
     }));
-    return l231;
+    return l238;
 })();
-((l206).value = ({car: l44.fvalue(pv, l167, (function (values,v533){
+((l206).value = ({car: l44.fvalue(pv, l167, (function (values,v569){
     checkArgs(arguments, 2);
+    var i;
     return (function(){
-        return l231.fvalue(values, v533);
+        return l238.fvalue(values, v569);
     })();
 })), cdr: (function(){
     var symbol = l206;
@@ -4726,25 +5134,26 @@ var l231 = {name: "LITERAL"};
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l232 = {name: "%WHILE"};
-((l206).value = ({car: l44.fvalue(pv, l232, (function (values,v535){
+var l239 = {name: "%WHILE"};
+((l206).value = ({car: l44.fvalue(pv, l239, (function (values,v571){
     checkArgsAtLeast(arguments, 2);
-    var v534= l3.value;
+    var v570= l3.value;
     for (var i = arguments.length-1; i>=2; i--)
-        v534 = {car: arguments[i], cdr: 
-    v534};
+        v570 = {car: arguments[i], cdr: 
+    v570};
+    var i;
     return (function(){
         return l134.fvalue(values, "(function(){", (function(){
             var symbol = l133;
             var value = symbol.value;
             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
             return value;
-        })(), l143.fvalue(pv, "while(", l145.fvalue(pv, v535), " !== ", l145.fvalue(pv, l3.value), "){", (function(){
+        })(), l143.fvalue(pv, "while(", l145.fvalue(pv, v571), " !== ", l145.fvalue(pv, l3.value), "){", (function(){
             var symbol = l133;
             var value = symbol.value;
             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
             return value;
-        })(), l143.fvalue(pv, l222.fvalue(pv, v534)), "}", "return ", l145.fvalue(pv, l3.value), ";", (function(){
+        })(), l143.fvalue(pv, l229.fvalue(pv, v570)), "}", "return ", l145.fvalue(pv, l3.value), ";", (function(){
             var symbol = l133;
             var value = symbol.value;
             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -4757,19 +5166,20 @@ var l232 = {name: "%WHILE"};
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l233 = {name: "SYMBOL-FUNCTION"};
-((l206).value = ({car: l44.fvalue(pv, l104, (function (values,v536){
+var l240 = {name: "SYMBOL-FUNCTION"};
+((l206).value = ({car: l44.fvalue(pv, l104, (function (values,v572){
     checkArgs(arguments, 2);
+    var i;
     return (function(){
-        return ((l59.fvalue(pv, v536) !== l3.value ? (((function(){
-            var tmp = v536;
+        return ((l59.fvalue(pv, v572) !== l3.value ? (((function(){
+            var tmp = v572;
             return tmp === l3.value? l3.value: tmp.car;
-        })() === l5)?l4.value: l3.value) : l3.value) !== l3.value ? l221.fvalue(values, l33.fvalue(pv, v536), l35.fvalue(pv, v536)) : (((function(){
-            var tmp = v536;
+        })() === l5)?l4.value: l3.value) : l3.value) !== l3.value ? l228.fvalue(values, l33.fvalue(pv, v572), l35.fvalue(pv, v572)) : (((function(){
+            var tmp = v572;
             return (typeof tmp == 'object' && 'name' in tmp);
-        })()?l4.value: l3.value) !== l3.value ? (function(v537){
-            return (v537 !== l3.value ? l176.fvalue(values, v537) : l145.fvalue(values, l64.fvalue(pv, l44.fvalue(pv, l233), l44.fvalue(pv, l64.fvalue(pv, l44.fvalue(pv, l167), l44.fvalue(pv, v536))))));
-        })(l187.fvalue(pv, v536, (function(){
+        })()?l4.value: l3.value) !== l3.value ? (function(v573){
+            return (v573 !== l3.value ? l176.fvalue(values, v573) : l145.fvalue(values, l64.fvalue(pv, l44.fvalue(pv, l240), l44.fvalue(pv, l64.fvalue(pv, l44.fvalue(pv, l167), l44.fvalue(pv, v572))))));
+        })(l187.fvalue(pv, v572, (function(){
             var symbol = l188;
             var value = symbol.value;
             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -4782,49 +5192,52 @@ var l233 = {name: "SYMBOL-FUNCTION"};
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l234 = {name: "MAKE-FUNCTION-BINDING"};
+var l241 = {name: "MAKE-FUNCTION-BINDING"};
 (function(){
-    (l234).fvalue = (function(v539){
-        ((v539)["fname"] = "MAKE-FUNCTION-BINDING");
-        return v539;
-    })((function (values,v538){
+    (l241).fvalue = (function(v575){
+        ((v575)["fname"] = "MAKE-FUNCTION-BINDING");
+        return v575;
+    })((function (values,v574){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
-            return l173.fvalue(values, v538, l104, l190.fvalue(pv, v538));
+            return l173.fvalue(values, v574, l104, l190.fvalue(pv, v574));
         })();
     }));
-    return l234;
+    return l241;
 })();
-var l235 = {name: "COMPILE-FUNCTION-DEFINITION"};
+var l242 = {name: "COMPILE-FUNCTION-DEFINITION"};
 (function(){
-    (l235).fvalue = (function(v541){
-        ((v541)["fname"] = "COMPILE-FUNCTION-DEFINITION");
-        return v541;
-    })((function (values,v540){
+    (l242).fvalue = (function(v577){
+        ((v577)["fname"] = "COMPILE-FUNCTION-DEFINITION");
+        return v577;
+    })((function (values,v576){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
-            return l221.fvalue(values, (function(){
-                var tmp = v540;
+            return l228.fvalue(values, (function(){
+                var tmp = v576;
                 return tmp === l3.value? l3.value: tmp.car;
             })(), (function(){
-                var tmp = v540;
+                var tmp = v576;
                 return tmp === l3.value? l3.value: tmp.cdr;
             })());
         })();
     }));
-    return l235;
+    return l242;
 })();
-var l236 = {name: "TRANSLATE-FUNCTION"};
+var l243 = {name: "TRANSLATE-FUNCTION"};
 (function(){
-    (l236).fvalue = (function(v544){
-        ((v544)["fname"] = "TRANSLATE-FUNCTION");
-        return v544;
-    })((function (values,v542){
+    (l243).fvalue = (function(v580){
+        ((v580)["fname"] = "TRANSLATE-FUNCTION");
+        return v580;
+    })((function (values,v578){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
-            return (function(v543){
-                return l176.fvalue(values, v543);
-            })(l187.fvalue(pv, v542, (function(){
+            return (function(v579){
+                return l176.fvalue(values, v579);
+            })(l187.fvalue(pv, v578, (function(){
                 var symbol = l188;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -4832,64 +5245,65 @@ var l236 = {name: "TRANSLATE-FUNCTION"};
             })(), l104));
         })();
     }));
-    return l236;
+    return l243;
 })();
-var l237 = {name: "FLET"};
-((l206).value = ({car: l44.fvalue(pv, l237, (function (values,v546){
+var l244 = {name: "FLET"};
+((l206).value = ({car: l44.fvalue(pv, l244, (function (values,v582){
     checkArgsAtLeast(arguments, 2);
-    var v545= l3.value;
+    var v581= l3.value;
     for (var i = arguments.length-1; i>=2; i--)
-        v545 = {car: arguments[i], cdr: 
-    v545};
+        v581 = {car: arguments[i], cdr: 
+    v581};
+    var i;
     return (function(){
         return (function(){
             try {
-                var v551 = l188.value;
-                var v547 = l73.fvalue(pv, (function(){
+                var v587 = l188.value;
+                var v583 = l73.fvalue(pv, (function(){
                     var symbol = l30;
                     var func = symbol.fvalue;
                     if (func === undefined) throw "Function `" + symbol.name + "' is undefined.";
                     return func;
-                })(), v546);
-                var v548 = l73.fvalue(pv, (function(){
+                })(), v582);
+                var v584 = l73.fvalue(pv, (function(){
                     var symbol = l31;
                     var func = symbol.fvalue;
                     if (func === undefined) throw "Function `" + symbol.name + "' is undefined.";
                     return func;
-                })(), v546);
-                var v549 = l73.fvalue(pv, (function(){
-                    var symbol = l235;
+                })(), v582);
+                var v585 = l73.fvalue(pv, (function(){
+                    var symbol = l242;
                     var func = symbol.fvalue;
                     if (func === undefined) throw "Function `" + symbol.name + "' is undefined.";
                     return func;
-                })(), v548);
+                })(), v584);
                 ((l188).value = l186.fvalue(pv, l73.fvalue(pv, (function(){
-                    var symbol = l234;
+                    var symbol = l241;
                     var func = symbol.fvalue;
                     if (func === undefined) throw "Function `" + symbol.name + "' is undefined.";
                     return func;
-                })(), v547), (function(){
+                })(), v583), (function(){
                     var symbol = l188;
                     var value = symbol.value;
                     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                     return value;
                 })(), l104));
                 return l134.fvalue(values, "(function(", l136.fvalue(pv, l73.fvalue(pv, (function(){
-                    var symbol = l236;
+                    var symbol = l243;
                     var func = symbol.fvalue;
                     if (func === undefined) throw "Function `" + symbol.name + "' is undefined.";
                     return func;
-                })(), v547), ","), "){", (function(){
+                })(), v583), ","), "){", (function(){
                     var symbol = l133;
                     var value = symbol.value;
                     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                     return value;
-                })(), (function(v550){
-                    return l143.fvalue(pv, v550);
-                })(l222.fvalue(pv, v545, l4.value)), "})(", l136.fvalue(pv, v549, ","), ")");
+                })(), (function(v586){
+                    return l143.fvalue(pv, v586);
+                })(l229.fvalue(pv, v581, l4.value)), "})(", l136.fvalue(pv, v585, ","), ")");
             }
             finally {
-                l188.value = v551;
+                l188.value = v587;
             }
         })();
     })();
@@ -4899,29 +5313,30 @@ var l237 = {name: "FLET"};
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l238 = {name: "LABELS"};
-((l206).value = ({car: l44.fvalue(pv, l238, (function (values,v553){
+var l245 = {name: "LABELS"};
+((l206).value = ({car: l44.fvalue(pv, l245, (function (values,v589){
     checkArgsAtLeast(arguments, 2);
-    var v552= l3.value;
+    var v588= l3.value;
     for (var i = arguments.length-1; i>=2; i--)
-        v552 = {car: arguments[i], cdr: 
-    v552};
+        v588 = {car: arguments[i], cdr: 
+    v588};
+    var i;
     return (function(){
         return (function(){
             try {
-                var v556 = l188.value;
-                var v554 = l73.fvalue(pv, (function(){
+                var v592 = l188.value;
+                var v590 = l73.fvalue(pv, (function(){
                     var symbol = l30;
                     var func = symbol.fvalue;
                     if (func === undefined) throw "Function `" + symbol.name + "' is undefined.";
                     return func;
-                })(), v553);
+                })(), v589);
                 ((l188).value = l186.fvalue(pv, l73.fvalue(pv, (function(){
-                    var symbol = l234;
+                    var symbol = l241;
                     var func = symbol.fvalue;
                     if (func === undefined) throw "Function `" + symbol.name + "' is undefined.";
                     return func;
-                })(), v554), (function(){
+                })(), v590), (function(){
                     var symbol = l188;
                     var value = symbol.value;
                     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -4932,21 +5347,22 @@ var l238 = {name: "LABELS"};
                     var value = symbol.value;
                     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                     return value;
-                })(), l143.fvalue(pv, l138.fvalue(pv, (function (values,v555){
+                })(), l143.fvalue(pv, l138.fvalue(pv, (function (values,v591){
                     checkArgs(arguments, 2);
-                    return l134.fvalue(values, "var ", l236.fvalue(pv, (function(){
-                        var tmp = v555;
+                    var i;
+                    return l134.fvalue(values, "var ", l243.fvalue(pv, (function(){
+                        var tmp = v591;
                         return tmp === l3.value? l3.value: tmp.car;
-                    })()), " = ", l221.fvalue(pv, l33.fvalue(pv, v555), l35.fvalue(pv, v555)), ";", (function(){
+                    })()), " = ", l228.fvalue(pv, l33.fvalue(pv, v591), l35.fvalue(pv, v591)), ";", (function(){
                         var symbol = l133;
                         var value = symbol.value;
                         if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                         return value;
                     })());
-                }), v553), l222.fvalue(pv, v552, l4.value)), "})()");
+                }), v589), l229.fvalue(pv, v588, l4.value)), "})()");
             }
             finally {
-                l188.value = v556;
+                l188.value = v592;
             }
         })();
     })();
@@ -4956,29 +5372,30 @@ var l238 = {name: "LABELS"};
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l239 = {name: "*COMPILING-FILE*"};
+var l246 = {name: "*COMPILING-FILE*"};
 (function(){
-    (((l239.value !== undefined)?l4.value: l3.value) !== l3.value ? l3.value : ((l239).value = l3.value));
-    return l239;
+    (((l246.value !== undefined)?l4.value: l3.value) !== l3.value ? l3.value : ((l246).value = l3.value));
+    return l246;
 })();
-var l240 = {name: "EVAL-WHEN-COMPILE"};
-var l241 = {name: "PROGN"};
-var l242 = {name: "EVAL"};
-((l206).value = ({car: l44.fvalue(pv, l240, (function (values){
-    var v557= l3.value;
+var l247 = {name: "EVAL-WHEN-COMPILE"};
+var l248 = {name: "PROGN"};
+var l249 = {name: "EVAL"};
+((l206).value = ({car: l44.fvalue(pv, l247, (function (values){
+    var v593= l3.value;
     for (var i = arguments.length-1; i>=1; i--)
-        v557 = {car: arguments[i], cdr: 
-    v557};
+        v593 = {car: arguments[i], cdr: 
+    v593};
+    var i;
     return (function(){
         return ((function(){
-            var symbol = l239;
+            var symbol = l246;
             var value = symbol.value;
             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
             return value;
         })() !== l3.value ? (function(){
-            l242.fvalue(pv, ({car: l241, cdr: v557}));
+            l249.fvalue(pv, ({car: l248, cdr: v593}));
             return l3.value;
-        })() : l145.fvalue(values, l64.fvalue(pv, l44.fvalue(pv, l241), v557)));
+        })() : l145.fvalue(values, l64.fvalue(pv, l44.fvalue(pv, l248), v593)));
     })();
 })), cdr: (function(){
     var symbol = l206;
@@ -4986,19 +5403,20 @@ var l242 = {name: "EVAL"};
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l243 = {name: "DEFINE-TRANSFORMATION"};
-l243;
-((l206).value = ({car: l44.fvalue(pv, l241, (function (values){
-    var v558= l3.value;
+var l250 = {name: "DEFINE-TRANSFORMATION"};
+l250;
+((l206).value = ({car: l44.fvalue(pv, l248, (function (values){
+    var v594= l3.value;
     for (var i = arguments.length-1; i>=1; i--)
-        v558 = {car: arguments[i], cdr: 
-    v558};
+        v594 = {car: arguments[i], cdr: 
+    v594};
+    var i;
     return (function(){
         return (l12.fvalue(pv, (function(){
-            var tmp = v558;
+            var tmp = v594;
             return tmp === l3.value? l3.value: tmp.cdr;
         })()) !== l3.value ? l145.fvalue(values, (function(){
-            var tmp = v558;
+            var tmp = v594;
             return tmp === l3.value? l3.value: tmp.car;
         })(), (function(){
             var symbol = l172;
@@ -5010,7 +5428,7 @@ l243;
             var value = symbol.value;
             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
             return value;
-        })(), l143.fvalue(pv, l222.fvalue(pv, v558, l4.value)), "})()"));
+        })(), l143.fvalue(pv, l229.fvalue(pv, v594, l4.value)), "})()"));
     })();
 })), cdr: (function(){
     var symbol = l206;
@@ -5018,31 +5436,33 @@ l243;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l244 = {name: "SPECIAL-VARIABLE-P"};
+var l251 = {name: "SPECIAL-VARIABLE-P"};
 (function(){
-    (l244).fvalue = (function(v560){
-        ((v560)["fname"] = "SPECIAL-VARIABLE-P");
-        return v560;
-    })((function (values,v559){
+    (l251).fvalue = (function(v596){
+        ((v596)["fname"] = "SPECIAL-VARIABLE-P");
+        return v596;
+    })((function (values,v595){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
-            return (l200.fvalue(pv, v559, l105, l202) !== l3.value ? l4.value : l3.value);
+            return (l200.fvalue(pv, v595, l105, l202) !== l3.value ? l4.value : l3.value);
         })();
     }));
-    return l244;
+    return l251;
 })();
-var l245 = {name: "LET-BINDING-WRAPPER"};
+var l252 = {name: "LET-BINDING-WRAPPER"};
 (function(){
-    (l245).fvalue = (function(v567){
-        ((v567)["fname"] = "LET-BINDING-WRAPPER");
-        return v567;
-    })((function (values,v561,v562){
+    (l252).fvalue = (function(v603){
+        ((v603)["fname"] = "LET-BINDING-WRAPPER");
+        return v603;
+    })((function (values,v597,v598){
         checkArgs(arguments, 3);
+        var i;
         return (function(){
             try {
-                (l12.fvalue(pv, v561) !== l3.value ? (function(){
+                (l12.fvalue(pv, v597) !== l3.value ? (function(){
                     var values = mv;
-                    throw ({type: 'block', id: 205, values: v562, message: 'Return from unknown block LET-BINDING-WRAPPER.'})
+                    throw ({type: 'block', id: 211, values: v598, message: 'Return from unknown block LET-BINDING-WRAPPER.'})
                 })() : l3.value);
                 return l134.fvalue(values, "try {", (function(){
                     var symbol = l133;
@@ -5054,16 +5474,17 @@ var l245 = {name: "LET-BINDING-WRAPPER"};
                     var value = symbol.value;
                     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                     return value;
-                })(), l138.fvalue(pv, (function (values,v563){
+                })(), l138.fvalue(pv, (function (values,v599){
                     checkArgs(arguments, 2);
-                    return (function(v564){
-                        return l134.fvalue(values, "tmp = ", v564, ".value;", (function(){
+                    var i;
+                    return (function(v600){
+                        return l134.fvalue(values, "tmp = ", v600, ".value;", (function(){
                             var symbol = l133;
                             var value = symbol.value;
                             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                             return value;
-                        })(), v564, ".value = ", (function(){
-                            var tmp = v563;
+                        })(), v600, ".value = ", (function(){
+                            var tmp = v599;
                             return tmp === l3.value? l3.value: tmp.cdr;
                         })(), ";", (function(){
                             var symbol = l133;
@@ -5071,7 +5492,7 @@ var l245 = {name: "LET-BINDING-WRAPPER"};
                             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                             return value;
                         })(), (function(){
-                            var tmp = v563;
+                            var tmp = v599;
                             return tmp === l3.value? l3.value: tmp.cdr;
                         })(), " = tmp;", (function(){
                             var symbol = l133;
@@ -5080,10 +5501,10 @@ var l245 = {name: "LET-BINDING-WRAPPER"};
                             return value;
                         })());
                     })(l145.fvalue(pv, l64.fvalue(pv, l44.fvalue(pv, l167), l44.fvalue(pv, (function(){
-                        var tmp = v563;
+                        var tmp = v599;
                         return tmp === l3.value? l3.value: tmp.car;
                     })()))));
-                }), v561), v562, (function(){
+                }), v597), v598, (function(){
                     var symbol = l133;
                     var value = symbol.value;
                     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -5098,11 +5519,12 @@ var l245 = {name: "LET-BINDING-WRAPPER"};
                     var value = symbol.value;
                     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                     return value;
-                })(), l143.fvalue(pv, l138.fvalue(pv, (function (values,v565){
+                })(), l143.fvalue(pv, l138.fvalue(pv, (function (values,v601){
                     checkArgs(arguments, 2);
-                    return (function(v566){
-                        return l134.fvalue(values, v566, ".value", " = ", (function(){
-                            var tmp = v565;
+                    var i;
+                    return (function(v602){
+                        return l134.fvalue(values, v602, ".value", " = ", (function(){
+                            var tmp = v601;
                             return tmp === l3.value? l3.value: tmp.cdr;
                         })(), ";", (function(){
                             var symbol = l133;
@@ -5111,10 +5533,10 @@ var l245 = {name: "LET-BINDING-WRAPPER"};
                             return value;
                         })());
                     })(l145.fvalue(pv, l64.fvalue(pv, l44.fvalue(pv, l167), l44.fvalue(pv, (function(){
-                        var tmp = v565;
+                        var tmp = v601;
                         return tmp === l3.value? l3.value: tmp.car;
                     })()))));
-                }), v561)), "}", (function(){
+                }), v597)), "}", (function(){
                     var symbol = l133;
                     var value = symbol.value;
                     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -5122,39 +5544,40 @@ var l245 = {name: "LET-BINDING-WRAPPER"};
                 })());
             }
             catch (cf){
-                if (cf.type == 'block' && cf.id == 205)
+                if (cf.type == 'block' && cf.id == 211)
                     return values.apply(this, forcemv(cf.values));
                 else
                     throw cf;
             }
         })();
     }));
-    return l245;
+    return l252;
 })();
-var l246 = {name: "LET"};
-((l206).value = ({car: l44.fvalue(pv, l246, (function (values,v569){
+var l253 = {name: "LET"};
+((l206).value = ({car: l44.fvalue(pv, l253, (function (values,v605){
     checkArgsAtLeast(arguments, 2);
-    var v568= l3.value;
+    var v604= l3.value;
     for (var i = arguments.length-1; i>=2; i--)
-        v568 = {car: arguments[i], cdr: 
-    v568};
+        v604 = {car: arguments[i], cdr: 
+    v604};
+    var i;
     return (function(){
         return (function(){
             try {
-                var v577 = l188.value;
-                var v570 = l73.fvalue(pv, (function(){
+                var v613 = l188.value;
+                var v606 = l73.fvalue(pv, (function(){
                     var symbol = l58;
                     var func = symbol.fvalue;
                     if (func === undefined) throw "Function `" + symbol.name + "' is undefined.";
                     return func;
-                })(), v569);
-                var v571 = l73.fvalue(pv, (function(){
+                })(), v605);
+                var v607 = l73.fvalue(pv, (function(){
                     var symbol = l39;
                     var func = symbol.fvalue;
                     if (func === undefined) throw "Function `" + symbol.name + "' is undefined.";
                     return func;
-                })(), v570);
-                var v572 = l73.fvalue(pv, (function(){
+                })(), v606);
+                var v608 = l73.fvalue(pv, (function(){
                     var symbol = l145;
                     var func = symbol.fvalue;
                     if (func === undefined) throw "Function `" + symbol.name + "' is undefined.";
@@ -5164,31 +5587,32 @@ var l246 = {name: "LET"};
                     var func = symbol.fvalue;
                     if (func === undefined) throw "Function `" + symbol.name + "' is undefined.";
                     return func;
-                })(), v570));
+                })(), v606));
                 ((l188).value = l192.fvalue(pv, l90.fvalue(pv, (function(){
-                    var symbol = l244;
+                    var symbol = l251;
                     var func = symbol.fvalue;
                     if (func === undefined) throw "Function `" + symbol.name + "' is undefined.";
                     return func;
-                })(), v571)));
-                var v573 = l3.value;
-                return l134.fvalue(values, "(function(", l136.fvalue(pv, l73.fvalue(pv, (function (values,v574){
+                })(), v607)));
+                var v609 = l3.value;
+                return l134.fvalue(values, "(function(", l136.fvalue(pv, l73.fvalue(pv, (function (values,v610){
                     checkArgs(arguments, 2);
-                    return (l244.fvalue(pv, v574) !== l3.value ? (function(v575){
-                        (v573 = ({car: ({car: v574, cdr: v575}), cdr: v573}));
-                        return v575;
-                    })(l190.fvalue(pv, v574)) : l191.fvalue(values, v574));
-                }), v571), ","), "){", (function(){
+                    var i;
+                    return (l251.fvalue(pv, v610) !== l3.value ? (function(v611){
+                        (v609 = ({car: ({car: v610, cdr: v611}), cdr: v609}));
+                        return v611;
+                    })(l190.fvalue(pv, v610)) : l191.fvalue(values, v610));
+                }), v607), ","), "){", (function(){
                     var symbol = l133;
                     var value = symbol.value;
                     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                     return value;
-                })(), (function(v576){
-                    return l143.fvalue(pv, l245.fvalue(pv, v573, v576));
-                })(l222.fvalue(pv, v568, l4.value)), "})(", l136.fvalue(pv, v572, ","), ")");
+                })(), (function(v612){
+                    return l143.fvalue(pv, l252.fvalue(pv, v609, v612));
+                })(l229.fvalue(pv, v604, l4.value)), "})(", l136.fvalue(pv, v608, ","), ")");
             }
             finally {
-                l188.value = v577;
+                l188.value = v613;
             }
         })();
     })();
@@ -5198,79 +5622,82 @@ var l246 = {name: "LET"};
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l247 = {name: "LET*-INITIALIZE-VALUE"};
+var l254 = {name: "LET*-INITIALIZE-VALUE"};
 (function(){
-    (l247).fvalue = (function(v584){
-        ((v584)["fname"] = "LET*-INITIALIZE-VALUE");
-        return v584;
-    })((function (values,v578){
+    (l254).fvalue = (function(v620){
+        ((v620)["fname"] = "LET*-INITIALIZE-VALUE");
+        return v620;
+    })((function (values,v614){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
-            return (function(v579,v580){
-                return (l244.fvalue(pv, v579) !== l3.value ? l134.fvalue(values, l145.fvalue(pv, l64.fvalue(pv, l44.fvalue(pv, l225), l44.fvalue(pv, v579), l44.fvalue(pv, v580))), ";", (function(){
+            return (function(v615,v616){
+                return (l251.fvalue(pv, v615) !== l3.value ? l134.fvalue(values, l145.fvalue(pv, l64.fvalue(pv, l44.fvalue(pv, l232), l44.fvalue(pv, v615), l44.fvalue(pv, v616))), ";", (function(){
                     var symbol = l133;
                     var value = symbol.value;
                     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                     return value;
                 })()) : (function(){
-                    var v581 = l190.fvalue(pv, v579);
-                    var v582 = l173.fvalue(pv, v579, l105, v581);
-                    return (function(v583){
-                        l183.fvalue(pv, v582, (function(){
+                    var v617 = l190.fvalue(pv, v615);
+                    var v618 = l173.fvalue(pv, v615, l105, v617);
+                    return (function(v619){
+                        l183.fvalue(pv, v618, (function(){
                             var symbol = l188;
                             var value = symbol.value;
                             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                             return value;
                         })(), l105);
-                        return v583;
-                    })(l134.fvalue(pv, "var ", v581, " = ", l145.fvalue(pv, v580), ";", (function(){
+                        return v619;
+                    })(l134.fvalue(pv, "var ", v617, " = ", l145.fvalue(pv, v616), ";", (function(){
                         var symbol = l133;
                         var value = symbol.value;
                         if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                         return value;
                     })()));
                 })());
-            })(l39.fvalue(pv, v578),l40.fvalue(pv, v578));
+            })(l39.fvalue(pv, v614),l40.fvalue(pv, v614));
         })();
     }));
-    return l247;
+    return l254;
 })();
-var l248 = {name: "LET*-BINDING-WRAPPER"};
+var l255 = {name: "LET*-BINDING-WRAPPER"};
 (function(){
-    (l248).fvalue = (function(v593){
-        ((v593)["fname"] = "LET*-BINDING-WRAPPER");
-        return v593;
-    })((function (values,v585,v586){
+    (l255).fvalue = (function(v629){
+        ((v629)["fname"] = "LET*-BINDING-WRAPPER");
+        return v629;
+    })((function (values,v621,v622){
         checkArgs(arguments, 3);
+        var i;
         return (function(){
             try {
-                (l12.fvalue(pv, v585) !== l3.value ? (function(){
+                (l12.fvalue(pv, v621) !== l3.value ? (function(){
                     var values = mv;
-                    throw ({type: 'block', id: 208, values: v586, message: 'Return from unknown block LET*-BINDING-WRAPPER.'})
+                    throw ({type: 'block', id: 214, values: v622, message: 'Return from unknown block LET*-BINDING-WRAPPER.'})
                 })() : l3.value);
-                return (function(v588){
+                return (function(v624){
                     return l134.fvalue(values, "try {", (function(){
                         var symbol = l133;
                         var value = symbol.value;
                         if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                         return value;
-                    })(), l143.fvalue(pv, l138.fvalue(pv, (function (values,v589){
+                    })(), l143.fvalue(pv, l138.fvalue(pv, (function (values,v625){
                         checkArgs(arguments, 2);
-                        return (function(v590){
+                        var i;
+                        return (function(v626){
                             return l134.fvalue(values, "var ", (function(){
-                                var tmp = v589;
+                                var tmp = v625;
                                 return tmp === l3.value? l3.value: tmp.cdr;
-                            })(), " = ", v590, ".value;", (function(){
+                            })(), " = ", v626, ".value;", (function(){
                                 var symbol = l133;
                                 var value = symbol.value;
                                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                                 return value;
                             })());
                         })(l145.fvalue(pv, l64.fvalue(pv, l44.fvalue(pv, l167), l44.fvalue(pv, (function(){
-                            var tmp = v589;
+                            var tmp = v625;
                             return tmp === l3.value? l3.value: tmp.car;
                         })()))));
-                    }), v588), v586), "}", (function(){
+                    }), v624), v622), "}", (function(){
                         var symbol = l133;
                         var value = symbol.value;
                         if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -5280,11 +5707,12 @@ var l248 = {name: "LET*-BINDING-WRAPPER"};
                         var value = symbol.value;
                         if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                         return value;
-                    })(), l143.fvalue(pv, l138.fvalue(pv, (function (values,v591){
+                    })(), l143.fvalue(pv, l138.fvalue(pv, (function (values,v627){
                         checkArgs(arguments, 2);
-                        return (function(v592){
-                            return l134.fvalue(values, v592, ".value", " = ", (function(){
-                                var tmp = v591;
+                        var i;
+                        return (function(v628){
+                            return l134.fvalue(values, v628, ".value", " = ", (function(){
+                                var tmp = v627;
                                 return tmp === l3.value? l3.value: tmp.cdr;
                             })(), ";", (function(){
                                 var symbol = l133;
@@ -5293,58 +5721,60 @@ var l248 = {name: "LET*-BINDING-WRAPPER"};
                                 return value;
                             })());
                         })(l145.fvalue(pv, l64.fvalue(pv, l44.fvalue(pv, l167), l44.fvalue(pv, (function(){
-                            var tmp = v591;
+                            var tmp = v627;
                             return tmp === l3.value? l3.value: tmp.car;
                         })()))));
-                    }), v588)), "}", (function(){
+                    }), v624)), "}", (function(){
                         var symbol = l133;
                         var value = symbol.value;
                         if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                         return value;
                     })());
-                })(l73.fvalue(pv, (function (values,v587){
+                })(l73.fvalue(pv, (function (values,v623){
                     checkArgs(arguments, 2);
-                    return ({car: v587, cdr: l190.fvalue(pv, v587)});
+                    var i;
+                    return ({car: v623, cdr: l190.fvalue(pv, v623)});
                 }), l91.fvalue(pv, (function(){
-                    var symbol = l244;
+                    var symbol = l251;
                     var func = symbol.fvalue;
                     if (func === undefined) throw "Function `" + symbol.name + "' is undefined.";
                     return func;
-                })(), v585)));
+                })(), v621)));
             }
             catch (cf){
-                if (cf.type == 'block' && cf.id == 208)
+                if (cf.type == 'block' && cf.id == 214)
                     return values.apply(this, forcemv(cf.values));
                 else
                     throw cf;
             }
         })();
     }));
-    return l248;
+    return l255;
 })();
-var l249 = {name: "LET*"};
-((l206).value = ({car: l44.fvalue(pv, l249, (function (values,v595){
+var l256 = {name: "LET*"};
+((l206).value = ({car: l44.fvalue(pv, l256, (function (values,v631){
     checkArgsAtLeast(arguments, 2);
-    var v594= l3.value;
+    var v630= l3.value;
     for (var i = arguments.length-1; i>=2; i--)
-        v594 = {car: arguments[i], cdr: 
-    v594};
+        v630 = {car: arguments[i], cdr: 
+    v630};
+    var i;
     return (function(){
-        return (function(v596,v597){
+        return (function(v632,v633){
             try {
                 var tmp;
                 tmp = l188.value;
-                l188.value = v597;
-                v597 = tmp;
+                l188.value = v633;
+                v633 = tmp;
                 return l134.fvalue(values, "(function(){", (function(){
                     var symbol = l133;
                     var value = symbol.value;
                     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                     return value;
-                })(), l143.fvalue(pv, (function(v598,v599){
-                    return l248.fvalue(pv, v598, v599);
+                })(), l143.fvalue(pv, (function(v634,v635){
+                    return l255.fvalue(pv, v634, v635);
                 })(l91.fvalue(pv, (function(){
-                    var symbol = l244;
+                    var symbol = l251;
                     var func = symbol.fvalue;
                     if (func === undefined) throw "Function `" + symbol.name + "' is undefined.";
                     return func;
@@ -5353,22 +5783,22 @@ var l249 = {name: "LET*"};
                     var func = symbol.fvalue;
                     if (func === undefined) throw "Function `" + symbol.name + "' is undefined.";
                     return func;
-                })(), v596)),l134.fvalue(pv, l138.fvalue(pv, (function(){
-                    var symbol = l247;
+                })(), v632)),l134.fvalue(pv, l138.fvalue(pv, (function(){
+                    var symbol = l254;
                     var func = symbol.fvalue;
                     if (func === undefined) throw "Function `" + symbol.name + "' is undefined.";
                     return func;
-                })(), v596), l222.fvalue(pv, v594, l4.value)))), "})()");
+                })(), v632), l229.fvalue(pv, v630, l4.value)))), "})()");
             }
             finally {
-                l188.value = v597;
+                l188.value = v633;
             }
         })(l73.fvalue(pv, (function(){
             var symbol = l58;
             var func = symbol.fvalue;
             if (func === undefined) throw "Function `" + symbol.name + "' is undefined.";
             return func;
-        })(), v595),l182.fvalue(pv, (function(){
+        })(), v631),l182.fvalue(pv, (function(){
             var symbol = l188;
             var value = symbol.value;
             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -5381,24 +5811,25 @@ var l249 = {name: "LET*"};
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l250 = {name: "*BLOCK-COUNTER*"};
+var l257 = {name: "*BLOCK-COUNTER*"};
 (function(){
-    (((l250.value !== undefined)?l4.value: l3.value) !== l3.value ? l3.value : ((l250).value = 0));
-    return l250;
+    (((l257.value !== undefined)?l4.value: l3.value) !== l3.value ? l3.value : ((l257).value = 0));
+    return l257;
 })();
-var l251 = {name: "MULTIPLE-VALUE"};
-var l252 = {name: "USED"};
-((l206).value = ({car: l44.fvalue(pv, l184, (function (values,v601){
+var l258 = {name: "MULTIPLE-VALUE"};
+var l259 = {name: "USED"};
+((l206).value = ({car: l44.fvalue(pv, l184, (function (values,v637){
     checkArgsAtLeast(arguments, 2);
-    var v600= l3.value;
+    var v636= l3.value;
     for (var i = arguments.length-1; i>=2; i--)
-        v600 = {car: arguments[i], cdr: 
-    v600};
+        v636 = {car: arguments[i], cdr: 
+    v636};
+    var i;
     return (function(){
         return (function(){
-            var v602 = l17.fvalue(pv, ((l250).value = (function(){
+            var v638 = l17.fvalue(pv, ((l257).value = (function(){
                 var x1 = (function(){
-                    var symbol = l250;
+                    var symbol = l257;
                     var value = symbol.value;
                     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                     return value;
@@ -5408,24 +5839,24 @@ var l252 = {name: "USED"};
                 if (typeof x2 !== 'number') throw 'Not a number!';
                 return x1+x2;
             })()));
-            var v603 = l173.fvalue(pv, v601, l184, v602);
+            var v639 = l173.fvalue(pv, v637, l184, v638);
             ((function(){
                 var symbol = l172;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
-            })() !== l3.value ? l180.fvalue(pv, l251, v603) : l3.value);
+            })() !== l3.value ? l180.fvalue(pv, l258, v639) : l3.value);
             return (function(){
                 try {
-                    var v605 = l188.value;
-                    ((l188).value = l186.fvalue(pv, l44.fvalue(pv, v603), (function(){
+                    var v641 = l188.value;
+                    ((l188).value = l186.fvalue(pv, l44.fvalue(pv, v639), (function(){
                         var symbol = l188;
                         var value = symbol.value;
                         if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                         return value;
                     })(), l184));
-                    var v604 = l222.fvalue(pv, v600, l4.value);
-                    return (l88.fvalue(pv, l252, l177.fvalue(pv, v603)) !== l3.value ? l134.fvalue(values, "(function(){", (function(){
+                    var v640 = l229.fvalue(pv, v636, l4.value);
+                    return (l88.fvalue(pv, l259, l177.fvalue(pv, v639)) !== l3.value ? l134.fvalue(values, "(function(){", (function(){
                         var symbol = l133;
                         var value = symbol.value;
                         if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -5435,7 +5866,7 @@ var l252 = {name: "USED"};
                         var value = symbol.value;
                         if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                         return value;
-                    })(), l143.fvalue(pv, v604), "}", (function(){
+                    })(), l143.fvalue(pv, v640), "}", (function(){
                         var symbol = l133;
                         var value = symbol.value;
                         if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -5445,7 +5876,7 @@ var l252 = {name: "USED"};
                         var value = symbol.value;
                         if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                         return value;
-                    })(), "    if (cf.type == 'block' && cf.id == ", v602, ")", (function(){
+                    })(), "    if (cf.type == 'block' && cf.id == ", v638, ")", (function(){
                         var symbol = l133;
                         var value = symbol.value;
                         if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -5480,10 +5911,10 @@ var l252 = {name: "USED"};
                         var value = symbol.value;
                         if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                         return value;
-                    })(), l143.fvalue(pv, v604), "})()"));
+                    })(), l143.fvalue(pv, v640), "})()"));
                 }
                 finally {
-                    l188.value = v605;
+                    l188.value = v641;
                 }
             })();
         })();
@@ -5494,39 +5925,40 @@ var l252 = {name: "USED"};
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l253 = {name: "RETURN-FROM"};
-((l206).value = ({car: l44.fvalue(pv, l253, (function (values,v606,v607){
+var l260 = {name: "RETURN-FROM"};
+((l206).value = ({car: l44.fvalue(pv, l260, (function (values,v642,v643){
     checkArgsAtLeast(arguments, 2);
     checkArgsAtMost(arguments, 3);
     switch(arguments.length-1){
     case 1:
-    v607=l3.value;
+    v643=l3.value;
     default: break;
     }
+    var i;
     return (function(){
         return (function(){
-            var v608 = l187.fvalue(pv, v606, (function(){
+            var v644 = l187.fvalue(pv, v642, (function(){
                 var symbol = l188;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
             })(), l184);
-            var v609 = l88.fvalue(pv, l251, l177.fvalue(pv, v608));
-            (l12.fvalue(pv, v608) !== l3.value ? (function(){
-                throw l134.fvalue(pv, "Unknown block `", (v606).name, "'.");
+            var v645 = l88.fvalue(pv, l258, l177.fvalue(pv, v644));
+            (l12.fvalue(pv, v644) !== l3.value ? (function(){
+                throw l134.fvalue(pv, "Unknown block `", (v642).name, "'.");
             })() : l3.value);
-            l180.fvalue(pv, l252, v608);
+            l180.fvalue(pv, l259, v644);
             return l134.fvalue(values, "(function(){", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
-            })(), l143.fvalue(pv, (v609 !== l3.value ? l134.fvalue(pv, "var values = mv;", (function(){
+            })(), l143.fvalue(pv, (v645 !== l3.value ? l134.fvalue(pv, "var values = mv;", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
-            })()) : ""), "throw ({", "type: 'block', ", "id: ", l176.fvalue(pv, v608), ", ", "values: ", l145.fvalue(pv, v607, v609), ", ", "message: 'Return from unknown block ", (v606).name, ".'", "})"), "})()");
+            })()) : ""), "throw ({", "type: 'block', ", "id: ", l176.fvalue(pv, v644), ", ", "values: ", l145.fvalue(pv, v643, v645), ", ", "message: 'Return from unknown block ", (v642).name, ".'", "})"), "})()");
         })();
     })();
 })), cdr: (function(){
@@ -5535,20 +5967,21 @@ var l253 = {name: "RETURN-FROM"};
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l254 = {name: "CATCH"};
-((l206).value = ({car: l44.fvalue(pv, l254, (function (values,v611){
+var l261 = {name: "CATCH"};
+((l206).value = ({car: l44.fvalue(pv, l261, (function (values,v647){
     checkArgsAtLeast(arguments, 2);
-    var v610= l3.value;
+    var v646= l3.value;
     for (var i = arguments.length-1; i>=2; i--)
-        v610 = {car: arguments[i], cdr: 
-    v610};
+        v646 = {car: arguments[i], cdr: 
+    v646};
+    var i;
     return (function(){
         return l134.fvalue(values, "(function(){", (function(){
             var symbol = l133;
             var value = symbol.value;
             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
             return value;
-        })(), l143.fvalue(pv, "var id = ", l145.fvalue(pv, v611), ";", (function(){
+        })(), l143.fvalue(pv, "var id = ", l145.fvalue(pv, v647), ";", (function(){
             var symbol = l133;
             var value = symbol.value;
             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -5558,7 +5991,7 @@ var l254 = {name: "CATCH"};
             var value = symbol.value;
             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
             return value;
-        })(), l143.fvalue(pv, l222.fvalue(pv, v610, l4.value)), (function(){
+        })(), l143.fvalue(pv, l229.fvalue(pv, v646, l4.value)), (function(){
             var symbol = l133;
             var value = symbol.value;
             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -5611,9 +6044,10 @@ var l254 = {name: "CATCH"};
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l255 = {name: "THROW"};
-((l206).value = ({car: l44.fvalue(pv, l255, (function (values,v612,v613){
+var l262 = {name: "THROW"};
+((l206).value = ({car: l44.fvalue(pv, l262, (function (values,v648,v649){
     checkArgs(arguments, 3);
+    var i;
     return (function(){
         return l134.fvalue(values, "(function(){", (function(){
             var symbol = l133;
@@ -5625,7 +6059,7 @@ var l255 = {name: "THROW"};
             var value = symbol.value;
             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
             return value;
-        })(), "throw ({", "type: 'catch', ", "id: ", l145.fvalue(pv, v612), ", ", "values: ", l145.fvalue(pv, v613, l4.value), ", ", "message: 'Throw uncatched.'", "})"), "})()");
+        })(), "throw ({", "type: 'catch', ", "id: ", l145.fvalue(pv, v648), ", ", "values: ", l145.fvalue(pv, v649, l4.value), ", ", "message: 'Throw uncatched.'", "})"), "})()");
     })();
 })), cdr: (function(){
     var symbol = l206;
@@ -5633,56 +6067,59 @@ var l255 = {name: "THROW"};
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l256 = {name: "*TAGBODY-COUNTER*"};
+var l263 = {name: "*TAGBODY-COUNTER*"};
 (function(){
-    (((l256.value !== undefined)?l4.value: l3.value) !== l3.value ? l3.value : ((l256).value = 0));
-    return l256;
+    (((l263.value !== undefined)?l4.value: l3.value) !== l3.value ? l3.value : ((l263).value = 0));
+    return l263;
 })();
-var l257 = {name: "*GO-TAG-COUNTER*"};
+var l264 = {name: "*GO-TAG-COUNTER*"};
 (function(){
-    (((l257.value !== undefined)?l4.value: l3.value) !== l3.value ? l3.value : ((l257).value = 0));
-    return l257;
+    (((l264.value !== undefined)?l4.value: l3.value) !== l3.value ? l3.value : ((l264).value = 0));
+    return l264;
 })();
-var l258 = {name: "GO-TAG-P"};
+var l265 = {name: "GO-TAG-P"};
 (function(){
-    (l258).fvalue = (function(v616){
-        ((v616)["fname"] = "GO-TAG-P");
-        return v616;
-    })((function (values,v614){
+    (l265).fvalue = (function(v652){
+        ((v652)["fname"] = "GO-TAG-P");
+        return v652;
+    })((function (values,v650){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
-            return (function(v615){
-                return (v615 !== l3.value ? v615 : ((function(){
-                    var tmp = v614;
+            return (function(v651){
+                return (v651 !== l3.value ? v651 : ((function(){
+                    var tmp = v650;
                     return (typeof tmp == 'object' && 'name' in tmp);
                 })()?l4.value: l3.value));
-            })(l81.fvalue(pv, v614));
+            })(l81.fvalue(pv, v650));
         })();
     }));
-    return l258;
+    return l265;
 })();
-var l259 = {name: "DECLARE-TAGBODY-TAGS"};
+var l266 = {name: "DECLARE-TAGBODY-TAGS"};
 (function(){
-    (l259).fvalue = (function(v622){
-        ((v622)["fname"] = "DECLARE-TAGBODY-TAGS");
-        return v622;
-    })((function (values,v617,v618){
+    (l266).fvalue = (function(v658){
+        ((v658)["fname"] = "DECLARE-TAGBODY-TAGS");
+        return v658;
+    })((function (values,v653,v654){
         checkArgs(arguments, 3);
+        var i;
         return (function(){
-            return (function(v621){
-                return l186.fvalue(values, v621, (function(){
+            return (function(v657){
+                return l186.fvalue(values, v657, (function(){
                     var symbol = l188;
                     var value = symbol.value;
                     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                     return value;
                 })(), l185);
-            })(l73.fvalue(pv, (function (values,v619){
+            })(l73.fvalue(pv, (function (values,v655){
                 checkArgs(arguments, 2);
-                return (function(v620){
-                    return l173.fvalue(values, v619, l185, l44.fvalue(pv, v617, v620));
-                })(l17.fvalue(pv, ((l257).value = (function(){
+                var i;
+                return (function(v656){
+                    return l173.fvalue(values, v655, l185, l44.fvalue(pv, v653, v656));
+                })(l17.fvalue(pv, ((l264).value = (function(){
                     var x1 = (function(){
-                        var symbol = l257;
+                        var symbol = l264;
                         var value = symbol.value;
                         if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                         return value;
@@ -5693,46 +6130,47 @@ var l259 = {name: "DECLARE-TAGBODY-TAGS"};
                     return x1+x2;
                 })())));
             }), l91.fvalue(pv, (function(){
-                var symbol = l258;
+                var symbol = l265;
                 var func = symbol.fvalue;
                 if (func === undefined) throw "Function `" + symbol.name + "' is undefined.";
                 return func;
-            })(), v618)));
+            })(), v654)));
         })();
     }));
-    return l259;
+    return l266;
 })();
-var l260 = {name: "TAGBODY"};
-((l206).value = ({car: l44.fvalue(pv, l260, (function (values){
-    var v623= l3.value;
+var l267 = {name: "TAGBODY"};
+((l206).value = ({car: l44.fvalue(pv, l267, (function (values){
+    var v659= l3.value;
     for (var i = arguments.length-1; i>=1; i--)
-        v623 = {car: arguments[i], cdr: 
-    v623};
+        v659 = {car: arguments[i], cdr: 
+    v659};
+    var i;
     return (function(){
         try {
             (l95.fvalue(pv, (function(){
-                var symbol = l258;
+                var symbol = l265;
                 var func = symbol.fvalue;
                 if (func === undefined) throw "Function `" + symbol.name + "' is undefined.";
                 return func;
-            })(), v623) !== l3.value ? l3.value : (function(){
+            })(), v659) !== l3.value ? l3.value : (function(){
                 var values = mv;
-                throw ({type: 'block', id: 216, values: l145.fvalue(values, l64.fvalue(pv, l44.fvalue(pv, l241), v623, l44.fvalue(pv, l3))), message: 'Return from unknown block TAGBODY.'})
+                throw ({type: 'block', id: 222, values: l145.fvalue(values, l64.fvalue(pv, l44.fvalue(pv, l248), v659, l44.fvalue(pv, l3))), message: 'Return from unknown block TAGBODY.'})
             })());
-            (l258.fvalue(pv, (function(){
-                var tmp = v623;
+            (l265.fvalue(pv, (function(){
+                var tmp = v659;
                 return tmp === l3.value? l3.value: tmp.car;
-            })()) !== l3.value ? l3.value : (v623 = ({car: l16.fvalue(pv, "START"), cdr: v623})));
-            return (function(v624){
-                return (function(v626,v625){
+            })()) !== l3.value ? l3.value : (v659 = ({car: l16.fvalue(pv, "START"), cdr: v659})));
+            return (function(v660){
+                return (function(v662,v661){
                     try {
                         var tmp;
                         tmp = l188.value;
-                        l188.value = v626;
-                        v626 = tmp;
-                        (function(v627){
-                            return (v625 = l40.fvalue(pv, l176.fvalue(pv, v627)));
-                        })(l187.fvalue(pv, l39.fvalue(pv, v623), (function(){
+                        l188.value = v662;
+                        v662 = tmp;
+                        (function(v663){
+                            return (v661 = l40.fvalue(pv, l176.fvalue(pv, v663)));
+                        })(l187.fvalue(pv, l39.fvalue(pv, v659), (function(){
                             var symbol = l188;
                             var value = symbol.value;
                             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -5743,7 +6181,7 @@ var l260 = {name: "TAGBODY"};
                             var value = symbol.value;
                             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                             return value;
-                        })(), l143.fvalue(pv, "var tagbody_", v624, " = ", v625, ";", (function(){
+                        })(), l143.fvalue(pv, "var tagbody_", v660, " = ", v661, ";", (function(){
                             var symbol = l133;
                             var value = symbol.value;
                             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -5763,39 +6201,39 @@ var l260 = {name: "TAGBODY"};
                             var value = symbol.value;
                             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                             return value;
-                        })(), l143.fvalue(pv, (function(v628){
-                            return l134.fvalue(pv, "switch(tagbody_", v624, "){", (function(){
+                        })(), l143.fvalue(pv, (function(v664){
+                            return l134.fvalue(pv, "switch(tagbody_", v660, "){", (function(){
                                 var symbol = l133;
                                 var value = symbol.value;
                                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                                 return value;
-                            })(), "case ", v625, ":", (function(){
+                            })(), "case ", v661, ":", (function(){
                                 var symbol = l133;
                                 var value = symbol.value;
                                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                                 return value;
                             })(), (function(){
-                                return (function(v629,v630){
+                                return (function(v665,v666){
                                     (function(){
-                                        while(v629 !== l3.value){
-                                            (v630 = (function(){
-                                                var tmp = v629;
+                                        while(v665 !== l3.value){
+                                            (v666 = (function(){
+                                                var tmp = v665;
                                                 return tmp === l3.value? l3.value: tmp.car;
                                             })());
                                             (function(){
-                                                (v628 = l134.fvalue(pv, v628, (l27.fvalue(pv, l258.fvalue(pv, v630)) !== l3.value ? l143.fvalue(pv, l145.fvalue(pv, v630), ";", (function(){
+                                                (v664 = l134.fvalue(pv, v664, (l27.fvalue(pv, l265.fvalue(pv, v666)) !== l3.value ? l143.fvalue(pv, l145.fvalue(pv, v666), ";", (function(){
                                                     var symbol = l133;
                                                     var value = symbol.value;
                                                     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                                                     return value;
-                                                })()) : (function(v631){
-                                                    return l134.fvalue(pv, "case ", l40.fvalue(pv, l176.fvalue(pv, v631)), ":", (function(){
+                                                })()) : (function(v667){
+                                                    return l134.fvalue(pv, "case ", l40.fvalue(pv, l176.fvalue(pv, v667)), ":", (function(){
                                                         var symbol = l133;
                                                         var value = symbol.value;
                                                         if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                                                         return value;
                                                     })());
-                                                })(l187.fvalue(pv, v630, (function(){
+                                                })(l187.fvalue(pv, v666, (function(){
                                                     var symbol = l188;
                                                     var value = symbol.value;
                                                     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -5803,15 +6241,15 @@ var l260 = {name: "TAGBODY"};
                                                 })(), l185)))));
                                                 return l3.value;
                                             })();
-                                            (v629 = (function(){
-                                                var tmp = v629;
+                                            (v665 = (function(){
+                                                var tmp = v665;
                                                 return tmp === l3.value? l3.value: tmp.cdr;
                                             })());
                                         }return l3.value;
                                     })();
-                                    return v628;
+                                    return v664;
                                 })((function(){
-                                    var tmp = v623;
+                                    var tmp = v659;
                                     return tmp === l3.value? l3.value: tmp.cdr;
                                 })(),l3.value);
                             })(), "default:", (function(){
@@ -5840,12 +6278,12 @@ var l260 = {name: "TAGBODY"};
                             var value = symbol.value;
                             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                             return value;
-                        })(), "    if (jump.type == 'tagbody' && jump.id == ", v624, ")", (function(){
+                        })(), "    if (jump.type == 'tagbody' && jump.id == ", v660, ")", (function(){
                             var symbol = l133;
                             var value = symbol.value;
                             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                             return value;
-                        })(), "        tagbody_", v624, " = jump.label;", (function(){
+                        })(), "        tagbody_", v660, " = jump.label;", (function(){
                             var symbol = l133;
                             var value = symbol.value;
                             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -5878,18 +6316,18 @@ var l260 = {name: "TAGBODY"};
                         })()), "})()");
                     }
                     finally {
-                        l188.value = v626;
+                        l188.value = v662;
                     }
-                })(l259.fvalue(pv, v624, v623),l3.value);
+                })(l266.fvalue(pv, v660, v659),l3.value);
             })(l17.fvalue(pv, (function(){
-                var symbol = l256;
+                var symbol = l263;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
             })()));
         }
         catch (cf){
-            if (cf.type == 'block' && cf.id == 216)
+            if (cf.type == 'block' && cf.id == 222)
                 return values.apply(this, forcemv(cf.values));
             else
                 throw cf;
@@ -5901,33 +6339,34 @@ var l260 = {name: "TAGBODY"};
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l261 = {name: "GO"};
-((l206).value = ({car: l44.fvalue(pv, l261, (function (values,v632){
+var l268 = {name: "GO"};
+((l206).value = ({car: l44.fvalue(pv, l268, (function (values,v668){
     checkArgs(arguments, 2);
+    var i;
     return (function(){
-        return (function(v633,v634){
-            return (v633 !== l3.value ? l134.fvalue(values, "(function(){", (function(){
+        return (function(v669,v670){
+            return (v669 !== l3.value ? l134.fvalue(values, "(function(){", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
-            })(), l143.fvalue(pv, "throw ({", "type: 'tagbody', ", "id: ", l39.fvalue(pv, l176.fvalue(pv, v633)), ", ", "label: ", l40.fvalue(pv, l176.fvalue(pv, v633)), ", ", "message: 'Attempt to GO to non-existing tag ", v634, "'", "})", (function(){
+            })(), l143.fvalue(pv, "throw ({", "type: 'tagbody', ", "id: ", l39.fvalue(pv, l176.fvalue(pv, v669)), ", ", "label: ", l40.fvalue(pv, l176.fvalue(pv, v669)), ", ", "message: 'Attempt to GO to non-existing tag ", v670, "'", "})", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
             })()), "})()") : (function(){
-                throw l134.fvalue(pv, "Unknown tag `", v634, "'.");
+                throw l134.fvalue(pv, "Unknown tag `", v670, "'.");
             })());
-        })(l187.fvalue(pv, v632, (function(){
+        })(l187.fvalue(pv, v668, (function(){
             var symbol = l188;
             var value = symbol.value;
             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
             return value;
         })(), l185),(((function(){
-            var tmp = v632;
+            var tmp = v668;
             return (typeof tmp == 'object' && 'name' in tmp);
-        })()?l4.value: l3.value) !== l3.value ? (v632).name : (l81.fvalue(pv, v632) !== l3.value ? l17.fvalue(pv, v632) : l3.value)));
+        })()?l4.value: l3.value) !== l3.value ? (v668).name : (l81.fvalue(pv, v668) !== l3.value ? l17.fvalue(pv, v668) : l3.value)));
     })();
 })), cdr: (function(){
     var symbol = l206;
@@ -5935,13 +6374,14 @@ var l261 = {name: "GO"};
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l262 = {name: "UNWIND-PROTECT"};
-((l206).value = ({car: l44.fvalue(pv, l262, (function (values,v636){
+var l269 = {name: "UNWIND-PROTECT"};
+((l206).value = ({car: l44.fvalue(pv, l269, (function (values,v672){
     checkArgsAtLeast(arguments, 2);
-    var v635= l3.value;
+    var v671= l3.value;
     for (var i = arguments.length-1; i>=2; i--)
-        v635 = {car: arguments[i], cdr: 
-    v635};
+        v671 = {car: arguments[i], cdr: 
+    v671};
+    var i;
     return (function(){
         return l134.fvalue(values, "(function(){", (function(){
             var symbol = l133;
@@ -5958,7 +6398,7 @@ var l262 = {name: "UNWIND-PROTECT"};
             var value = symbol.value;
             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
             return value;
-        })(), l143.fvalue(pv, "ret = ", l145.fvalue(pv, v636), ";", (function(){
+        })(), l143.fvalue(pv, "ret = ", l145.fvalue(pv, v672), ";", (function(){
             var symbol = l133;
             var value = symbol.value;
             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -5968,7 +6408,7 @@ var l262 = {name: "UNWIND-PROTECT"};
             var value = symbol.value;
             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
             return value;
-        })(), l143.fvalue(pv, l222.fvalue(pv, v635)), "}", (function(){
+        })(), l143.fvalue(pv, l229.fvalue(pv, v671)), "}", (function(){
             var symbol = l133;
             var value = symbol.value;
             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -5986,20 +6426,21 @@ var l262 = {name: "UNWIND-PROTECT"};
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l263 = {name: "MULTIPLE-VALUE-CALL"};
-((l206).value = ({car: l44.fvalue(pv, l263, (function (values,v638){
+var l270 = {name: "MULTIPLE-VALUE-CALL"};
+((l206).value = ({car: l44.fvalue(pv, l270, (function (values,v674){
     checkArgsAtLeast(arguments, 2);
-    var v637= l3.value;
+    var v673= l3.value;
     for (var i = arguments.length-1; i>=2; i--)
-        v637 = {car: arguments[i], cdr: 
-    v637};
+        v673 = {car: arguments[i], cdr: 
+    v673};
+    var i;
     return (function(){
         return l134.fvalue(values, "(function(){", (function(){
             var symbol = l133;
             var value = symbol.value;
             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
             return value;
-        })(), l143.fvalue(pv, "var func = ", l145.fvalue(pv, v638), ";", (function(){
+        })(), l143.fvalue(pv, "var func = ", l145.fvalue(pv, v674), ";", (function(){
             var symbol = l133;
             var value = symbol.value;
             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -6029,9 +6470,10 @@ var l263 = {name: "MULTIPLE-VALUE-CALL"};
             var value = symbol.value;
             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
             return value;
-        })(), l138.fvalue(pv, (function (values,v639){
+        })(), l138.fvalue(pv, (function (values,v675){
             checkArgs(arguments, 2);
-            return l134.fvalue(values, "vs = ", l145.fvalue(pv, v639, l4.value), ";", (function(){
+            var i;
+            return l134.fvalue(values, "vs = ", l145.fvalue(pv, v675, l4.value), ";", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -6057,7 +6499,7 @@ var l263 = {name: "MULTIPLE-VALUE-CALL"};
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
             })()));
-        }), v637), "return func.apply(window, args);", (function(){
+        }), v673), "return func.apply(window, args);", (function(){
             var symbol = l133;
             var value = symbol.value;
             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -6075,20 +6517,21 @@ var l263 = {name: "MULTIPLE-VALUE-CALL"};
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l264 = {name: "MULTIPLE-VALUE-PROG1"};
-((l206).value = ({car: l44.fvalue(pv, l264, (function (values,v641){
+var l271 = {name: "MULTIPLE-VALUE-PROG1"};
+((l206).value = ({car: l44.fvalue(pv, l271, (function (values,v677){
     checkArgsAtLeast(arguments, 2);
-    var v640= l3.value;
+    var v676= l3.value;
     for (var i = arguments.length-1; i>=2; i--)
-        v640 = {car: arguments[i], cdr: 
-    v640};
+        v676 = {car: arguments[i], cdr: 
+    v676};
+    var i;
     return (function(){
         return l134.fvalue(values, "(function(){", (function(){
             var symbol = l133;
             var value = symbol.value;
             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
             return value;
-        })(), l143.fvalue(pv, "var args = ", l145.fvalue(pv, v641, (function(){
+        })(), l143.fvalue(pv, "var args = ", l145.fvalue(pv, v677, (function(){
             var symbol = l172;
             var value = symbol.value;
             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -6098,7 +6541,7 @@ var l264 = {name: "MULTIPLE-VALUE-PROG1"};
             var value = symbol.value;
             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
             return value;
-        })(), l222.fvalue(pv, v640), "return args;", (function(){
+        })(), l229.fvalue(pv, v676), "return args;", (function(){
             var symbol = l133;
             var value = symbol.value;
             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -6111,61 +6554,65 @@ var l264 = {name: "MULTIPLE-VALUE-PROG1"};
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l265 = {name: "BACKQUOTE-EXPAND-1"};
+var l272 = {name: "BACKQUOTE-EXPAND-1"};
 (function(){
-    (l265).fvalue = (function(v644){
-        ((v644)["fname"] = "BACKQUOTE-EXPAND-1");
-        return v644;
-    })((function (values,v642){
+    (l272).fvalue = (function(v680){
+        ((v680)["fname"] = "BACKQUOTE-EXPAND-1");
+        return v680;
+    })((function (values,v678){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (((function(){
-                var tmp = v642;
+                var tmp = v678;
                 return (typeof tmp == 'object' && 'name' in tmp);
-            })()?l4.value: l3.value) !== l3.value ? l44.fvalue(values, l167, v642) : (l45.fvalue(pv, v642) !== l3.value ? v642 : ((((function(){
-                var tmp = v642;
+            })()?l4.value: l3.value) !== l3.value ? l44.fvalue(values, l167, v678) : (l45.fvalue(pv, v678) !== l3.value ? v678 : ((((function(){
+                var tmp = v678;
                 return tmp === l3.value? l3.value: tmp.car;
             })() === l170)?l4.value: l3.value) !== l3.value ? (function(){
-                var tmp = v642;
+                var tmp = v678;
                 return tmp === l3.value? l3.value: tmp.car;
             })() : ((((function(){
-                var tmp = v642;
+                var tmp = v678;
                 return tmp === l3.value? l3.value: tmp.car;
-            })() === l168)?l4.value: l3.value) !== l3.value ? l265.fvalue(values, l265.fvalue(pv, l33.fvalue(pv, v642))) : ({car: l64, cdr: l73.fvalue(pv, (function (values,v643){
+            })() === l168)?l4.value: l3.value) !== l3.value ? l272.fvalue(values, l272.fvalue(pv, l33.fvalue(pv, v678))) : ({car: l64, cdr: l73.fvalue(pv, (function (values,v679){
                 checkArgs(arguments, 2);
-                return ((l59.fvalue(pv, v643) !== l3.value ? (((function(){
-                    var tmp = v643;
+                var i;
+                return ((l59.fvalue(pv, v679) !== l3.value ? (((function(){
+                    var tmp = v679;
                     return tmp === l3.value? l3.value: tmp.car;
-                })() === l170)?l4.value: l3.value) : l3.value) !== l3.value ? l44.fvalue(values, l44, l33.fvalue(pv, v643)) : ((l59.fvalue(pv, v643) !== l3.value ? (((function(){
-                    var tmp = v643;
+                })() === l170)?l4.value: l3.value) : l3.value) !== l3.value ? l44.fvalue(values, l44, l33.fvalue(pv, v679)) : ((l59.fvalue(pv, v679) !== l3.value ? (((function(){
+                    var tmp = v679;
                     return tmp === l3.value? l3.value: tmp.car;
-                })() === l169)?l4.value: l3.value) : l3.value) !== l3.value ? l33.fvalue(values, v643) : l44.fvalue(values, l44, l265.fvalue(pv, v643))));
-            }), v642)})))));
+                })() === l169)?l4.value: l3.value) : l3.value) !== l3.value ? l33.fvalue(values, v679) : l44.fvalue(values, l44, l272.fvalue(pv, v679))));
+            }), v678)})))));
         })();
     }));
-    return l265;
+    return l272;
 })();
-var l266 = {name: "BACKQUOTE-EXPAND"};
+var l273 = {name: "BACKQUOTE-EXPAND"};
 (function(){
-    (l266).fvalue = (function(v646){
-        ((v646)["fname"] = "BACKQUOTE-EXPAND");
-        return v646;
-    })((function (values,v645){
+    (l273).fvalue = (function(v682){
+        ((v682)["fname"] = "BACKQUOTE-EXPAND");
+        return v682;
+    })((function (values,v681){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
-            return ((l59.fvalue(pv, v645) !== l3.value ? (((function(){
-                var tmp = v645;
+            return ((l59.fvalue(pv, v681) !== l3.value ? (((function(){
+                var tmp = v681;
                 return tmp === l3.value? l3.value: tmp.car;
-            })() === l168)?l4.value: l3.value) : l3.value) !== l3.value ? l265.fvalue(values, l33.fvalue(pv, v645)) : v645);
+            })() === l168)?l4.value: l3.value) : l3.value) !== l3.value ? l272.fvalue(values, l33.fvalue(pv, v681)) : v681);
         })();
     }));
-    return l266;
+    return l273;
 })();
 l168;
-((l206).value = ({car: l44.fvalue(pv, l168, (function (values,v647){
+((l206).value = ({car: l44.fvalue(pv, l168, (function (values,v683){
     checkArgs(arguments, 2);
+    var i;
     return (function(){
-        return l145.fvalue(values, l265.fvalue(pv, v647));
+        return l145.fvalue(values, l272.fvalue(pv, v683));
     })();
 })), cdr: (function(){
     var symbol = l206;
@@ -6173,56 +6620,57 @@ l168;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l267 = {name: "*BUILTINS*"};
-(function(){
-    (((l267.value !== undefined)?l4.value: l3.value) !== l3.value ? l3.value : ((l267).value = l3.value));
-    return l267;
-})();
-var l268 = {name: "DEFINE-RAW-BUILTIN"};
-l268;
-var l269 = {name: "DEFINE-BUILTIN"};
-l269;
-var l270 = {name: "TYPE-CHECK"};
-l270;
-var l271 = {name: "VARIABLE-ARITY-CALL"};
-(function(){
-    (l271).fvalue = (function(v656){
-        ((v656)["fname"] = "VARIABLE-ARITY-CALL");
-        return v656;
-    })((function (values,v648,v649){
+var l274 = {name: "*BUILTINS*"};
+(function(){
+    (((l274.value !== undefined)?l4.value: l3.value) !== l3.value ? l3.value : ((l274).value = l3.value));
+    return l274;
+})();
+var l275 = {name: "DEFINE-RAW-BUILTIN"};
+l275;
+var l276 = {name: "DEFINE-BUILTIN"};
+l276;
+var l277 = {name: "TYPE-CHECK"};
+l277;
+var l278 = {name: "VARIABLE-ARITY-CALL"};
+(function(){
+    (l278).fvalue = (function(v692){
+        ((v692)["fname"] = "VARIABLE-ARITY-CALL");
+        return v692;
+    })((function (values,v684,v685){
         checkArgs(arguments, 3);
+        var i;
         return (function(){
             (((function(){
-                var tmp = v648;
+                var tmp = v684;
                 return (typeof tmp == 'object' && 'car' in tmp);
             })()?l4.value: l3.value) !== l3.value ? l3.value : (function(){
                 throw "ARGS must be a non-empty list";
             })());
-            return (function(v650,v651,v652){
+            return (function(v686,v687,v688){
                 (function(){
-                    return (function(v653,v654){
+                    return (function(v689,v690){
                         (function(){
-                            while(v653 !== l3.value){
-                                (v654 = (function(){
-                                    var tmp = v653;
+                            while(v689 !== l3.value){
+                                (v690 = (function(){
+                                    var tmp = v689;
                                     return tmp === l3.value? l3.value: tmp.car;
                                 })());
                                 (function(){
-                                    (function(v655){
-                                        (v651 = ({car: v655, cdr: v651}));
-                                        return (v652 = l134.fvalue(pv, v652, l134.fvalue(pv, "var ", v655, " = ", l145.fvalue(pv, v654), ";", (function(){
+                                    (function(v691){
+                                        (v687 = ({car: v691, cdr: v687}));
+                                        return (v688 = l134.fvalue(pv, v688, l134.fvalue(pv, "var ", v691, " = ", l145.fvalue(pv, v690), ";", (function(){
                                             var symbol = l133;
                                             var value = symbol.value;
                                             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                                             return value;
-                                        })(), "if (typeof ", v655, " !== 'number') throw 'Not a number!';", (function(){
+                                        })(), "if (typeof ", v691, " !== 'number') throw 'Not a number!';", (function(){
                                             var symbol = l133;
                                             var value = symbol.value;
                                             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                                             return value;
                                         })())));
-                                    })(l134.fvalue(pv, "x", l17.fvalue(pv, (v650 = (function(){
-                                        var x1 = v650;
+                                    })(l134.fvalue(pv, "x", l17.fvalue(pv, (v686 = (function(){
+                                        var x1 = v686;
                                         if (typeof x1 !== 'number') throw 'Not a number!';
                                         var x2 = 1;
                                         if (typeof x2 !== 'number') throw 'Not a number!';
@@ -6230,47 +6678,48 @@ var l271 = {name: "VARIABLE-ARITY-CALL"};
                                     })()))));
                                     return l3.value;
                                 })();
-                                (v653 = (function(){
-                                    var tmp = v653;
+                                (v689 = (function(){
+                                    var tmp = v689;
                                     return tmp === l3.value? l3.value: tmp.cdr;
                                 })());
                             }return l3.value;
                         })();
                         return l3.value;
-                    })(v648,l3.value);
+                    })(v684,l3.value);
                 })();
                 return l134.fvalue(values, "(function(){", (function(){
                     var symbol = l133;
                     var value = symbol.value;
                     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                     return value;
-                })(), l143.fvalue(pv, v652, (v649)(pv, l66.fvalue(pv, v651))), "})()");
+                })(), l143.fvalue(pv, v688, (v685)(pv, l66.fvalue(pv, v687))), "})()");
             })(0,l3,"");
         })();
     }));
-    return l271;
+    return l278;
 })();
-var l272 = {name: "VARIABLE-ARITY"};
-l272;
-var l273 = {name: "NUM-OP-NUM"};
+var l279 = {name: "VARIABLE-ARITY"};
+l279;
+var l280 = {name: "NUM-OP-NUM"};
 (function(){
-    (l273).fvalue = (function(v660){
-        ((v660)["fname"] = "NUM-OP-NUM");
-        return v660;
-    })((function (values,v657,v658,v659){
+    (l280).fvalue = (function(v696){
+        ((v696)["fname"] = "NUM-OP-NUM");
+        return v696;
+    })((function (values,v693,v694,v695){
         checkArgs(arguments, 4);
+        var i;
         return (function(){
             return l134.fvalue(values, "(function(){", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
-            })(), l143.fvalue(pv, l134.fvalue(pv, "var ", "x", " = ", v657, ";", (function(){
+            })(), l143.fvalue(pv, l134.fvalue(pv, "var ", "x", " = ", v693, ";", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
-            })()), l134.fvalue(pv, "var ", "y", " = ", v659, ";", (function(){
+            })()), l134.fvalue(pv, "var ", "y", " = ", v695, ";", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -6295,7 +6744,7 @@ var l273 = {name: "NUM-OP-NUM"};
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
-            })())), l134.fvalue(pv, "return ", l134.fvalue(pv, "x", v658, "y"), ";", (function(){
+            })())), l134.fvalue(pv, "return ", l134.fvalue(pv, "x", v694, "y"), ";", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -6303,17 +6752,19 @@ var l273 = {name: "NUM-OP-NUM"};
             })())), "})()");
         })();
     }));
-    return l273;
+    return l280;
 })();
-((l267).value = ({car: l44.fvalue(pv, l61, (function (values){
-    var v661= l3.value;
+((l274).value = ({car: l44.fvalue(pv, l61, (function (values){
+    var v697= l3.value;
     for (var i = arguments.length-1; i>=1; i--)
-        v661 = {car: arguments[i], cdr: 
-    v661};
+        v697 = {car: arguments[i], cdr: 
+    v697};
+    var i;
     return (function(){
-        return (l12.fvalue(pv, v661) !== l3.value ? "0" : l271.fvalue(values, v661, (function (values,v662){
+        return (l12.fvalue(pv, v697) !== l3.value ? "0" : l278.fvalue(values, v697, (function (values,v698){
             checkArgs(arguments, 2);
-            return l134.fvalue(values, "return ", l136.fvalue(pv, v662, "+"), ";", (function(){
+            var i;
+            return l134.fvalue(values, "return ", l136.fvalue(pv, v698, "+"), ";", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -6322,48 +6773,52 @@ var l273 = {name: "NUM-OP-NUM"};
         })));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-((l267).value = ({car: l44.fvalue(pv, l62, (function (values,v664){
+((l274).value = ({car: l44.fvalue(pv, l62, (function (values,v700){
     checkArgsAtLeast(arguments, 2);
-    var v663= l3.value;
+    var v699= l3.value;
     for (var i = arguments.length-1; i>=2; i--)
-        v663 = {car: arguments[i], cdr: 
-    v663};
+        v699 = {car: arguments[i], cdr: 
+    v699};
+    var i;
     return (function(){
-        return (function(v665){
-            return l271.fvalue(values, v665, (function (values,v666){
+        return (function(v701){
+            return l278.fvalue(values, v701, (function (values,v702){
                 checkArgs(arguments, 2);
-                return l134.fvalue(values, "return ", (l12.fvalue(pv, v663) !== l3.value ? l134.fvalue(pv, "-", (function(){
-                    var tmp = v666;
+                var i;
+                return l134.fvalue(values, "return ", (l12.fvalue(pv, v699) !== l3.value ? l134.fvalue(pv, "-", (function(){
+                    var tmp = v702;
                     return tmp === l3.value? l3.value: tmp.car;
-                })()) : l136.fvalue(pv, v666, "-")), ";", (function(){
+                })()) : l136.fvalue(pv, v702, "-")), ";", (function(){
                     var symbol = l133;
                     var value = symbol.value;
                     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                     return value;
                 })());
             }));
-        })(({car: v664, cdr: v663}));
+        })(({car: v700, cdr: v699}));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-((l267).value = ({car: l44.fvalue(pv, l20, (function (values){
-    var v667= l3.value;
+((l274).value = ({car: l44.fvalue(pv, l20, (function (values){
+    var v703= l3.value;
     for (var i = arguments.length-1; i>=1; i--)
-        v667 = {car: arguments[i], cdr: 
-    v667};
+        v703 = {car: arguments[i], cdr: 
+    v703};
+    var i;
     return (function(){
-        return (l12.fvalue(pv, v667) !== l3.value ? "1" : l271.fvalue(values, v667, (function (values,v668){
+        return (l12.fvalue(pv, v703) !== l3.value ? "1" : l278.fvalue(values, v703, (function (values,v704){
             checkArgs(arguments, 2);
-            return l134.fvalue(values, "return ", l136.fvalue(pv, v668, "*"), ";", (function(){
+            var i;
+            return l134.fvalue(values, "return ", l136.fvalue(pv, v704, "*"), ";", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -6372,234 +6827,250 @@ var l273 = {name: "NUM-OP-NUM"};
         })));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-((l267).value = ({car: l44.fvalue(pv, l21, (function (values,v670){
+((l274).value = ({car: l44.fvalue(pv, l21, (function (values,v706){
     checkArgsAtLeast(arguments, 2);
-    var v669= l3.value;
+    var v705= l3.value;
     for (var i = arguments.length-1; i>=2; i--)
-        v669 = {car: arguments[i], cdr: 
-    v669};
+        v705 = {car: arguments[i], cdr: 
+    v705};
+    var i;
     return (function(){
-        return (function(v671){
-            return l271.fvalue(values, v671, (function (values,v672){
+        return (function(v707){
+            return l278.fvalue(values, v707, (function (values,v708){
                 checkArgs(arguments, 2);
-                return l134.fvalue(values, "return ", (l12.fvalue(pv, v669) !== l3.value ? l134.fvalue(pv, "1 /", (function(){
-                    var tmp = v672;
+                var i;
+                return l134.fvalue(values, "return ", (l12.fvalue(pv, v705) !== l3.value ? l134.fvalue(pv, "1 /", (function(){
+                    var tmp = v708;
                     return tmp === l3.value? l3.value: tmp.car;
-                })()) : l136.fvalue(pv, v672, "/")), ";", (function(){
+                })()) : l136.fvalue(pv, v708, "/")), ";", (function(){
                     var symbol = l133;
                     var value = symbol.value;
                     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                     return value;
                 })());
             }));
-        })(({car: v670, cdr: v669}));
+        })(({car: v706, cdr: v705}));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l274 = {name: "MOD"};
-((l267).value = ({car: l44.fvalue(pv, l274, (function (values,v673,v674){
+var l281 = {name: "MOD"};
+((l274).value = ({car: l44.fvalue(pv, l281, (function (values,v709,v710){
     checkArgs(arguments, 3);
+    var i;
     return (function(){
-        return (function(v675,v676){
-            return l273.fvalue(values, v675, "%", v676);
-        })(l145.fvalue(pv, v673),l145.fvalue(pv, v674));
+        return (function(v711,v712){
+            return l280.fvalue(values, v711, "%", v712);
+        })(l145.fvalue(pv, v709),l145.fvalue(pv, v710));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l275 = {name: "COMPARISON-CONJUNTION"};
+var l282 = {name: "COMPARISON-CONJUNTION"};
 (function(){
-    (l275).fvalue = (function(v679){
-        ((v679)["fname"] = "COMPARISON-CONJUNTION");
-        return v679;
-    })((function (values,v677,v678){
+    (l282).fvalue = (function(v715){
+        ((v715)["fname"] = "COMPARISON-CONJUNTION");
+        return v715;
+    })((function (values,v713,v714){
         checkArgs(arguments, 3);
+        var i;
         return (function(){
             return (l12.fvalue(pv, (function(){
-                var tmp = v677;
+                var tmp = v713;
                 return tmp === l3.value? l3.value: tmp.cdr;
-            })()) !== l3.value ? "true" : (l12.fvalue(pv, l35.fvalue(pv, v677)) !== l3.value ? l134.fvalue(values, (function(){
-                var tmp = v677;
+            })()) !== l3.value ? "true" : (l12.fvalue(pv, l35.fvalue(pv, v713)) !== l3.value ? l134.fvalue(values, (function(){
+                var tmp = v713;
                 return tmp === l3.value? l3.value: tmp.car;
-            })(), v678, l33.fvalue(pv, v677)) : l134.fvalue(values, (function(){
-                var tmp = v677;
+            })(), v714, l33.fvalue(pv, v713)) : l134.fvalue(values, (function(){
+                var tmp = v713;
                 return tmp === l3.value? l3.value: tmp.car;
-            })(), v678, l33.fvalue(pv, v677), " && ", l275.fvalue(pv, (function(){
-                var tmp = v677;
+            })(), v714, l33.fvalue(pv, v713), " && ", l282.fvalue(pv, (function(){
+                var tmp = v713;
                 return tmp === l3.value? l3.value: tmp.cdr;
-            })(), v678))));
+            })(), v714))));
         })();
     }));
-    return l275;
+    return l282;
 })();
-var l276 = {name: "DEFINE-BUILTIN-COMPARISON"};
-l276;
-var l277 = {name: ">"};
-((l267).value = ({car: l44.fvalue(pv, l277, (function (values,v681){
+var l283 = {name: "DEFINE-BUILTIN-COMPARISON"};
+l283;
+var l284 = {name: ">"};
+((l274).value = ({car: l44.fvalue(pv, l284, (function (values,v717){
     checkArgsAtLeast(arguments, 2);
-    var v680= l3.value;
+    var v716= l3.value;
     for (var i = arguments.length-1; i>=2; i--)
-        v680 = {car: arguments[i], cdr: 
-    v680};
+        v716 = {car: arguments[i], cdr: 
+    v716};
+    var i;
     return (function(){
-        return (function(v682){
-            return l271.fvalue(values, v682, (function (values,v683){
+        return (function(v718){
+            return l278.fvalue(values, v718, (function (values,v719){
                 checkArgs(arguments, 2);
-                return l134.fvalue(values, "return ", l144.fvalue(pv, l275.fvalue(pv, v683, ">")), ";", (function(){
+                var i;
+                return l134.fvalue(values, "return ", l144.fvalue(pv, l282.fvalue(pv, v719, ">")), ";", (function(){
                     var symbol = l133;
                     var value = symbol.value;
                     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                     return value;
                 })());
             }));
-        })(({car: v681, cdr: v680}));
+        })(({car: v717, cdr: v716}));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l278 = {name: "<"};
-((l267).value = ({car: l44.fvalue(pv, l278, (function (values,v685){
+var l285 = {name: "<"};
+((l274).value = ({car: l44.fvalue(pv, l285, (function (values,v721){
     checkArgsAtLeast(arguments, 2);
-    var v684= l3.value;
+    var v720= l3.value;
     for (var i = arguments.length-1; i>=2; i--)
-        v684 = {car: arguments[i], cdr: 
-    v684};
+        v720 = {car: arguments[i], cdr: 
+    v720};
+    var i;
     return (function(){
-        return (function(v686){
-            return l271.fvalue(values, v686, (function (values,v687){
+        return (function(v722){
+            return l278.fvalue(values, v722, (function (values,v723){
                 checkArgs(arguments, 2);
-                return l134.fvalue(values, "return ", l144.fvalue(pv, l275.fvalue(pv, v687, "<")), ";", (function(){
+                var i;
+                return l134.fvalue(values, "return ", l144.fvalue(pv, l282.fvalue(pv, v723, "<")), ";", (function(){
                     var symbol = l133;
                     var value = symbol.value;
                     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                     return value;
                 })());
             }));
-        })(({car: v685, cdr: v684}));
+        })(({car: v721, cdr: v720}));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l279 = {name: ">="};
-((l267).value = ({car: l44.fvalue(pv, l279, (function (values,v689){
+var l286 = {name: ">="};
+((l274).value = ({car: l44.fvalue(pv, l286, (function (values,v725){
     checkArgsAtLeast(arguments, 2);
-    var v688= l3.value;
+    var v724= l3.value;
     for (var i = arguments.length-1; i>=2; i--)
-        v688 = {car: arguments[i], cdr: 
-    v688};
+        v724 = {car: arguments[i], cdr: 
+    v724};
+    var i;
     return (function(){
-        return (function(v690){
-            return l271.fvalue(values, v690, (function (values,v691){
+        return (function(v726){
+            return l278.fvalue(values, v726, (function (values,v727){
                 checkArgs(arguments, 2);
-                return l134.fvalue(values, "return ", l144.fvalue(pv, l275.fvalue(pv, v691, ">=")), ";", (function(){
+                var i;
+                return l134.fvalue(values, "return ", l144.fvalue(pv, l282.fvalue(pv, v727, ">=")), ";", (function(){
                     var symbol = l133;
                     var value = symbol.value;
                     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                     return value;
                 })());
             }));
-        })(({car: v689, cdr: v688}));
+        })(({car: v725, cdr: v724}));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l280 = {name: "<="};
-((l267).value = ({car: l44.fvalue(pv, l280, (function (values,v693){
+var l287 = {name: "<="};
+((l274).value = ({car: l44.fvalue(pv, l287, (function (values,v729){
     checkArgsAtLeast(arguments, 2);
-    var v692= l3.value;
+    var v728= l3.value;
     for (var i = arguments.length-1; i>=2; i--)
-        v692 = {car: arguments[i], cdr: 
-    v692};
+        v728 = {car: arguments[i], cdr: 
+    v728};
+    var i;
     return (function(){
-        return (function(v694){
-            return l271.fvalue(values, v694, (function (values,v695){
+        return (function(v730){
+            return l278.fvalue(values, v730, (function (values,v731){
                 checkArgs(arguments, 2);
-                return l134.fvalue(values, "return ", l144.fvalue(pv, l275.fvalue(pv, v695, "<=")), ";", (function(){
+                var i;
+                return l134.fvalue(values, "return ", l144.fvalue(pv, l282.fvalue(pv, v731, "<=")), ";", (function(){
                     var symbol = l133;
                     var value = symbol.value;
                     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                     return value;
                 })());
             }));
-        })(({car: v693, cdr: v692}));
+        })(({car: v729, cdr: v728}));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-((l267).value = ({car: l44.fvalue(pv, l19, (function (values,v697){
+((l274).value = ({car: l44.fvalue(pv, l19, (function (values,v733){
     checkArgsAtLeast(arguments, 2);
-    var v696= l3.value;
+    var v732= l3.value;
     for (var i = arguments.length-1; i>=2; i--)
-        v696 = {car: arguments[i], cdr: 
-    v696};
+        v732 = {car: arguments[i], cdr: 
+    v732};
+    var i;
     return (function(){
-        return (function(v698){
-            return l271.fvalue(values, v698, (function (values,v699){
+        return (function(v734){
+            return l278.fvalue(values, v734, (function (values,v735){
                 checkArgs(arguments, 2);
-                return l134.fvalue(values, "return ", l144.fvalue(pv, l275.fvalue(pv, v699, "==")), ";", (function(){
+                var i;
+                return l134.fvalue(values, "return ", l144.fvalue(pv, l282.fvalue(pv, v735, "==")), ";", (function(){
                     var symbol = l133;
                     var value = symbol.value;
                     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                     return value;
                 })());
             }));
-        })(({car: v697, cdr: v696}));
+        })(({car: v733, cdr: v732}));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l281 = {name: "NUMBERP"};
-((l267).value = ({car: l44.fvalue(pv, l281, (function (values,v700){
+var l288 = {name: "NUMBERP"};
+((l274).value = ({car: l44.fvalue(pv, l288, (function (values,v736){
     checkArgs(arguments, 2);
+    var i;
     return (function(){
-        return (function(v701){
-            return l144.fvalue(values, l134.fvalue(pv, "(typeof (", v701, ") == \"number\")"));
-        })(l145.fvalue(pv, v700));
+        return (function(v737){
+            return l144.fvalue(values, l134.fvalue(pv, "(typeof (", v737, ") == \"number\")"));
+        })(l145.fvalue(pv, v736));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l282 = {name: "FLOOR"};
-((l267).value = ({car: l44.fvalue(pv, l282, (function (values,v702){
+var l289 = {name: "FLOOR"};
+((l274).value = ({car: l44.fvalue(pv, l289, (function (values,v738){
     checkArgs(arguments, 2);
+    var i;
     return (function(){
-        return (function(v703){
+        return (function(v739){
             return l134.fvalue(values, "(function(){", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
-            })(), l143.fvalue(pv, l134.fvalue(pv, "var ", "x", " = ", v703, ";", (function(){
+            })(), l143.fvalue(pv, l134.fvalue(pv, "var ", "x", " = ", v739, ";", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -6620,37 +7091,39 @@ var l282 = {name: "FLOOR"};
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
             })())), "})()");
-        })(l145.fvalue(pv, v702));
+        })(l145.fvalue(pv, v738));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-((l267).value = ({car: l44.fvalue(pv, l28, (function (values,v704,v705){
+((l274).value = ({car: l44.fvalue(pv, l28, (function (values,v740,v741){
     checkArgs(arguments, 3);
+    var i;
     return (function(){
-        return (function(v706,v707){
-            return l134.fvalue(values, "({car: ", v706, ", cdr: ", v707, "})");
-        })(l145.fvalue(pv, v704),l145.fvalue(pv, v705));
+        return (function(v742,v743){
+            return l134.fvalue(values, "({car: ", v742, ", cdr: ", v743, "})");
+        })(l145.fvalue(pv, v740),l145.fvalue(pv, v741));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-((l267).value = ({car: l44.fvalue(pv, l29, (function (values,v708){
+((l274).value = ({car: l44.fvalue(pv, l29, (function (values,v744){
     checkArgs(arguments, 2);
+    var i;
     return (function(){
-        return (function(v709){
+        return (function(v745){
             return l144.fvalue(values, l134.fvalue(pv, "(function(){", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
-            })(), l143.fvalue(pv, "var tmp = ", v709, ";", (function(){
+            })(), l143.fvalue(pv, "var tmp = ", v745, ";", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -6661,24 +7134,25 @@ var l282 = {name: "FLOOR"};
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
             })()), "})()"));
-        })(l145.fvalue(pv, v708));
+        })(l145.fvalue(pv, v744));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-((l267).value = ({car: l44.fvalue(pv, l30, (function (values,v710){
+((l274).value = ({car: l44.fvalue(pv, l30, (function (values,v746){
     checkArgs(arguments, 2);
+    var i;
     return (function(){
-        return (function(v711){
+        return (function(v747){
             return l134.fvalue(values, "(function(){", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
-            })(), l143.fvalue(pv, "var tmp = ", v711, ";", (function(){
+            })(), l143.fvalue(pv, "var tmp = ", v747, ";", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -6689,24 +7163,25 @@ var l282 = {name: "FLOOR"};
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
             })()), "})()");
-        })(l145.fvalue(pv, v710));
+        })(l145.fvalue(pv, v746));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-((l267).value = ({car: l44.fvalue(pv, l31, (function (values,v712){
+((l274).value = ({car: l44.fvalue(pv, l31, (function (values,v748){
     checkArgs(arguments, 2);
+    var i;
     return (function(){
-        return (function(v713){
+        return (function(v749){
             return l134.fvalue(values, "(function(){", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
-            })(), l143.fvalue(pv, "var tmp = ", v713, ";", (function(){
+            })(), l143.fvalue(pv, "var tmp = ", v749, ";", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -6717,25 +7192,26 @@ var l282 = {name: "FLOOR"};
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
             })()), "})()");
-        })(l145.fvalue(pv, v712));
+        })(l145.fvalue(pv, v748));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l283 = {name: "RPLACA"};
-((l267).value = ({car: l44.fvalue(pv, l283, (function (values,v714,v715){
+var l290 = {name: "RPLACA"};
+((l274).value = ({car: l44.fvalue(pv, l290, (function (values,v750,v751){
     checkArgs(arguments, 3);
+    var i;
     return (function(){
-        return (function(v716,v717){
+        return (function(v752,v753){
             return l134.fvalue(values, "(function(){", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
-            })(), l143.fvalue(pv, l134.fvalue(pv, "var ", "x", " = ", v716, ";", (function(){
+            })(), l143.fvalue(pv, l134.fvalue(pv, "var ", "x", " = ", v752, ";", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -6750,31 +7226,32 @@ var l283 = {name: "RPLACA"};
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
-            })())), l134.fvalue(pv, "return ", l134.fvalue(pv, "(x.car = ", v717, ", x)"), ";", (function(){
+            })())), l134.fvalue(pv, "return ", l134.fvalue(pv, "(x.car = ", v753, ", x)"), ";", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
             })())), "})()");
-        })(l145.fvalue(pv, v714),l145.fvalue(pv, v715));
+        })(l145.fvalue(pv, v750),l145.fvalue(pv, v751));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l284 = {name: "RPLACD"};
-((l267).value = ({car: l44.fvalue(pv, l284, (function (values,v718,v719){
+var l291 = {name: "RPLACD"};
+((l274).value = ({car: l44.fvalue(pv, l291, (function (values,v754,v755){
     checkArgs(arguments, 3);
+    var i;
     return (function(){
-        return (function(v720,v721){
+        return (function(v756,v757){
             return l134.fvalue(values, "(function(){", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
-            })(), l143.fvalue(pv, l134.fvalue(pv, "var ", "x", " = ", v720, ";", (function(){
+            })(), l143.fvalue(pv, l134.fvalue(pv, "var ", "x", " = ", v756, ";", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -6789,31 +7266,32 @@ var l284 = {name: "RPLACD"};
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
-            })())), l134.fvalue(pv, "return ", l134.fvalue(pv, "(x.cdr = ", v721, ", x)"), ";", (function(){
+            })())), l134.fvalue(pv, "return ", l134.fvalue(pv, "(x.cdr = ", v757, ", x)"), ";", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
             })())), "})()");
-        })(l145.fvalue(pv, v718),l145.fvalue(pv, v719));
+        })(l145.fvalue(pv, v754),l145.fvalue(pv, v755));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l285 = {name: "SYMBOLP"};
-((l267).value = ({car: l44.fvalue(pv, l285, (function (values,v722){
+var l292 = {name: "SYMBOLP"};
+((l274).value = ({car: l44.fvalue(pv, l292, (function (values,v758){
     checkArgs(arguments, 2);
+    var i;
     return (function(){
-        return (function(v723){
+        return (function(v759){
             return l144.fvalue(values, l134.fvalue(pv, "(function(){", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
-            })(), l143.fvalue(pv, "var tmp = ", v723, ";", (function(){
+            })(), l143.fvalue(pv, "var tmp = ", v759, ";", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -6824,25 +7302,26 @@ var l285 = {name: "SYMBOLP"};
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
             })()), "})()"));
-        })(l145.fvalue(pv, v722));
+        })(l145.fvalue(pv, v758));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l286 = {name: "MAKE-SYMBOL"};
-((l267).value = ({car: l44.fvalue(pv, l286, (function (values,v724){
+var l293 = {name: "MAKE-SYMBOL"};
+((l274).value = ({car: l44.fvalue(pv, l293, (function (values,v760){
     checkArgs(arguments, 2);
+    var i;
     return (function(){
-        return (function(v725){
+        return (function(v761){
             return l134.fvalue(values, "(function(){", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
-            })(), l143.fvalue(pv, l134.fvalue(pv, "var ", "name", " = ", v725, ";", (function(){
+            })(), l143.fvalue(pv, l134.fvalue(pv, "var ", "name", " = ", v761, ";", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -6863,79 +7342,84 @@ var l286 = {name: "MAKE-SYMBOL"};
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
             })())), "})()");
-        })(l145.fvalue(pv, v724));
+        })(l145.fvalue(pv, v760));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l287 = {name: "SYMBOL-NAME"};
-((l267).value = ({car: l44.fvalue(pv, l287, (function (values,v726){
+var l294 = {name: "SYMBOL-NAME"};
+((l274).value = ({car: l44.fvalue(pv, l294, (function (values,v762){
     checkArgs(arguments, 2);
+    var i;
     return (function(){
-        return (function(v727){
-            return l134.fvalue(values, "(", v727, ").name");
-        })(l145.fvalue(pv, v726));
+        return (function(v763){
+            return l134.fvalue(values, "(", v763, ").name");
+        })(l145.fvalue(pv, v762));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-((l267).value = ({car: l44.fvalue(pv, l224, (function (values,v728,v729){
+((l274).value = ({car: l44.fvalue(pv, l231, (function (values,v764,v765){
     checkArgs(arguments, 3);
+    var i;
     return (function(){
-        return (function(v730,v731){
-            return l134.fvalue(values, "(", v730, ").value = ", v731);
-        })(l145.fvalue(pv, v728),l145.fvalue(pv, v729));
+        return (function(v766,v767){
+            return l134.fvalue(values, "(", v766, ").value = ", v767);
+        })(l145.fvalue(pv, v764),l145.fvalue(pv, v765));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l288 = {name: "FSET"};
-((l267).value = ({car: l44.fvalue(pv, l288, (function (values,v732,v733){
+var l295 = {name: "FSET"};
+((l274).value = ({car: l44.fvalue(pv, l295, (function (values,v768,v769){
     checkArgs(arguments, 3);
+    var i;
     return (function(){
-        return (function(v734,v735){
-            return l134.fvalue(values, "(", v734, ").fvalue = ", v735);
-        })(l145.fvalue(pv, v732),l145.fvalue(pv, v733));
+        return (function(v770,v771){
+            return l134.fvalue(values, "(", v770, ").fvalue = ", v771);
+        })(l145.fvalue(pv, v768),l145.fvalue(pv, v769));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-((l267).value = ({car: l44.fvalue(pv, l18, (function (values,v736){
+((l274).value = ({car: l44.fvalue(pv, l18, (function (values,v772){
     checkArgs(arguments, 2);
+    var i;
     return (function(){
-        return (function(v737){
-            return l144.fvalue(values, l134.fvalue(pv, "(", v737, ".value !== undefined)"));
-        })(l145.fvalue(pv, v736));
+        return (function(v773){
+            return l144.fvalue(values, l134.fvalue(pv, "(", v773, ".value !== undefined)"));
+        })(l145.fvalue(pv, v772));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l289 = {name: "SYMBOL-VALUE"};
-((l267).value = ({car: l44.fvalue(pv, l289, (function (values,v738){
+var l296 = {name: "SYMBOL-VALUE"};
+((l274).value = ({car: l44.fvalue(pv, l296, (function (values,v774){
     checkArgs(arguments, 2);
+    var i;
     return (function(){
-        return (function(v739){
+        return (function(v775){
             return l134.fvalue(values, "(function(){", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
-            })(), l143.fvalue(pv, "var symbol = ", v739, ";", (function(){
+            })(), l143.fvalue(pv, "var symbol = ", v775, ";", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -6956,24 +7440,25 @@ var l289 = {name: "SYMBOL-VALUE"};
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
             })()), "})()");
-        })(l145.fvalue(pv, v738));
+        })(l145.fvalue(pv, v774));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-((l267).value = ({car: l44.fvalue(pv, l233, (function (values,v740){
+((l274).value = ({car: l44.fvalue(pv, l240, (function (values,v776){
     checkArgs(arguments, 2);
+    var i;
     return (function(){
-        return (function(v741){
+        return (function(v777){
             return l134.fvalue(values, "(function(){", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
-            })(), l143.fvalue(pv, "var symbol = ", v741, ";", (function(){
+            })(), l143.fvalue(pv, "var symbol = ", v777, ";", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -6994,81 +7479,86 @@ var l289 = {name: "SYMBOL-VALUE"};
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
             })()), "})()");
-        })(l145.fvalue(pv, v740));
+        })(l145.fvalue(pv, v776));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l290 = {name: "SYMBOL-PLIST"};
-((l267).value = ({car: l44.fvalue(pv, l290, (function (values,v742){
+var l297 = {name: "SYMBOL-PLIST"};
+((l274).value = ({car: l44.fvalue(pv, l297, (function (values,v778){
     checkArgs(arguments, 2);
+    var i;
     return (function(){
-        return (function(v743){
-            return l134.fvalue(values, "((", v743, ").plist || ", l145.fvalue(pv, l3.value), ")");
-        })(l145.fvalue(pv, v742));
+        return (function(v779){
+            return l134.fvalue(values, "((", v779, ").plist || ", l145.fvalue(pv, l3.value), ")");
+        })(l145.fvalue(pv, v778));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l291 = {name: "LAMBDA-CODE"};
-((l267).value = ({car: l44.fvalue(pv, l291, (function (values,v744){
+var l298 = {name: "LAMBDA-CODE"};
+((l274).value = ({car: l44.fvalue(pv, l298, (function (values,v780){
     checkArgs(arguments, 2);
+    var i;
     return (function(){
-        return (function(v745){
-            return l134.fvalue(values, "(", v745, ").toString()");
-        })(l145.fvalue(pv, v744));
+        return (function(v781){
+            return l134.fvalue(values, "(", v781, ").toString()");
+        })(l145.fvalue(pv, v780));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l292 = {name: "EQ"};
-((l267).value = ({car: l44.fvalue(pv, l292, (function (values,v746,v747){
+var l299 = {name: "EQ"};
+((l274).value = ({car: l44.fvalue(pv, l299, (function (values,v782,v783){
     checkArgs(arguments, 3);
+    var i;
     return (function(){
-        return (function(v748,v749){
-            return l144.fvalue(values, l134.fvalue(pv, "(", v748, " === ", v749, ")"));
-        })(l145.fvalue(pv, v746),l145.fvalue(pv, v747));
+        return (function(v784,v785){
+            return l144.fvalue(values, l134.fvalue(pv, "(", v784, " === ", v785, ")"));
+        })(l145.fvalue(pv, v782),l145.fvalue(pv, v783));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l293 = {name: "EQUAL"};
-((l267).value = ({car: l44.fvalue(pv, l293, (function (values,v750,v751){
+var l300 = {name: "EQUAL"};
+((l274).value = ({car: l44.fvalue(pv, l300, (function (values,v786,v787){
     checkArgs(arguments, 3);
+    var i;
     return (function(){
-        return (function(v752,v753){
-            return l144.fvalue(values, l134.fvalue(pv, "(", v752, " == ", v753, ")"));
-        })(l145.fvalue(pv, v750),l145.fvalue(pv, v751));
+        return (function(v788,v789){
+            return l144.fvalue(values, l134.fvalue(pv, "(", v788, " == ", v789, ")"));
+        })(l145.fvalue(pv, v786),l145.fvalue(pv, v787));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l294 = {name: "CHAR-TO-STRING"};
-((l267).value = ({car: l44.fvalue(pv, l294, (function (values,v754){
+var l301 = {name: "CHAR-TO-STRING"};
+((l274).value = ({car: l44.fvalue(pv, l301, (function (values,v790){
     checkArgs(arguments, 2);
+    var i;
     return (function(){
-        return (function(v755){
+        return (function(v791){
             return l134.fvalue(values, "(function(){", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
-            })(), l143.fvalue(pv, l134.fvalue(pv, "var ", "x", " = ", v755, ";", (function(){
+            })(), l143.fvalue(pv, l134.fvalue(pv, "var ", "x", " = ", v791, ";", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -7089,39 +7579,41 @@ var l294 = {name: "CHAR-TO-STRING"};
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
             })())), "})()");
-        })(l145.fvalue(pv, v754));
+        })(l145.fvalue(pv, v790));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l295 = {name: "STRINGP"};
-((l267).value = ({car: l44.fvalue(pv, l295, (function (values,v756){
+var l302 = {name: "STRINGP"};
+((l274).value = ({car: l44.fvalue(pv, l302, (function (values,v792){
     checkArgs(arguments, 2);
+    var i;
     return (function(){
-        return (function(v757){
-            return l144.fvalue(values, l134.fvalue(pv, "(typeof(", v757, ") == \"string\")"));
-        })(l145.fvalue(pv, v756));
+        return (function(v793){
+            return l144.fvalue(values, l134.fvalue(pv, "(typeof(", v793, ") == \"string\")"));
+        })(l145.fvalue(pv, v792));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l296 = {name: "STRING-UPCASE"};
-((l267).value = ({car: l44.fvalue(pv, l296, (function (values,v758){
+var l303 = {name: "STRING-UPCASE"};
+((l274).value = ({car: l44.fvalue(pv, l303, (function (values,v794){
     checkArgs(arguments, 2);
+    var i;
     return (function(){
-        return (function(v759){
+        return (function(v795){
             return l134.fvalue(values, "(function(){", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
-            })(), l143.fvalue(pv, l134.fvalue(pv, "var ", "x", " = ", v759, ";", (function(){
+            })(), l143.fvalue(pv, l134.fvalue(pv, "var ", "x", " = ", v795, ";", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -7142,25 +7634,26 @@ var l296 = {name: "STRING-UPCASE"};
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
             })())), "})()");
-        })(l145.fvalue(pv, v758));
+        })(l145.fvalue(pv, v794));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l297 = {name: "STRING-LENGTH"};
-((l267).value = ({car: l44.fvalue(pv, l297, (function (values,v760){
+var l304 = {name: "STRING-LENGTH"};
+((l274).value = ({car: l44.fvalue(pv, l304, (function (values,v796){
     checkArgs(arguments, 2);
+    var i;
     return (function(){
-        return (function(v761){
+        return (function(v797){
             return l134.fvalue(values, "(function(){", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
-            })(), l143.fvalue(pv, l134.fvalue(pv, "var ", "x", " = ", v761, ";", (function(){
+            })(), l143.fvalue(pv, l134.fvalue(pv, "var ", "x", " = ", v797, ";", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -7181,35 +7674,36 @@ var l297 = {name: "STRING-LENGTH"};
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
             })())), "})()");
-        })(l145.fvalue(pv, v760));
+        })(l145.fvalue(pv, v796));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l298 = {name: "SLICE"};
-((l267).value = ({car: l44.fvalue(pv, l298, (function (values,v762,v763,v764){
+var l305 = {name: "SLICE"};
+((l274).value = ({car: l44.fvalue(pv, l305, (function (values,v798,v799,v800){
     checkArgsAtLeast(arguments, 3);
     checkArgsAtMost(arguments, 4);
     switch(arguments.length-1){
     case 2:
-    v764=l3.value;
+    v800=l3.value;
     default: break;
     }
+    var i;
     return (function(){
         return l134.fvalue(values, "(function(){", (function(){
             var symbol = l133;
             var value = symbol.value;
             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
             return value;
-        })(), l143.fvalue(pv, "var str = ", l145.fvalue(pv, v762), ";", (function(){
+        })(), l143.fvalue(pv, "var str = ", l145.fvalue(pv, v798), ";", (function(){
             var symbol = l133;
             var value = symbol.value;
             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
             return value;
-        })(), "var a = ", l145.fvalue(pv, v763), ";", (function(){
+        })(), "var a = ", l145.fvalue(pv, v799), ";", (function(){
             var symbol = l133;
             var value = symbol.value;
             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -7219,7 +7713,7 @@ var l298 = {name: "SLICE"};
             var value = symbol.value;
             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
             return value;
-        })(), (v764 !== l3.value ? l134.fvalue(pv, "b = ", l145.fvalue(pv, v764), ";", (function(){
+        })(), (v800 !== l3.value ? l134.fvalue(pv, "b = ", l145.fvalue(pv, v800), ";", (function(){
             var symbol = l133;
             var value = symbol.value;
             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -7232,27 +7726,28 @@ var l298 = {name: "SLICE"};
         })()), "})()");
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l299 = {name: "CHAR"};
-((l267).value = ({car: l44.fvalue(pv, l299, (function (values,v765,v766){
+var l306 = {name: "CHAR"};
+((l274).value = ({car: l44.fvalue(pv, l306, (function (values,v801,v802){
     checkArgs(arguments, 3);
+    var i;
     return (function(){
-        return (function(v767,v768){
+        return (function(v803,v804){
             return l134.fvalue(values, "(function(){", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
-            })(), l143.fvalue(pv, l134.fvalue(pv, "var ", "string", " = ", v767, ";", (function(){
+            })(), l143.fvalue(pv, l134.fvalue(pv, "var ", "string", " = ", v803, ";", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
-            })()), l134.fvalue(pv, "var ", "index", " = ", v768, ";", (function(){
+            })()), l134.fvalue(pv, "var ", "index", " = ", v804, ";", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -7283,29 +7778,30 @@ var l299 = {name: "CHAR"};
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
             })())), "})()");
-        })(l145.fvalue(pv, v765),l145.fvalue(pv, v766));
+        })(l145.fvalue(pv, v801),l145.fvalue(pv, v802));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-((l267).value = ({car: l44.fvalue(pv, l72, (function (values,v769,v770){
+((l274).value = ({car: l44.fvalue(pv, l72, (function (values,v805,v806){
     checkArgs(arguments, 3);
+    var i;
     return (function(){
-        return (function(v771,v772){
+        return (function(v807,v808){
             return l134.fvalue(values, "(function(){", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
-            })(), l143.fvalue(pv, l134.fvalue(pv, "var ", "string1", " = ", v771, ";", (function(){
+            })(), l143.fvalue(pv, l134.fvalue(pv, "var ", "string1", " = ", v807, ";", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
-            })()), l134.fvalue(pv, "var ", "string2", " = ", v772, ";", (function(){
+            })()), l134.fvalue(pv, "var ", "string2", " = ", v808, ";", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -7336,23 +7832,24 @@ var l299 = {name: "CHAR"};
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
             })())), "})()");
-        })(l145.fvalue(pv, v769),l145.fvalue(pv, v770));
+        })(l145.fvalue(pv, v805),l145.fvalue(pv, v806));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l300 = {name: "FUNCALL"};
-((l267).value = ({car: l44.fvalue(pv, l300, (function (values,v774){
+var l307 = {name: "FUNCALL"};
+((l274).value = ({car: l44.fvalue(pv, l307, (function (values,v810){
     checkArgsAtLeast(arguments, 2);
-    var v773= l3.value;
+    var v809= l3.value;
     for (var i = arguments.length-1; i>=2; i--)
-        v773 = {car: arguments[i], cdr: 
-    v773};
+        v809 = {car: arguments[i], cdr: 
+    v809};
+    var i;
     return (function(){
-        return l134.fvalue(values, "(", l145.fvalue(pv, v774), ")(", l136.fvalue(pv, ({car: ((function(){
+        return l134.fvalue(values, "(", l145.fvalue(pv, v810), ")(", l136.fvalue(pv, ({car: ((function(){
             var symbol = l172;
             var value = symbol.value;
             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -7362,29 +7859,30 @@ var l300 = {name: "FUNCALL"};
             var func = symbol.fvalue;
             if (func === undefined) throw "Function `" + symbol.name + "' is undefined.";
             return func;
-        })(), v773)}), ", "), ")");
+        })(), v809)}), ", "), ")");
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l301 = {name: "APPLY"};
-((l267).value = ({car: l44.fvalue(pv, l301, (function (values,v776){
+var l308 = {name: "APPLY"};
+((l274).value = ({car: l44.fvalue(pv, l308, (function (values,v812){
     checkArgsAtLeast(arguments, 2);
-    var v775= l3.value;
+    var v811= l3.value;
     for (var i = arguments.length-1; i>=2; i--)
-        v775 = {car: arguments[i], cdr: 
-    v775};
+        v811 = {car: arguments[i], cdr: 
+    v811};
+    var i;
     return (function(){
-        return (l12.fvalue(pv, v775) !== l3.value ? l134.fvalue(values, "(", l145.fvalue(pv, v776), ")()") : (function(v777,v778){
+        return (l12.fvalue(pv, v811) !== l3.value ? l134.fvalue(values, "(", l145.fvalue(pv, v812), ")()") : (function(v813,v814){
             return l134.fvalue(values, "(function(){", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
-            })(), l143.fvalue(pv, "var f = ", l145.fvalue(pv, v776), ";", (function(){
+            })(), l143.fvalue(pv, "var f = ", l145.fvalue(pv, v812), ";", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -7399,12 +7897,12 @@ var l301 = {name: "APPLY"};
                 var func = symbol.fvalue;
                 if (func === undefined) throw "Function `" + symbol.name + "' is undefined.";
                 return func;
-            })(), v777)}), ", "), "];", (function(){
+            })(), v813)}), ", "), "];", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
-            })(), "var tail = (", l145.fvalue(pv, v778), ");", (function(){
+            })(), "var tail = (", l145.fvalue(pv, v814), ");", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -7435,28 +7933,29 @@ var l301 = {name: "APPLY"};
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
             })()), "})()");
-        })(l87.fvalue(pv, v775),(function(){
-            var tmp = l86.fvalue(pv, v775);
+        })(l87.fvalue(pv, v811),(function(){
+            var tmp = l86.fvalue(pv, v811);
             return tmp === l3.value? l3.value: tmp.car;
         })()));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l302 = {name: "JS-EVAL"};
-((l267).value = ({car: l44.fvalue(pv, l302, (function (values,v779){
+var l309 = {name: "JS-EVAL"};
+((l274).value = ({car: l44.fvalue(pv, l309, (function (values,v815){
     checkArgs(arguments, 2);
+    var i;
     return (function(){
-        return (function(v780){
+        return (function(v816){
             return l134.fvalue(values, "(function(){", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
-            })(), l143.fvalue(pv, l134.fvalue(pv, "var ", "string", " = ", v780, ";", (function(){
+            })(), l143.fvalue(pv, l134.fvalue(pv, "var ", "string", " = ", v816, ";", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -7517,77 +8016,81 @@ var l302 = {name: "JS-EVAL"};
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
             })())), "})()");
-        })(l145.fvalue(pv, v779));
+        })(l145.fvalue(pv, v815));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l303 = {name: "ERROR"};
-((l267).value = ({car: l44.fvalue(pv, l303, (function (values,v781){
+var l310 = {name: "ERROR"};
+((l274).value = ({car: l44.fvalue(pv, l310, (function (values,v817){
     checkArgs(arguments, 2);
+    var i;
     return (function(){
-        return (function(v782){
+        return (function(v818){
             return l134.fvalue(values, "(function(){", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
-            })(), l143.fvalue(pv, "throw ", v782, ";", (function(){
+            })(), l143.fvalue(pv, "throw ", v818, ";", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
             })()), "})()");
-        })(l145.fvalue(pv, v781));
+        })(l145.fvalue(pv, v817));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l304 = {name: "NEW"};
-((l267).value = ({car: l44.fvalue(pv, l304, (function (values){
+var l311 = {name: "NEW"};
+((l274).value = ({car: l44.fvalue(pv, l311, (function (values){
     checkArgsAtMost(arguments, 1);
+    var i;
     return (function(){
         return (function(){
             return "{}";
         })();
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l305 = {name: "OBJECTP"};
-((l267).value = ({car: l44.fvalue(pv, l305, (function (values,v783){
+var l312 = {name: "OBJECTP"};
+((l274).value = ({car: l44.fvalue(pv, l312, (function (values,v819){
     checkArgs(arguments, 2);
+    var i;
     return (function(){
-        return (function(v784){
-            return l144.fvalue(values, l134.fvalue(pv, "(typeof (", v784, ") === 'object')"));
-        })(l145.fvalue(pv, v783));
+        return (function(v820){
+            return l144.fvalue(values, l134.fvalue(pv, "(typeof (", v820, ") === 'object')"));
+        })(l145.fvalue(pv, v819));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l306 = {name: "OGET"};
-((l267).value = ({car: l44.fvalue(pv, l306, (function (values,v785,v786){
+var l313 = {name: "OGET"};
+((l274).value = ({car: l44.fvalue(pv, l313, (function (values,v821,v822){
     checkArgs(arguments, 3);
+    var i;
     return (function(){
-        return (function(v787,v788){
+        return (function(v823,v824){
             return l134.fvalue(values, "(function(){", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
-            })(), l143.fvalue(pv, "var tmp = ", "(", v787, ")[", v788, "];", (function(){
+            })(), l143.fvalue(pv, "var tmp = ", "(", v823, ")[", v824, "];", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -7598,67 +8101,71 @@ var l306 = {name: "OGET"};
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
             })()), "})()");
-        })(l145.fvalue(pv, v785),l145.fvalue(pv, v786));
+        })(l145.fvalue(pv, v821),l145.fvalue(pv, v822));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l307 = {name: "OSET"};
-((l267).value = ({car: l44.fvalue(pv, l307, (function (values,v789,v790,v791){
+var l314 = {name: "OSET"};
+((l274).value = ({car: l44.fvalue(pv, l314, (function (values,v825,v826,v827){
     checkArgs(arguments, 4);
+    var i;
     return (function(){
-        return (function(v792,v793,v794){
-            return l134.fvalue(values, "((", v792, ")[", v793, "] = ", v794, ")");
-        })(l145.fvalue(pv, v789),l145.fvalue(pv, v790),l145.fvalue(pv, v791));
+        return (function(v828,v829,v830){
+            return l134.fvalue(values, "((", v828, ")[", v829, "] = ", v830, ")");
+        })(l145.fvalue(pv, v825),l145.fvalue(pv, v826),l145.fvalue(pv, v827));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l308 = {name: "IN"};
-((l267).value = ({car: l44.fvalue(pv, l308, (function (values,v795,v796){
+var l315 = {name: "IN"};
+((l274).value = ({car: l44.fvalue(pv, l315, (function (values,v831,v832){
     checkArgs(arguments, 3);
+    var i;
     return (function(){
-        return (function(v797,v798){
-            return l144.fvalue(values, l134.fvalue(pv, "((", v797, ") in (", v798, "))"));
-        })(l145.fvalue(pv, v795),l145.fvalue(pv, v796));
+        return (function(v833,v834){
+            return l144.fvalue(values, l134.fvalue(pv, "((", v833, ") in (", v834, "))"));
+        })(l145.fvalue(pv, v831),l145.fvalue(pv, v832));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l309 = {name: "FUNCTIONP"};
-((l267).value = ({car: l44.fvalue(pv, l309, (function (values,v799){
+var l316 = {name: "FUNCTIONP"};
+((l274).value = ({car: l44.fvalue(pv, l316, (function (values,v835){
     checkArgs(arguments, 2);
+    var i;
     return (function(){
-        return (function(v800){
-            return l144.fvalue(values, l134.fvalue(pv, "(typeof ", v800, " == 'function')"));
-        })(l145.fvalue(pv, v799));
+        return (function(v836){
+            return l144.fvalue(values, l134.fvalue(pv, "(typeof ", v836, " == 'function')"));
+        })(l145.fvalue(pv, v835));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l310 = {name: "WRITE-STRING"};
-((l267).value = ({car: l44.fvalue(pv, l310, (function (values,v801){
+var l317 = {name: "WRITE-STRING"};
+((l274).value = ({car: l44.fvalue(pv, l317, (function (values,v837){
     checkArgs(arguments, 2);
+    var i;
     return (function(){
-        return (function(v802){
+        return (function(v838){
             return l134.fvalue(values, "(function(){", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
-            })(), l143.fvalue(pv, l134.fvalue(pv, "var ", "x", " = ", v802, ";", (function(){
+            })(), l143.fvalue(pv, l134.fvalue(pv, "var ", "x", " = ", v838, ";", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -7679,19 +8186,20 @@ var l310 = {name: "WRITE-STRING"};
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
             })())), "})()");
-        })(l145.fvalue(pv, v801));
+        })(l145.fvalue(pv, v837));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l311 = {name: "MAKE-ARRAY"};
-((l267).value = ({car: l44.fvalue(pv, l311, (function (values,v803){
+var l318 = {name: "MAKE-ARRAY"};
+((l274).value = ({car: l44.fvalue(pv, l318, (function (values,v839){
     checkArgs(arguments, 2);
+    var i;
     return (function(){
-        return (function(v804){
+        return (function(v840){
             return l134.fvalue(values, "(function(){", (function(){
                 var symbol = l133;
                 var value = symbol.value;
@@ -7702,7 +8210,7 @@ var l311 = {name: "MAKE-ARRAY"};
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
-            })(), "for (var i = 0; i < ", v804, "; i++)", (function(){
+            })(), "for (var i = 0; i < ", v840, "; i++)", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -7718,49 +8226,51 @@ var l311 = {name: "MAKE-ARRAY"};
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
             })()), "})()");
-        })(l145.fvalue(pv, v803));
+        })(l145.fvalue(pv, v839));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l312 = {name: "ARRAYP"};
-((l267).value = ({car: l44.fvalue(pv, l312, (function (values,v805){
+var l319 = {name: "ARRAYP"};
+((l274).value = ({car: l44.fvalue(pv, l319, (function (values,v841){
     checkArgs(arguments, 2);
+    var i;
     return (function(){
-        return (function(v806){
+        return (function(v842){
             return l144.fvalue(values, l134.fvalue(pv, "(function(){", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
-            })(), l143.fvalue(pv, "var x = ", v806, ";", (function(){
+            })(), l143.fvalue(pv, "var x = ", v842, ";", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
             })(), "return typeof x === 'object' && 'length' in x;"), "})()"));
-        })(l145.fvalue(pv, v805));
+        })(l145.fvalue(pv, v841));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l313 = {name: "AREF"};
-((l267).value = ({car: l44.fvalue(pv, l313, (function (values,v807,v808){
+var l320 = {name: "AREF"};
+((l274).value = ({car: l44.fvalue(pv, l320, (function (values,v843,v844){
     checkArgs(arguments, 3);
+    var i;
     return (function(){
-        return (function(v809,v810){
+        return (function(v845,v846){
             return l134.fvalue(values, "(function(){", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
-            })(), l143.fvalue(pv, "var x = ", "(", v809, ")[", v810, "];", (function(){
+            })(), l143.fvalue(pv, "var x = ", "(", v845, ")[", v846, "];", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -7776,30 +8286,31 @@ var l313 = {name: "AREF"};
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
             })()), "})()");
-        })(l145.fvalue(pv, v807),l145.fvalue(pv, v808));
+        })(l145.fvalue(pv, v843),l145.fvalue(pv, v844));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l314 = {name: "ASET"};
-((l267).value = ({car: l44.fvalue(pv, l314, (function (values,v811,v812,v813){
+var l321 = {name: "ASET"};
+((l274).value = ({car: l44.fvalue(pv, l321, (function (values,v847,v848,v849){
     checkArgs(arguments, 4);
+    var i;
     return (function(){
-        return (function(v814,v815,v816){
+        return (function(v850,v851,v852){
             return l134.fvalue(values, "(function(){", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
-            })(), l143.fvalue(pv, "var x = ", v814, ";", (function(){
+            })(), l143.fvalue(pv, "var x = ", v850, ";", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
-            })(), "var i = ", v815, ";", (function(){
+            })(), "var i = ", v851, ";", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -7809,58 +8320,61 @@ var l314 = {name: "ASET"};
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
-            })(), "return x[i] = ", v816, ";", (function(){
+            })(), "return x[i] = ", v852, ";", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
             })()), "})()");
-        })(l145.fvalue(pv, v811),l145.fvalue(pv, v812),l145.fvalue(pv, v813));
+        })(l145.fvalue(pv, v847),l145.fvalue(pv, v848),l145.fvalue(pv, v849));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l315 = {name: "GET-UNIX-TIME"};
-((l267).value = ({car: l44.fvalue(pv, l315, (function (values){
+var l322 = {name: "GET-UNIX-TIME"};
+((l274).value = ({car: l44.fvalue(pv, l322, (function (values){
     checkArgsAtMost(arguments, 1);
+    var i;
     return (function(){
         return (function(){
             return l134.fvalue(values, "(Math.round(new Date() / 1000))");
         })();
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-var l316 = {name: "VALUES-ARRAY"};
-((l267).value = ({car: l44.fvalue(pv, l316, (function (values,v817){
+var l323 = {name: "VALUES-ARRAY"};
+((l274).value = ({car: l44.fvalue(pv, l323, (function (values,v853){
     checkArgs(arguments, 2);
+    var i;
     return (function(){
-        return (function(v818){
+        return (function(v854){
             return ((function(){
                 var symbol = l172;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                 return value;
-            })() !== l3.value ? l134.fvalue(values, "values.apply(this, ", v818, ")") : l134.fvalue(values, "pv.apply(this, ", v818, ")"));
-        })(l145.fvalue(pv, v817));
+            })() !== l3.value ? l134.fvalue(values, "values.apply(this, ", v854, ")") : l134.fvalue(values, "pv.apply(this, ", v854, ")"));
+        })(l145.fvalue(pv, v853));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
-((l267).value = ({car: l44.fvalue(pv, l142, (function (values){
-    var v819= l3.value;
+((l274).value = ({car: l44.fvalue(pv, l142, (function (values){
+    var v855= l3.value;
     for (var i = arguments.length-1; i>=1; i--)
-        v819 = {car: arguments[i], cdr: 
-    v819};
+        v855 = {car: arguments[i], cdr: 
+    v855};
+    var i;
     return (function(){
         return ((function(){
             var symbol = l172;
@@ -7872,32 +8386,33 @@ var l316 = {name: "VALUES-ARRAY"};
             var func = symbol.fvalue;
             if (func === undefined) throw "Function `" + symbol.name + "' is undefined.";
             return func;
-        })(), v819), ", "), ")") : l134.fvalue(values, "pv(", l136.fvalue(pv, l73.fvalue(pv, (function(){
+        })(), v855), ", "), ")") : l134.fvalue(values, "pv(", l136.fvalue(pv, l73.fvalue(pv, (function(){
             var symbol = l145;
             var func = symbol.fvalue;
             if (func === undefined) throw "Function `" + symbol.name + "' is undefined.";
             return func;
-        })(), v819), ", "), ")"));
+        })(), v855), ", "), ")"));
     })();
 })), cdr: (function(){
-    var symbol = l267;
+    var symbol = l274;
     var value = symbol.value;
     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
     return value;
 })()}));
 (function(){
-    (l198).fvalue = (function(v822){
-        ((v822)["fname"] = "MACRO");
-        return v822;
-    })((function (values,v820){
+    (l198).fvalue = (function(v858){
+        ((v858)["fname"] = "MACRO");
+        return v858;
+    })((function (values,v856){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (((function(){
-                var tmp = v820;
+                var tmp = v856;
                 return (typeof tmp == 'object' && 'name' in tmp);
-            })()?l4.value: l3.value) !== l3.value ? (function(v821){
-                return (((l175.fvalue(pv, v821) === l198)?l4.value: l3.value) !== l3.value ? v821 : l3.value);
-            })(l187.fvalue(pv, v820, (function(){
+            })()?l4.value: l3.value) !== l3.value ? (function(v857){
+                return (((l175.fvalue(pv, v857) === l198)?l4.value: l3.value) !== l3.value ? v857 : l3.value);
+            })(l187.fvalue(pv, v856, (function(){
                 var symbol = l188;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -7907,25 +8422,26 @@ var l316 = {name: "VALUES-ARRAY"};
     }));
     return l198;
 })();
-var l317 = {name: "LS-MACROEXPAND-1"};
+var l324 = {name: "LS-MACROEXPAND-1"};
 (function(){
-    (l317).fvalue = (function(v827){
-        ((v827)["fname"] = "LS-MACROEXPAND-1");
-        return v827;
-    })((function (values,v823){
+    (l324).fvalue = (function(v863){
+        ((v863)["fname"] = "LS-MACROEXPAND-1");
+        return v863;
+    })((function (values,v859){
         checkArgs(arguments, 2);
-        return (function(){
-            return (function(v824){
-                return (v824 !== l3.value ? (function(v825){
-                    (l59.fvalue(pv, v825) !== l3.value ? (function(v826){
-                        l178.fvalue(pv, v824, v826);
-                        return (v825 = v826);
-                    })(l242.fvalue(pv, v825)) : l3.value);
+        var i;
+        return (function(){
+            return (function(v860){
+                return (v860 !== l3.value ? (function(v861){
+                    (l59.fvalue(pv, v861) !== l3.value ? (function(v862){
+                        l178.fvalue(pv, v860, v862);
+                        return (v861 = v862);
+                    })(l249.fvalue(pv, v861)) : l3.value);
                     return (function(){
-                        var f = v825;
+                        var f = v861;
                         var args = [values];
                         var tail = ((function(){
-                            var tmp = v823;
+                            var tmp = v859;
                             return tmp === l3.value? l3.value: tmp.cdr;
                         })());
                         while (tail != l3.value){
@@ -7934,66 +8450,68 @@ var l317 = {name: "LS-MACROEXPAND-1"};
                         }
                         return f.apply(this, args);
                     })();
-                })(l176.fvalue(pv, v824)) : v823);
+                })(l176.fvalue(pv, v860)) : v859);
             })(l198.fvalue(pv, (function(){
-                var tmp = v823;
+                var tmp = v859;
                 return tmp === l3.value? l3.value: tmp.car;
             })()));
         })();
     }));
-    return l317;
+    return l324;
 })();
-var l318 = {name: "COMPILE-FUNCALL"};
-var l319 = {name: "G902"};
+var l325 = {name: "COMPILE-FUNCALL"};
+var l326 = {name: "G902"};
 (function(){
-    (l318).fvalue = (function(v832){
-        ((v832)["fname"] = "COMPILE-FUNCALL");
-        return v832;
-    })((function (values,v828,v829){
+    (l325).fvalue = (function(v868){
+        ((v868)["fname"] = "COMPILE-FUNCALL");
+        return v868;
+    })((function (values,v864,v865){
         checkArgs(arguments, 3);
+        var i;
         return (function(){
             return (function(){
-                var v830 = ((function(){
+                var v866 = ((function(){
                     var symbol = l172;
                     var value = symbol.value;
                     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                     return value;
                 })() !== l3.value ? "values" : "pv");
-                var v831 = l134.fvalue(pv, "(", l136.fvalue(pv, ({car: v830, cdr: l73.fvalue(pv, (function(){
+                var v867 = l134.fvalue(pv, "(", l136.fvalue(pv, ({car: v866, cdr: l73.fvalue(pv, (function(){
                     var symbol = l145;
                     var func = symbol.fvalue;
                     if (func === undefined) throw "Function `" + symbol.name + "' is undefined.";
                     return func;
-                })(), v829)}), ", "), ")");
-                return (l236.fvalue(pv, v828) !== l3.value ? l134.fvalue(values, l236.fvalue(pv, v828), v831) : ((((function(){
-                    var tmp = v828;
+                })(), v865)}), ", "), ")");
+                return (l243.fvalue(pv, v864) !== l3.value ? l134.fvalue(values, l243.fvalue(pv, v864), v867) : ((((function(){
+                    var tmp = v864;
                     return (typeof tmp == 'object' && 'name' in tmp);
-                })()?l4.value: l3.value) !== l3.value ? (((l122.fvalue(pv, v828) === l113.fvalue(pv, "COMMON-LISP"))?l4.value: l3.value) !== l3.value ? (function(){
-                    var symbol = l319;
+                })()?l4.value: l3.value) !== l3.value ? (((l122.fvalue(pv, v864) === l113.fvalue(pv, "COMMON-LISP"))?l4.value: l3.value) !== l3.value ? (function(){
+                    var symbol = l326;
                     var value = symbol.value;
                     if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                     return value;
-                })() : l3.value) : l3.value) !== l3.value ? l134.fvalue(values, l145.fvalue(pv, l64.fvalue(pv, l44.fvalue(pv, l167), l44.fvalue(pv, v828))), ".fvalue", v831) : l134.fvalue(values, l145.fvalue(pv, l64.fvalue(pv, l44.fvalue(pv, l104), l44.fvalue(pv, v828))), v831)));
+                })() : l3.value) : l3.value) !== l3.value ? l134.fvalue(values, l145.fvalue(pv, l64.fvalue(pv, l44.fvalue(pv, l167), l44.fvalue(pv, v864))), ".fvalue", v867) : l134.fvalue(values, l145.fvalue(pv, l64.fvalue(pv, l44.fvalue(pv, l104), l44.fvalue(pv, v864))), v867)));
             })();
         })();
     }));
-    return l318;
+    return l325;
 })();
 (function(){
-    (l222).fvalue = (function(v835){
-        ((v835)["fname"] = "LS-COMPILE-BLOCK");
-        return v835;
-    })((function (values,v833,v834){
+    (l229).fvalue = (function(v871){
+        ((v871)["fname"] = "LS-COMPILE-BLOCK");
+        return v871;
+    })((function (values,v869,v870){
         checkArgsAtLeast(arguments, 2);
         checkArgsAtMost(arguments, 3);
         switch(arguments.length-1){
         case 1:
-        v834=l3.value;
+        v870=l3.value;
         default: break;
         }
+        var i;
         return (function(){
-            return (v834 !== l3.value ? l134.fvalue(values, l222.fvalue(pv, l87.fvalue(pv, v833)), "return ", l145.fvalue(pv, (function(){
-                var tmp = l86.fvalue(pv, v833);
+            return (v870 !== l3.value ? l134.fvalue(values, l229.fvalue(pv, l87.fvalue(pv, v869)), "return ", l145.fvalue(pv, (function(){
+                var tmp = l86.fvalue(pv, v869);
                 return tmp === l3.value? l3.value: tmp.car;
             })(), (function(){
                 var symbol = l172;
@@ -8010,7 +8528,7 @@ var l319 = {name: "G902"};
                 var func = symbol.fvalue;
                 if (func === undefined) throw "Function `" + symbol.name + "' is undefined.";
                 return func;
-            })(), v833)), l134.fvalue(pv, ";", (function(){
+            })(), v869)), l134.fvalue(pv, ";", (function(){
                 var symbol = l133;
                 var value = symbol.value;
                 if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
@@ -8018,174 +8536,178 @@ var l319 = {name: "G902"};
             })())));
         })();
     }));
-    return l222;
+    return l229;
 })();
 (function(){
-    (l145).fvalue = (function(v845){
-        ((v845)["fname"] = "LS-COMPILE");
-        return v845;
-    })((function (values,v836,v837){
+    (l145).fvalue = (function(v881){
+        ((v881)["fname"] = "LS-COMPILE");
+        return v881;
+    })((function (values,v872,v873){
         checkArgsAtLeast(arguments, 2);
         checkArgsAtMost(arguments, 3);
         switch(arguments.length-1){
         case 1:
-        v837=l3.value;
+        v873=l3.value;
         default: break;
         }
+        var i;
         return (function(){
-            return (function(v838){
+            return (function(v874){
                 try {
                     var tmp;
                     tmp = l172.value;
-                    l172.value = v838;
-                    v838 = tmp;
+                    l172.value = v874;
+                    v874 = tmp;
                     return (((function(){
-                        var tmp = v836;
+                        var tmp = v872;
                         return (typeof tmp == 'object' && 'name' in tmp);
-                    })()?l4.value: l3.value) !== l3.value ? (function(v839){
-                        return ((v839 !== l3.value ? l27.fvalue(pv, l88.fvalue(pv, l202, l177.fvalue(pv, v839))) : l3.value) !== l3.value ? l176.fvalue(values, v839) : ((function(v840){
-                            return (v840 !== l3.value ? v840 : l88.fvalue(pv, l204, l177.fvalue(pv, v839)));
-                        })(l121.fvalue(pv, v836)) !== l3.value ? l134.fvalue(values, l145.fvalue(pv, l64.fvalue(pv, l44.fvalue(pv, l167), l44.fvalue(pv, v836))), ".value") : l145.fvalue(values, l64.fvalue(pv, l44.fvalue(pv, l289), l44.fvalue(pv, l64.fvalue(pv, l44.fvalue(pv, l167), l44.fvalue(pv, v836)))))));
-                    })(l187.fvalue(pv, v836, (function(){
+                    })()?l4.value: l3.value) !== l3.value ? (function(v875){
+                        return ((v875 !== l3.value ? l27.fvalue(pv, l88.fvalue(pv, l202, l177.fvalue(pv, v875))) : l3.value) !== l3.value ? l176.fvalue(values, v875) : ((function(v876){
+                            return (v876 !== l3.value ? v876 : l88.fvalue(pv, l204, l177.fvalue(pv, v875)));
+                        })(l121.fvalue(pv, v872)) !== l3.value ? l134.fvalue(values, l145.fvalue(pv, l64.fvalue(pv, l44.fvalue(pv, l167), l44.fvalue(pv, v872))), ".value") : l145.fvalue(values, l64.fvalue(pv, l44.fvalue(pv, l296), l44.fvalue(pv, l64.fvalue(pv, l44.fvalue(pv, l167), l44.fvalue(pv, v872)))))));
+                    })(l187.fvalue(pv, v872, (function(){
                         var symbol = l188;
                         var value = symbol.value;
                         if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                         return value;
-                    })(), l105)) : (l81.fvalue(pv, v836) !== l3.value ? l17.fvalue(values, v836) : (((typeof(v836) == "string")?l4.value: l3.value) !== l3.value ? l134.fvalue(values, "\"", l148.fvalue(pv, v836), "\"") : (((function(){
-                        var x = v836;
+                    })(), l105)) : (l81.fvalue(pv, v872) !== l3.value ? l17.fvalue(values, v872) : (((typeof(v872) == "string")?l4.value: l3.value) !== l3.value ? l134.fvalue(values, "\"", l148.fvalue(pv, v872), "\"") : (((function(){
+                        var x = v872;
                         return typeof x === 'object' && 'length' in x;
-                    })()?l4.value: l3.value) !== l3.value ? l231.fvalue(values, v836) : (l59.fvalue(pv, v836) !== l3.value ? (function(v841,v842){
-                        return (l97.fvalue(pv, v841, (function(){
+                    })()?l4.value: l3.value) !== l3.value ? l238.fvalue(values, v872) : (l59.fvalue(pv, v872) !== l3.value ? (function(v877,v878){
+                        return (l97.fvalue(pv, v877, (function(){
                             var symbol = l206;
                             var value = symbol.value;
                             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                             return value;
-                        })()) !== l3.value ? (function(v843){
+                        })()) !== l3.value ? (function(v879){
                             return (function(){
-                                var f = v843;
+                                var f = v879;
                                 var args = [values];
-                                var tail = (v842);
+                                var tail = (v878);
                                 while (tail != l3.value){
                                     args.push(tail.car);
                                     tail = tail.cdr;
                                 }
                                 return f.apply(this, args);
                             })();
-                        })(l40.fvalue(pv, l97.fvalue(pv, v841, (function(){
+                        })(l40.fvalue(pv, l97.fvalue(pv, v877, (function(){
                             var symbol = l206;
                             var value = symbol.value;
                             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                             return value;
-                        })()))) : ((l97.fvalue(pv, v841, (function(){
-                            var symbol = l267;
+                        })()))) : ((l97.fvalue(pv, v877, (function(){
+                            var symbol = l274;
                             var value = symbol.value;
                             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                             return value;
-                        })()) !== l3.value ? l27.fvalue(pv, l200.fvalue(pv, v841, l104, l203)) : l3.value) !== l3.value ? (function(v844){
+                        })()) !== l3.value ? l27.fvalue(pv, l200.fvalue(pv, v877, l104, l203)) : l3.value) !== l3.value ? (function(v880){
                             return (function(){
-                                var f = v844;
+                                var f = v880;
                                 var args = [values];
-                                var tail = (v842);
+                                var tail = (v878);
                                 while (tail != l3.value){
                                     args.push(tail.car);
                                     tail = tail.cdr;
                                 }
                                 return f.apply(this, args);
                             })();
-                        })(l40.fvalue(pv, l97.fvalue(pv, v841, (function(){
-                            var symbol = l267;
+                        })(l40.fvalue(pv, l97.fvalue(pv, v877, (function(){
+                            var symbol = l274;
                             var value = symbol.value;
                             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                             return value;
-                        })()))) : (l198.fvalue(pv, v841) !== l3.value ? l145.fvalue(values, l317.fvalue(pv, v836), v837) : l318.fvalue(values, v841, v842))));
+                        })()))) : (l198.fvalue(pv, v877) !== l3.value ? l145.fvalue(values, l324.fvalue(pv, v872), v873) : l325.fvalue(values, v877, v878))));
                     })((function(){
-                        var tmp = v836;
+                        var tmp = v872;
                         return tmp === l3.value? l3.value: tmp.car;
                     })(),(function(){
-                        var tmp = v836;
+                        var tmp = v872;
                         return tmp === l3.value? l3.value: tmp.cdr;
                     })()) : (function(){
                         throw "How should I compile this?";
                     })())))));
                 }
                 finally {
-                    l172.value = v838;
+                    l172.value = v874;
                 }
-            })(v837);
+            })(v873);
         })();
     }));
     return l145;
 })();
-var l320 = {name: "LS-COMPILE-TOPLEVEL"};
+var l327 = {name: "LS-COMPILE-TOPLEVEL"};
 (function(){
-    (l320).fvalue = (function(v852){
-        ((v852)["fname"] = "LS-COMPILE-TOPLEVEL");
-        return v852;
-    })((function (values,v846,v847){
+    (l327).fvalue = (function(v888){
+        ((v888)["fname"] = "LS-COMPILE-TOPLEVEL");
+        return v888;
+    })((function (values,v882,v883){
         checkArgsAtLeast(arguments, 2);
         checkArgsAtMost(arguments, 3);
         switch(arguments.length-1){
         case 1:
-        v847=l3.value;
+        v883=l3.value;
         default: break;
         }
+        var i;
         return (function(){
-            return (function(v848){
+            return (function(v884){
                 try {
                     var tmp;
                     tmp = l193.value;
-                    l193.value = v848;
-                    v848 = tmp;
+                    l193.value = v884;
+                    v884 = tmp;
                     return ((((function(){
-                        var tmp = v846;
+                        var tmp = v882;
                         return (typeof tmp == 'object' && 'car' in tmp);
                     })()?l4.value: l3.value) !== l3.value ? (((function(){
-                        var tmp = v846;
+                        var tmp = v882;
                         return tmp === l3.value? l3.value: tmp.car;
-                    })() === l241)?l4.value: l3.value) : l3.value) !== l3.value ? (function(v850){
+                    })() === l248)?l4.value: l3.value) : l3.value) !== l3.value ? (function(v886){
                         return l136.fvalue(values, l90.fvalue(pv, (function(){
                             var symbol = l195;
                             var func = symbol.fvalue;
                             if (func === undefined) throw "Function `" + symbol.name + "' is undefined.";
                             return func;
-                        })(), v850));
-                    })(l73.fvalue(pv, (function (values,v849){
+                        })(), v886));
+                    })(l73.fvalue(pv, (function (values,v885){
                         checkArgs(arguments, 2);
-                        return l320.fvalue(values, v849, l4.value);
+                        var i;
+                        return l327.fvalue(values, v885, l4.value);
                     }), (function(){
-                        var tmp = v846;
+                        var tmp = v882;
                         return tmp === l3.value? l3.value: tmp.cdr;
-                    })())) : (function(v851){
+                    })())) : (function(v887){
                         return l134.fvalue(values, l137.fvalue(pv, l196.fvalue(pv), l134.fvalue(pv, ";", (function(){
                             var symbol = l133;
                             var value = symbol.value;
                             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                             return value;
-                        })())), (v851 !== l3.value ? l134.fvalue(pv, v851, ";", (function(){
+                        })())), (v887 !== l3.value ? l134.fvalue(pv, v887, ";", (function(){
                             var symbol = l133;
                             var value = symbol.value;
                             if (value === undefined) throw "Variable `" + symbol.name + "' is unbound.";
                             return value;
                         })()) : ""));
-                    })(l145.fvalue(pv, v846, v847)));
+                    })(l145.fvalue(pv, v882, v883)));
                 }
                 finally {
-                    l193.value = v848;
+                    l193.value = v884;
                 }
             })(l3.value);
         })();
     }));
-    return l320;
+    return l327;
 })();
 (function(){
-    (l242).fvalue = (function(v854){
-        ((v854)["fname"] = "EVAL");
-        return v854;
-    })((function (values,v853){
+    (l249).fvalue = (function(v890){
+        ((v890)["fname"] = "EVAL");
+        return v890;
+    })((function (values,v889){
         checkArgs(arguments, 2);
+        var i;
         return (function(){
             return (function(){
-                var string = l320.fvalue(pv, v853, l4.value);
+                var string = l327.fvalue(pv, v889, l4.value);
                 if (typeof string != 'string')
                     throw 'The value ' + string + ' is not a type string.';
                 return (function(){
@@ -8199,11 +8721,11 @@ var l320 = {name: "LS-COMPILE-TOPLEVEL"};
             })();
         })();
     }));
-    return l242;
+    return l249;
 })();
-var l321 = {name: "&BODY"};
-var l322 = QIList(l211,l210,l321,l20,l15,l123,l61,l62,l21,l22,l23,l278,l280,l19,l19,l277,l279,l54,l64,l301,l313,l312,l314,l97,l45,l184,l18,l18,l87,l32,l38,l36,l33,l30,l30,l52,l254,l34,l37,l35,l31,l31,l299,l79,l80,l78,l51,l28,l29,l76,l77,l47,l2,l9,l11,l1,l8,l93,l92,l101,l68,l69,l103,l49,l50,l53,l292,l26,l293,l303,l242,l96,l131,l100,l113,l126,l39,l237,l42,l288,l300,l104,l309,l16,l132,l261,l75,l208,l124,l46,l81,l81,l130,l121,l238,l5,l86,l71,l246,l249,l109,l44,l59,l311,l110,l286,l73,l88,l83,l274,l106,l263,l107,l264,l3,l27,l85,l84,l12,l281,l55,l114,l116,l112,l165,l82,l147,l150,l205,l56,l57,l241,l67,l48,l167,l89,l90,l91,l13,l253,l65,l66,l283,l284,l40,l224,l225,l95,l296,l98,l99,l295,l94,l233,l287,l122,l290,l289,l285,l4,l260,l41,l255,l25,l7,l262,l142,l141,l105,l149,l6,l102,l310,l24,l3);
-l131.fvalue(values, l322);
+var l328 = {name: "&BODY"};
+var l329 = QIList(l211,l212,l210,l328,l20,l15,l123,l61,l62,l21,l22,l23,l285,l287,l19,l19,l284,l286,l54,l64,l308,l320,l319,l97,l45,l184,l18,l18,l87,l32,l38,l36,l33,l30,l30,l52,l261,l34,l37,l35,l31,l31,l306,l79,l80,l78,l51,l28,l29,l76,l77,l47,l2,l9,l11,l1,l8,l93,l92,l101,l68,l69,l103,l49,l50,l53,l299,l26,l300,l310,l249,l96,l131,l100,l113,l126,l39,l244,l42,l295,l307,l104,l316,l16,l132,l268,l75,l208,l124,l46,l81,l81,l130,l121,l245,l5,l86,l71,l253,l256,l109,l44,l59,l318,l110,l293,l73,l88,l83,l281,l106,l270,l107,l271,l3,l27,l85,l84,l12,l288,l55,l114,l116,l112,l165,l82,l147,l150,l205,l56,l57,l248,l67,l48,l167,l89,l90,l91,l13,l260,l65,l66,l290,l291,l40,l231,l232,l95,l303,l98,l99,l302,l94,l240,l294,l122,l297,l296,l292,l4,l267,l41,l262,l25,l7,l269,l142,l141,l105,l149,l6,l102,l317,l24,l3);
+l131.fvalue(values, l329);
 ((l123).value = (function(){
     var symbol = l119;
     var value = symbol.value;
@@ -8237,61 +8759,71 @@ l131.fvalue(values, l322);
     return func;
 })());
 (lisp.eval = (function(){
-    var symbol = l242;
+    var symbol = l249;
     var func = symbol.fvalue;
     if (func === undefined) throw "Function `" + symbol.name + "' is undefined.";
     return func;
 })());
-(lisp.compile = (function (values,v855){
+(lisp.compile = (function (values,v891){
     checkArgs(arguments, 2);
-    return l320.fvalue(values, v855, l4.value);
+    var i;
+    return l327.fvalue(values, v891, l4.value);
 }));
-(lisp.evalString = (function (values,v856){
+(lisp.evalString = (function (values,v892){
     checkArgs(arguments, 2);
-    return l242.fvalue(values, l171.fvalue(pv, v856));
+    var i;
+    return l249.fvalue(values, l171.fvalue(pv, v892));
 }));
-(lisp.compileString = (function (values,v857){
+(lisp.compileString = (function (values,v893){
     checkArgs(arguments, 2);
-    return l320.fvalue(values, l171.fvalue(pv, v857), l4.value);
+    var i;
+    return l327.fvalue(values, l171.fvalue(pv, v893), l4.value);
 }));
-var l323 = QIList(QIList(l321,"l321"),QIList(l320,"l320"),QIList(l319,"l319"),QIList(l318,"l318"),QIList(l317,"l317"),QIList(l316,"l316"),QIList(l315,"l315"),QIList(l314,"l314"),QIList(l313,"l313"),QIList(l312,"l312"),QIList(l311,"l311"),QIList(l310,"l310"),QIList(l309,"l309"),QIList(l308,"l308"),QIList(l307,"l307"),QIList(l306,"l306"),QIList(l305,"l305"),QIList(l304,"l304"),QIList(l303,"l303"),QIList(l302,"l302"),QIList(l301,"l301"),QIList(l300,"l300"),QIList(l299,"l299"),QIList(l298,"l298"),QIList(l297,"l297"),QIList(l296,"l296"),QIList(l295,"l295"),QIList(l294,"l294"),QIList(l293,"l293"),QIList(l292,"l292"),QIList(l291,"l291"),QIList(l290,"l290"),QIList(l289,"l289"),QIList(l288,"l288"),QIList(l287,"l287"),QIList(l286,"l286"),QIList(l285,"l285"),QIList(l284,"l284"),QIList(l283,"l283"),QIList(l282,"l282"),QIList(l281,"l281"),QIList(l280,"l280"),QIList(l279,"l279"),QIList(l278,"l278"),QIList(l277,"l277"),QIList(l276,"l276"),QIList(l275,"l275"),QIList(l274,"l274"),QIList(l273,"l273"),QIList(l272,"l272"),QIList(l271,"l271"),QIList(l270,"l270"),QIList(l269,"l269"),QIList(l268,"l268"),QIList(l267,"l267"),QIList(l266,"l266"),QIList(l265,"l265"),QIList(l264,"l264"),QIList(l263,"l263"),QIList(l262,"l262"),QIList(l261,"l261"),QIList(l260,"l260"),QIList(l259,"l259"),QIList(l258,"l258"),QIList(l257,"l257"),QIList(l256,"l256"),QIList(l255,"l255"),QIList(l254,"l254"),QIList(l253,"l253"),QIList(l252,"l252"),QIList(l251,"l251"),QIList(l250,"l250"),QIList(l249,"l249"),QIList(l248,"l248"),QIList(l247,"l247"),QIList(l246,"l246"),QIList(l245,"l245"),QIList(l244,"l244"),QIList(l243,"l243"),QIList(l242,"l242"),QIList(l241,"l241"),QIList(l240,"l240"),QIList(l239,"l239"),QIList(l238,"l238"),QIList(l237,"l237"),QIList(l236,"l236"),QIList(l235,"l235"),QIList(l234,"l234"),QIList(l233,"l233"),QIList(l232,"l232"),QIList(l231,"l231"),QIList(l230,"l230"),QIList(l229,"l229"),QIList(l228,"l228"),QIList(l227,"l227"),QIList(l226,"l226"),QIList(l225,"l225"),QIList(l224,"l224"),QIList(l223,"l223"),QIList(l222,"l222"),QIList(l221,"l221"),QIList(l220,"l220"),QIList(l219,"l219"),QIList(l218,"l218"),QIList(l217,"l217"),QIList(l216,"l216"),QIList(l215,"l215"),QIList(l214,"l214"),QIList(l213,"l213"),QIList(l211,"l211"),QIList(l210,"l210"),QIList(l209,"l209"),QIList(l208,"l208"),QIList(l207,"l207"),QIList(l206,"l206"),QIList(l205,"l205"),QIList(l204,"l204"),QIList(l203,"l203"),QIList(l202,"l202"),QIList(l201,"l201"),QIList(l200,"l200"),QIList(l199,"l199"),QIList(l198,"l198"),QIList(l197,"l197"),QIList(l196,"l196"),QIList(l195,"l195"),QIList(l194,"l194"),QIList(l193,"l193"),QIList(l192,"l192"),QIList(l191,"l191"),QIList(l190,"l190"),QIList(l189,"l189"),QIList(l188,"l188"),QIList(l187,"l187"),QIList(l186,"l186"),QIList(l185,"l185"),QIList(l184,"l184"),QIList(l183,"l183"),QIList(l182,"l182"),QIList(l181,"l181"),QIList(l180,"l180"),QIList(l179,"l179"),QIList(l178,"l178"),QIList(l177,"l177"),QIList(l176,"l176"),QIList(l175,"l175"),QIList(l174,"l174"),QIList(l173,"l173"),QIList(l172,"l172"),QIList(l171,"l171"),QIList(l170,"l170"),QIList(l169,"l169"),QIList(l168,"l168"),QIList(l167,"l167"),QIList(l166,"l166"),QIList(l165,"l165"),QIList(l164,"l164"),QIList(l163,"l163"),QIList(l162,"l162"),QIList(l161,"l161"),QIList(l160,"l160"),QIList(l159,"l159"),QIList(l158,"l158"),QIList(l157,"l157"),QIList(l156,"l156"),QIList(l155,"l155"),QIList(l154,"l154"),QIList(l153,"l153"),QIList(l152,"l152"),QIList(l151,"l151"),QIList(l150,"l150"),QIList(l149,"l149"),QIList(l148,"l148"),QIList(l147,"l147"),QIList(l146,"l146"),QIList(l145,"l145"),QIList(l144,"l144"),QIList(l143,"l143"),QIList(l142,"l142"),QIList(l141,"l141"),QIList(l140,"l140"),QIList(l139,"l139"),QIList(l138,"l138"),QIList(l137,"l137"),QIList(l136,"l136"),QIList(l135,"l135"),QIList(l134,"l134"),QIList(l133,"l133"),QIList(l132,"l132"),QIList(l131,"l131"),QIList(l130,"l130"),QIList(l129,"l129"),QIList(l128,"l128"),QIList(l127,"l127"),QIList(l126,"l126"),QIList(l125,"l125"),QIList(l124,"l124"),QIList(l123,"l123"),QIList(l122,"l122"),QIList(l121,"l121"),QIList(l120,"l120"),QIList(l119,"l119"),QIList(l118,"l118"),QIList(l117,"l117"),QIList(l116,"l116"),QIList(l115,"l115"),QIList(l114,"l114"),QIList(l113,"l113"),QIList(l112,"l112"),QIList(l111,"l111"),QIList(l110,"l110"),QIList(l109,"l109"),QIList(l108,"l108"),QIList(l107,"l107"),QIList(l106,"l106"),QIList(l105,"l105"),QIList(l104,"l104"),QIList(l103,"l103"),QIList(l102,"l102"),QIList(l101,"l101"),QIList(l100,"l100"),QIList(l99,"l99"),QIList(l98,"l98"),QIList(l97,"l97"),QIList(l96,"l96"),QIList(l95,"l95"),QIList(l94,"l94"),QIList(l93,"l93"),QIList(l92,"l92"),QIList(l91,"l91"),QIList(l90,"l90"),QIList(l89,"l89"),QIList(l88,"l88"),QIList(l87,"l87"),QIList(l86,"l86"),QIList(l85,"l85"),QIList(l84,"l84"),QIList(l83,"l83"),QIList(l82,"l82"),QIList(l81,"l81"),QIList(l80,"l80"),QIList(l79,"l79"),QIList(l78,"l78"),QIList(l77,"l77"),QIList(l76,"l76"),QIList(l75,"l75"),QIList(l74,"l74"),QIList(l73,"l73"),QIList(l72,"l72"),QIList(l71,"l71"),QIList(l70,"l70"),QIList(l69,"l69"),QIList(l68,"l68"),QIList(l67,"l67"),QIList(l66,"l66"),QIList(l65,"l65"),QIList(l64,"l64"),QIList(l63,"l63"),QIList(l62,"l62"),QIList(l61,"l61"),QIList(l60,"l60"),QIList(l59,"l59"),QIList(l58,"l58"),QIList(l57,"l57"),QIList(l56,"l56"),QIList(l55,"l55"),QIList(l54,"l54"),QIList(l53,"l53"),QIList(l52,"l52"),QIList(l51,"l51"),QIList(l50,"l50"),QIList(l49,"l49"),QIList(l48,"l48"),QIList(l47,"l47"),QIList(l46,"l46"),QIList(l45,"l45"),QIList(l44,"l44"),QIList(l43,"l43"),QIList(l42,"l42"),QIList(l41,"l41"),QIList(l40,"l40"),QIList(l39,"l39"),QIList(l38,"l38"),QIList(l37,"l37"),QIList(l36,"l36"),QIList(l35,"l35"),QIList(l34,"l34"),QIList(l33,"l33"),QIList(l32,"l32"),QIList(l31,"l31"),QIList(l30,"l30"),QIList(l29,"l29"),QIList(l28,"l28"),QIList(l27,"l27"),QIList(l26,"l26"),QIList(l25,"l25"),QIList(l24,"l24"),QIList(l23,"l23"),QIList(l22,"l22"),QIList(l21,"l21"),QIList(l20,"l20"),QIList(l19,"l19"),QIList(l18,"l18"),QIList(l17,"l17"),QIList(l16,"l16"),QIList(l15,"l15"),QIList(l14,"l14"),QIList(l13,"l13"),QIList(l12,"l12"),QIList(l11,"l11"),QIList(l10,"l10"),QIList(l9,"l9"),QIList(l8,"l8"),QIList(l7,"l7"),QIList(l6,"l6"),QIList(l5,"l5"),QIList(l4,"l4"),QIList(l3,"l3"),QIList(l2,"l2"),QIList(l1,"l1"),l3);
-var l324 = {name: "OP"};
-var l325 = {name: "SYM"};
-var l326 = {name: "X"};
-var l327 = {name: "ARGS"};
-var l328 = {name: "BODY"};
-var l329 = {name: "DECLS"};
-var l330 = {name: "DECL"};
-var l331 = {name: "NAME"};
-var l332 = {name: "ARG"};
-var l333 = {name: "FORM"};
-var l334 = {name: "PACKAGE-DESIGNATOR"};
-var l335 = {name: "VALUE-FROM"};
-var l336 = {name: "VARIABLES"};
-var l337 = {name: "VARLIST"};
-var l338 = {name: "ENDLIST"};
-var l339 = {name: "V"};
-var l340 = {name: "PAIRS"};
-var l341 = {name: "ASSIGNMENTS"};
-var l342 = {name: "VALUE"};
-var l343 = {name: "FORM1"};
-var l344 = {name: "RESULT"};
-var l345 = {name: "FORMS"};
-var l346 = {name: "G"};
-var l347 = {name: "CLAUSULES"};
-var l348 = {name: "!FORM"};
-var l349 = {name: "CLAUSULE"};
-var l350 = {name: "ITER"};
-var l351 = {name: "G!TO"};
-var l352 = {name: "VAR"};
-var l353 = {name: "TO"};
-var l354 = {name: "G!LIST"};
-var l355 = {name: "PLACE"};
-var l356 = {name: "DELTA"};
-var l357 = {name: "CONDITION"};
-var l358 = {name: "DOCSTRING"};
-var l359 = QIList(QIList(QIList(l267,l105,l3,QIList(l202,l3),l3),QIList(l257,l105,l3,QIList(l202,l3),l3),QIList(l256,l105,l3,QIList(l202,l3),l3),QIList(l250,l105,l3,QIList(l202,l3),l3),QIList(l239,l105,l3,QIList(l202,l3),l3),QIList(l229,l105,l3,QIList(l202,l3),l3),QIList(l228,l105,l3,QIList(l202,l3),l3),QIList(l209,l105,l3,QIList(l202,l3),l3),QIList(l206,l105,l3,QIList(l202,l3),l3),QIList(l193,l105,l3,QIList(l202,l3),l3),QIList(l189,l105,l3,QIList(l202,l3),l3),QIList(l188,l105,l3,QIList(l202,l3),l3),QIList(l172,l105,l3,QIList(l202,l3),l3),QIList(l166,l105,l3,QIList(l202,l3),l3),QIList(l133,l105,l3,QIList(l202,l3),l3),QIList(l123,l105,l3,QIList(l202,l3),l3),QIList(l120,l105,l3,QIList(l202,l3),l3),QIList(l119,l105,l3,QIList(l202,l3),l3),QIList(l118,l105,l3,QIList(l202,l3),l3),QIList(l108,l105,l3,QIList(l202,l3),l3),QIList(l15,l105,l3,QIList(l202,l3),l3),QIList(l4,l105,l3,QIList(l202,l204,l3),l3),QIList(l3,l105,l3,QIList(l202,l204,l3),l3),l3),QIList(QIList(l276,l198,QIList(l104,QIList(l5,QIList(l324,l325,l3),QIList(l168,QIList(l268,QIList(l170,l324,l3),QIList(l326,l211,l327,l3),QIList(l246,QIList(QIList(l327,QIList(l28,l326,l327,l3),l3),l3),QIList(l272,l327,QIList(l144,QIList(l275,l327,QIList(l170,l325,l3),l3),l3),l3),l3),l3),l3),l3),l3),l3,l3),QIList(l272,l198,QIList(l104,QIList(l5,QIList(l327,l211,l328,l3),QIList(l7,QIList(l285,l327,l3),QIList(l303,"Bad usage of VARIABLE-ARITY, you must pass a symbol",l3),l3),QIList(l168,QIList(l271,QIList(l170,l327,l3),QIList(l5,QIList(QIList(l170,l327,l3),l3),QIList(l134,"return ",QIList(l169,l328,l3),";",l133,l3),l3),l3),l3),l3),l3),l3,l3),QIList(l270,l198,QIList(l104,QIList(l5,QIList(l329,l211,l328,l3),QIList(l168,QIList(l146,QIList(l169,QIList(l73,QIList(l5,QIList(l330,l3),QIList(l168,QIList(l134,"var ",QIList(l170,QIList(l39,l330,l3),l3)," = ",QIList(l170,QIList(l41,l330,l3),l3),";",l133,l3),l3),l3),l329,l3),l3),QIList(l169,QIList(l73,QIList(l5,QIList(l330,l3),QIList(l168,QIList(l134,"if (typeof ",QIList(l170,QIList(l39,l330,l3),l3)," != '",QIList(l170,QIList(l40,l330,l3),l3),"')",l133,QIList(l143,"throw 'The value ' + ",QIList(l170,QIList(l39,l330,l3),l3)," + ' is not a type ",QIList(l170,QIList(l40,l330,l3),l3),".';",l133,l3),l3),l3),l3),l329,l3),l3),QIList(l134,"return ",QIList(l241,QIList(l169,l328,l3),l3),";",l133,l3),l3),l3),l3),l3),l3,l3),QIList(l269,l198,QIList(l104,QIList(l5,QIList(l331,l327,l211,l328,l3),QIList(l168,QIList(l241,QIList(l268,QIList(l170,l331,l3),QIList(l170,l327,l3),QIList(l246,QIList(l170,QIList(l73,QIList(l5,QIList(l332,l3),QIList(l168,QIList(QIList(l170,l332,l3),QIList(l145,QIList(l170,l332,l3),l3),l3),l3),l3),l327,l3),l3),QIList(l169,l328,l3),l3),l3),l3),l3),l3),l3),l3,l3),QIList(l268,l198,QIList(l104,QIList(l5,QIList(l331,l327,l211,l328,l3),QIList(l168,QIList(l48,QIList(l44,QIList(l167,QIList(l170,l331,l3),l3),QIList(l5,QIList(l170,l327,l3),QIList(l184,QIList(l170,l331,l3),QIList(l169,l328,l3),l3),l3),l3),l267,l3),l3),l3),l3),l3,l3),QIList(l168,l198,QIList(l104,QIList(l5,QIList(l333,l3),QIList(l265,l333,l3),l3),l3),l3,l3),QIList(l243,l198,QIList(l104,QIList(l5,QIList(l331,l327,l333,l3),QIList(l168,QIList(l207,QIList(l170,l331,l3),QIList(l170,l327,l3),QIList(l145,QIList(l170,l333,l3),l3),l3),l3),l3),l3),l3,l3),QIList(l207,l198,QIList(l104,QIList(l5,QIList(l331,l327,l211,l328,l3),QIList(l168,QIList(l48,QIList(l44,QIList(l167,QIList(l170,l331,l3),l3),QIList(l5,QIList(l170,l327,l3),QIList(l184,QIList(l170,l331,l3),QIList(l169,l328,l3),l3),l3),l3),l206,l3),l3),l3),l3),l3,l3),QIList(l146,l198,QIList(l104,QIList(l5,QIList(l211,l328,l3),QIList(l168,QIList(l134,"(function(){",l133,QIList(l143,QIList(l169,l328,l3),l3),"})()",l3),l3),l3),l3),l3,l3),QIList(l135,l198,QIList(l104,QIList(l5,QIList(l105,l211,l333,l3),QIList(l168,QIList(l225,QIList(l170,l105,l3),QIList(l134,QIList(l170,l105,l3),QIList(l241,QIList(l169,l333,l3),l3),l3),l3),l3),l3),l3),l3,l3),QIList(l124,l198,QIList(l104,QIList(l5,QIList(l334,l3),QIList(l168,QIList(l240,QIList(l225,l123,QIList(l111,QIList(l170,l334,l3),l3),l3),l3),l3),l3),l3),l3,l3),QIList(l107,l198,QIList(l104,QIList(l5,QIList(l335,l3),QIList(l168,QIList(l263,QIList(l104,l44,l3),QIList(l170,l335,l3),l3),l3),l3),l3),l3,l3),QIList(l106,l198,QIList(l104,QIList(l5,QIList(l336,l335,l211,l328,l3),QIList(l168,QIList(l263,QIList(l5,QIList(l210,QIList(l169,l336,l3),l211,QIList(l170,QIList(l16,l3),l3),l3),QIList(l169,l328,l3),l3),QIList(l170,l335,l3),l3),l3),l3),l3),l3,l3),QIList(l69,l198,QIList(l104,QIList(l5,QIList(l337,l338,l211,l328,l3),QIList(l168,QIList(l184,l3,QIList(l249,QIList(l170,QIList(l73,QIList(l5,QIList(l326,l3),QIList(l44,QIList(l39,l326,l3),QIList(l40,l326,l3),l3),l3),l337,l3),l3),QIList(l14,l4,QIList(l6,QIList(l170,QIList(l30,l338,l3),l3),QIList(l13,QIList(l241,QIList(l170,QIList(l31,l338,l3),l3),l3),l3),l3),QIList(l260,QIList(l169,l328,l3),l3),QIList(l225,QIList(l169,QIList(l301,QIList(l104,l64,l3),QIList(l73,QIList(l5,QIList(l339,l3),QIList(l54,QIList(l29,QIList(l35,l339,l3),l3),QIList(l44,QIList(l39,l339,l3),QIList(l41,l339,l3),l3),l3),l3),l337,l3),l3),l3),l3),l3),l3),l3),l3),l3),l3),l3,l3),QIList(l68,l198,QIList(l104,QIList(l5,QIList(l337,l338,l211,l328,l3),QIList(l168,QIList(l184,l3,QIList(l246,QIList(l170,QIList(l73,QIList(l5,QIList(l326,l3),QIList(l44,QIList(l39,l326,l3),QIList(l40,l326,l3),l3),l3),l337,l3),l3),QIList(l14,l4,QIList(l6,QIList(l170,QIList(l30,l338,l3),l3),QIList(l13,QIList(l241,QIList(l170,QIList(l31,l338,l3),l3),l3),l3),l3),QIList(l260,QIList(l169,l328,l3),l3),QIList(l67,QIList(l169,QIList(l301,QIList(l104,l64,l3),QIList(l73,QIList(l5,QIList(l339,l3),QIList(l54,QIList(l29,QIList(l35,l339,l3),l3),QIList(l44,QIList(l39,l339,l3),QIList(l41,l339,l3),l3),l3),l3),l337,l3),l3),l3),l3),l3),l3),l3),l3),l3),l3),l3,l3),QIList(l67,l198,QIList(l104,QIList(l5,QIList(l211,l340,l3),QIList(l246,QIList(QIList(l341,QIList(l167,l3,l3),l3),l3),QIList(l14,l4,QIList(l51,QIList(QIList(l12,l340,l3),QIList(l13,l3),l3),QIList(QIList(l12,QIList(l31,l340,l3),l3),QIList(l303,"Odd paris in PSETQ",l3),l3),QIList(l4,QIList(l246,QIList(QIList(l105,QIList(l30,l340,l3),l3),QIList(l342,QIList(l33,l340,l3),l3),l3),QIList(l48,QIList(l168,QIList(QIList(l170,l105,l3),QIList(l170,QIList(l16,l3),l3),QIList(l170,l342,l3),l3),l3),l341,l3),QIList(l225,l340,QIList(l35,l340,l3),l3),l3),l3),l3),l3),QIList(l225,l341,QIList(l66,l341,l3),l3),QIList(l168,QIList(l246,QIList(l170,QIList(l73,QIList(l104,l31,l3),l341,l3),l3),QIList(l225,QIList(l169,QIList(l60,QIList(l104,l64,l3),QIList(l73,QIList(l104,l87,l3),l341,l3),QIList(l167,l3,l3),l3),l3),l3),l3),l3),l3),l3),l3),l3,l3),QIList(l57,l198,QIList(l104,QIList(l5,QIList(l343,l344,l211,l328,l3),QIList(l168,QIList(l56,QIList(l241,QIList(l170,l343,l3),QIList(l170,l344,l3),l3),QIList(l169,l328,l3),l3),l3),l3),l3),l3,l3),QIList(l56,l198,QIList(l104,QIList(l5,QIList(l333,l211,l328,l3),QIList(l246,QIList(QIList(l342,QIList(l16,l3),l3),l3),QIList(l168,QIList(l246,QIList(QIList(QIList(l170,l342,l3),QIList(l170,l333,l3),l3),l3),QIList(l169,l328,l3),QIList(l170,l342,l3),l3),l3),l3),l3),l3),l3,l3),QIList(l55,l198,QIList(l104,QIList(l5,QIList(l211,l345,l3),QIList(l51,QIList(QIList(l12,l345,l3),l3,l3),QIList(QIList(l12,QIList(l31,l345,l3),l3),QIList(l30,l345,l3),l3),QIList(l4,QIList(l246,QIList(QIList(l346,QIList(l16,l3),l3),l3),QIList(l168,QIList(l246,QIList(QIList(QIList(l170,l346,l3),QIList(l170,QIList(l30,l345,l3),l3),l3),l3),QIList(l208,QIList(l170,l346,l3),QIList(l170,l346,l3),QIList(l55,QIList(l169,QIList(l31,l345,l3),l3),l3),l3),l3),l3),l3),l3),l3),l3),l3),l3,l3),QIList(l54,l198,QIList(l104,QIList(l5,QIList(l211,l345,l3),QIList(l51,QIList(QIList(l12,l345,l3),l4,l3),QIList(QIList(l12,QIList(l31,l345,l3),l3),QIList(l30,l345,l3),l3),QIList(l4,QIList(l168,QIList(l208,QIList(l170,QIList(l30,l345,l3),l3),QIList(l54,QIList(l169,QIList(l31,l345,l3),l3),l3),l3,l3),l3),l3),l3),l3),l3),l3,l3),QIList(l53,l198,QIList(l104,QIList(l5,QIList(l333,l211,l347,l3),QIList(l168,QIList(l52,QIList(l170,l333,l3),QIList(l169,QIList(l64,l347,QIList(l168,QIList(QIList(l4,QIList(l303,"ECASE expression failed.",l3),l3),l3),l3),l3),l3),l3),l3),l3),l3),l3,l3),QIList(l52,l198,QIList(l104,QIList(l5,QIList(l333,l211,l347,l3),QIList(l246,QIList(QIList(l348,QIList(l16,l3),l3),l3),QIList(l168,QIList(l246,QIList(QIList(QIList(l170,l348,l3),QIList(l170,l333,l3),l3),l3),QIList(l51,QIList(l169,QIList(l73,QIList(l5,QIList(l349,l3),QIList(l208,QIList(l292,QIList(l30,l349,l3),l4,l3),l349,QIList(l168,QIList(QIList(l26,QIList(l170,l348,l3),QIList(l167,QIList(l170,QIList(l30,l349,l3),l3),l3),l3),QIList(l169,QIList(l31,l349,l3),l3),l3),l3),l3),l3),l347,l3),l3),l3),l3),l3),l3),l3),l3),l3,l3),QIList(l51,l198,QIList(l104,QIList(l5,QIList(l211,l347,l3),QIList(l208,QIList(l12,l347,l3),l3,QIList(l208,QIList(l292,QIList(l32,l347,l3),l4,l3),QIList(l168,QIList(l241,QIList(l169,QIList(l34,l347,l3),l3),l3),l3),QIList(l168,QIList(l208,QIList(l170,QIList(l32,l347,l3),l3),QIList(l241,QIList(l169,QIList(l34,l347,l3),l3),l3),QIList(l51,QIList(l169,QIList(l31,l347,l3),l3),l3),l3),l3),l3),l3),l3),l3),l3,l3),QIList(l50,l198,QIList(l104,QIList(l5,QIList(l350,l211,l328,l3),QIList(l246,QIList(QIList(l351,QIList(l16,l3),l3),QIList(l352,QIList(l39,l350,l3),l3),QIList(l353,QIList(l40,l350,l3),l3),QIList(l344,QIList(l41,l350,l3),l3),l3),QIList(l168,QIList(l184,l3,QIList(l246,QIList(QIList(QIList(l170,l352,l3),0,l3),QIList(QIList(l170,l351,l3),QIList(l170,l353,l3),l3),l3),QIList(l232,QIList(l278,QIList(l170,l352,l3),QIList(l170,l351,l3),l3),QIList(l260,QIList(l169,l328,l3),l3),QIList(l46,QIList(l170,l352,l3),l3),l3),QIList(l170,l344,l3),l3),l3),l3),l3),l3),l3),l3,l3),QIList(l49,l198,QIList(l104,QIList(l5,QIList(l350,l211,l328,l3),QIList(l246,QIList(QIList(l352,QIList(l39,l350,l3),l3),QIList(l354,QIList(l16,l3),l3),l3),QIList(l168,QIList(l184,l3,QIList(l246,QIList(QIList(QIList(l170,l354,l3),QIList(l170,QIList(l40,l350,l3),l3),l3),QIList(QIList(l170,l352,l3),l3,l3),l3),QIList(l232,QIList(l170,l354,l3),QIList(l225,QIList(l170,l352,l3),QIList(l30,QIList(l170,l354,l3),l3),l3),QIList(l260,QIList(l169,l328,l3),l3),QIList(l225,QIList(l170,l354,l3),QIList(l31,QIList(l170,l354,l3),l3),l3),l3),QIList(l170,QIList(l41,l350,l3),l3),l3),l3),l3),l3),l3),l3),l3,l3),QIList(l48,l198,QIList(l104,QIList(l5,QIList(l326,l355,l3),QIList(l168,QIList(l225,QIList(l170,l355,l3),QIList(l28,QIList(l170,l326,l3),QIList(l170,l355,l3),l3),l3),l3),l3),l3),l3,l3),QIList(l47,l198,QIList(l104,QIList(l5,QIList(l326,l210,QIList(l356,1,l3),l3),QIList(l168,QIList(l225,QIList(l170,l326,l3),QIList(l62,QIList(l170,l326,l3),QIList(l170,l356,l3),l3),l3),l3),l3),l3),l3,l3),QIList(l46,l198,QIList(l104,QIList(l5,QIList(l326,l210,QIList(l356,1,l3),l3),QIList(l168,QIList(l225,QIList(l170,l326,l3),QIList(l61,QIList(l170,l326,l3),QIList(l170,l356,l3),l3),l3),l3),l3),l3),l3,l3),QIList(l14,l198,QIList(l104,QIList(l5,QIList(l357,l211,l328,l3),QIList(l168,QIList(l184,l3,QIList(l232,QIList(l170,l357,l3),QIList(l169,l328,l3),l3),l3),l3),l3),l3),l3,l3),QIList(l13,l198,QIList(l104,QIList(l5,QIList(l210,l342,l3),QIList(l168,QIList(l253,l3,QIList(l170,l342,l3),l3),l3),l3),l3),l3,l3),QIList(l11,l198,QIList(l104,QIList(l5,QIList(l331,l327,l211,l328,l3),QIList(l168,QIList(l241,QIList(l288,QIList(l167,QIList(l170,l331,l3),l3),QIList(l10,QIList(l170,QIList(l287,l331,l3),l3),QIList(l170,l327,l3),QIList(l169,QIList(l208,QIList(l54,QIList(l295,QIList(l30,l328,l3),l3),QIList(l27,QIList(l12,QIList(l31,l328,l3),l3),l3),l3),QIList(l168,QIList(QIList(l170,QIList(l30,l328,l3),l3),QIList(l184,QIList(l170,l331,l3),QIList(l169,QIList(l31,l328,l3),l3),l3),l3),l3),QIList(l168,QIList(QIList(l184,QIList(l170,l331,l3),QIList(l169,l328,l3),l3),l3),l3),l3),l3),l3),l3),QIList(l167,QIList(l170,l331,l3),l3),l3),l3),l3),l3),l3,l3),QIList(l10,l198,QIList(l104,QIList(l5,QIList(l331,l327,l211,l328,l3),QIList(l246,QIList(QIList(l326,QIList(l16,"FN",l3),l3),l3),QIList(l168,QIList(l246,QIList(QIList(QIList(l170,l326,l3),QIList(l5,QIList(l170,l327,l3),QIList(l169,l328,l3),l3),l3),l3),QIList(l307,QIList(l170,l326,l3),"fname",QIList(l170,l331,l3),l3),QIList(l170,l326,l3),l3),l3),l3),l3),l3),l3,l3),QIList(l9,l198,QIList(l104,QIList(l5,QIList(l331,l342,l210,l358,l3),QIList(l168,QIList(l241,QIList(l225,QIList(l170,l331,l3),QIList(l170,l342,l3),l3),QIList(l169,QIList(l6,QIList(l295,l358,l3),QIList(l168,QIList(QIList(l307,QIList(l167,QIList(l170,l331,l3),l3),"vardoc",QIList(l170,l358,l3),l3),l3),l3),l3),l3),QIList(l167,QIList(l170,l331,l3),l3),l3),l3),l3),l3),l3,l3),QIList(l8,l198,QIList(l104,QIList(l5,QIList(l331,l342,l210,l358,l3),QIList(l168,QIList(l241,QIList(l2,QIList(l202,QIList(l170,l331,l3),l3),l3),QIList(l7,QIList(l18,QIList(l167,QIList(l170,l331,l3),l3),l3),QIList(l225,QIList(l170,l331,l3),QIList(l170,l342,l3),l3),l3),QIList(l169,QIList(l6,QIList(l295,l358,l3),QIList(l168,QIList(QIList(l307,QIList(l167,QIList(l170,l331,l3),l3),"vardoc",QIList(l170,l358,l3),l3),l3),l3),l3),l3),QIList(l167,QIList(l170,l331,l3),l3),l3),l3),l3),l3),l3,l3),QIList(l7,l198,QIList(l104,QIList(l5,QIList(l357,l211,l328,l3),QIList(l168,QIList(l208,QIList(l170,l357,l3),l3,QIList(l241,QIList(l169,l328,l3),l3),l3),l3),l3),l3),l3,l3),QIList(l6,l198,QIList(l104,QIList(l5,QIList(l357,l211,l328,l3),QIList(l168,QIList(l208,QIList(l170,l357,l3),QIList(l241,QIList(l169,l328,l3),l3),l3,l3),l3),l3),l3),l3,l3),QIList(l5,l198,QIList(l104,QIList(l5,QIList(l327,l211,l328,l3),QIList(l168,QIList(l104,QIList(l5,QIList(l170,l327,l3),QIList(l169,l328,l3),l3),l3),l3),l3),l3),l3,l3),QIList(l2,l198,QIList(l104,QIList(l5,QIList(l211,l329,l3),QIList(l168,QIList(l240,QIList(l169,QIList(l73,QIList(l5,QIList(l330,l3),QIList(l168,QIList(l201,QIList(l167,QIList(l170,l330,l3),l3),l3),l3),l3),l329,l3),l3),l3),l3),l3),l3),l3,l3),QIList(l1,l198,QIList(l104,QIList(l5,QIList(l331,l327,l211,l328,l3),QIList(l168,QIList(l240,QIList(l197,QIList(l167,QIList(l170,l331,l3),l3),QIList(l167,QIList(l104,QIList(l5,QIList(l170,QIList(l73,QIList(l104,QIList(l5,QIList(l326,l3),QIList(l208,QIList(l292,l326,QIList(l167,l321,l3),l3),QIList(l167,l211,l3),l326,l3),l3),l3),l327,l3),l3),QIList(l169,l328,l3),l3),l3),l3),l3),l3),l3),l3),l3),l3,l3),l3),l3,l3,l3);
-(function(){
+var l330 = QIList(QIList(l328,"l328"),QIList(l327,"l327"),QIList(l326,"l326"),QIList(l325,"l325"),QIList(l324,"l324"),QIList(l323,"l323"),QIList(l322,"l322"),QIList(l321,"l321"),QIList(l320,"l320"),QIList(l319,"l319"),QIList(l318,"l318"),QIList(l317,"l317"),QIList(l316,"l316"),QIList(l315,"l315"),QIList(l314,"l314"),QIList(l313,"l313"),QIList(l312,"l312"),QIList(l311,"l311"),QIList(l310,"l310"),QIList(l309,"l309"),QIList(l308,"l308"),QIList(l307,"l307"),QIList(l306,"l306"),QIList(l305,"l305"),QIList(l304,"l304"),QIList(l303,"l303"),QIList(l302,"l302"),QIList(l301,"l301"),QIList(l300,"l300"),QIList(l299,"l299"),QIList(l298,"l298"),QIList(l297,"l297"),QIList(l296,"l296"),QIList(l295,"l295"),QIList(l294,"l294"),QIList(l293,"l293"),QIList(l292,"l292"),QIList(l291,"l291"),QIList(l290,"l290"),QIList(l289,"l289"),QIList(l288,"l288"),QIList(l287,"l287"),QIList(l286,"l286"),QIList(l285,"l285"),QIList(l284,"l284"),QIList(l283,"l283"),QIList(l282,"l282"),QIList(l281,"l281"),QIList(l280,"l280"),QIList(l279,"l279"),QIList(l278,"l278"),QIList(l277,"l277"),QIList(l276,"l276"),QIList(l275,"l275"),QIList(l274,"l274"),QIList(l273,"l273"),QIList(l272,"l272"),QIList(l271,"l271"),QIList(l270,"l270"),QIList(l269,"l269"),QIList(l268,"l268"),QIList(l267,"l267"),QIList(l266,"l266"),QIList(l265,"l265"),QIList(l264,"l264"),QIList(l263,"l263"),QIList(l262,"l262"),QIList(l261,"l261"),QIList(l260,"l260"),QIList(l259,"l259"),QIList(l258,"l258"),QIList(l257,"l257"),QIList(l256,"l256"),QIList(l255,"l255"),QIList(l254,"l254"),QIList(l253,"l253"),QIList(l252,"l252"),QIList(l251,"l251"),QIList(l250,"l250"),QIList(l249,"l249"),QIList(l248,"l248"),QIList(l247,"l247"),QIList(l246,"l246"),QIList(l245,"l245"),QIList(l244,"l244"),QIList(l243,"l243"),QIList(l242,"l242"),QIList(l241,"l241"),QIList(l240,"l240"),QIList(l239,"l239"),QIList(l238,"l238"),QIList(l237,"l237"),QIList(l236,"l236"),QIList(l235,"l235"),QIList(l234,"l234"),QIList(l233,"l233"),QIList(l232,"l232"),QIList(l231,"l231"),QIList(l230,"l230"),QIList(l229,"l229"),QIList(l228,"l228"),QIList(l227,"l227"),QIList(l226,"l226"),QIList(l225,"l225"),QIList(l224,"l224"),QIList(l223,"l223"),QIList(l222,"l222"),QIList(l221,"l221"),QIList(l220,"l220"),QIList(l219,"l219"),QIList(l218,"l218"),QIList(l217,"l217"),QIList(l216,"l216"),QIList(l215,"l215"),QIList(l214,"l214"),QIList(l212,"l212"),QIList(l211,"l211"),QIList(l210,"l210"),QIList(l209,"l209"),QIList(l208,"l208"),QIList(l207,"l207"),QIList(l206,"l206"),QIList(l205,"l205"),QIList(l204,"l204"),QIList(l203,"l203"),QIList(l202,"l202"),QIList(l201,"l201"),QIList(l200,"l200"),QIList(l199,"l199"),QIList(l198,"l198"),QIList(l197,"l197"),QIList(l196,"l196"),QIList(l195,"l195"),QIList(l194,"l194"),QIList(l193,"l193"),QIList(l192,"l192"),QIList(l191,"l191"),QIList(l190,"l190"),QIList(l189,"l189"),QIList(l188,"l188"),QIList(l187,"l187"),QIList(l186,"l186"),QIList(l185,"l185"),QIList(l184,"l184"),QIList(l183,"l183"),QIList(l182,"l182"),QIList(l181,"l181"),QIList(l180,"l180"),QIList(l179,"l179"),QIList(l178,"l178"),QIList(l177,"l177"),QIList(l176,"l176"),QIList(l175,"l175"),QIList(l174,"l174"),QIList(l173,"l173"),QIList(l172,"l172"),QIList(l171,"l171"),QIList(l170,"l170"),QIList(l169,"l169"),QIList(l168,"l168"),QIList(l167,"l167"),QIList(l166,"l166"),QIList(l165,"l165"),QIList(l164,"l164"),QIList(l163,"l163"),QIList(l162,"l162"),QIList(l161,"l161"),QIList(l160,"l160"),QIList(l159,"l159"),QIList(l158,"l158"),QIList(l157,"l157"),QIList(l156,"l156"),QIList(l155,"l155"),QIList(l154,"l154"),QIList(l153,"l153"),QIList(l152,"l152"),QIList(l151,"l151"),QIList(l150,"l150"),QIList(l149,"l149"),QIList(l148,"l148"),QIList(l147,"l147"),QIList(l146,"l146"),QIList(l145,"l145"),QIList(l144,"l144"),QIList(l143,"l143"),QIList(l142,"l142"),QIList(l141,"l141"),QIList(l140,"l140"),QIList(l139,"l139"),QIList(l138,"l138"),QIList(l137,"l137"),QIList(l136,"l136"),QIList(l135,"l135"),QIList(l134,"l134"),QIList(l133,"l133"),QIList(l132,"l132"),QIList(l131,"l131"),QIList(l130,"l130"),QIList(l129,"l129"),QIList(l128,"l128"),QIList(l127,"l127"),QIList(l126,"l126"),QIList(l125,"l125"),QIList(l124,"l124"),QIList(l123,"l123"),QIList(l122,"l122"),QIList(l121,"l121"),QIList(l120,"l120"),QIList(l119,"l119"),QIList(l118,"l118"),QIList(l117,"l117"),QIList(l116,"l116"),QIList(l115,"l115"),QIList(l114,"l114"),QIList(l113,"l113"),QIList(l112,"l112"),QIList(l111,"l111"),QIList(l110,"l110"),QIList(l109,"l109"),QIList(l108,"l108"),QIList(l107,"l107"),QIList(l106,"l106"),QIList(l105,"l105"),QIList(l104,"l104"),QIList(l103,"l103"),QIList(l102,"l102"),QIList(l101,"l101"),QIList(l100,"l100"),QIList(l99,"l99"),QIList(l98,"l98"),QIList(l97,"l97"),QIList(l96,"l96"),QIList(l95,"l95"),QIList(l94,"l94"),QIList(l93,"l93"),QIList(l92,"l92"),QIList(l91,"l91"),QIList(l90,"l90"),QIList(l89,"l89"),QIList(l88,"l88"),QIList(l87,"l87"),QIList(l86,"l86"),QIList(l85,"l85"),QIList(l84,"l84"),QIList(l83,"l83"),QIList(l82,"l82"),QIList(l81,"l81"),QIList(l80,"l80"),QIList(l79,"l79"),QIList(l78,"l78"),QIList(l77,"l77"),QIList(l76,"l76"),QIList(l75,"l75"),QIList(l74,"l74"),QIList(l73,"l73"),QIList(l72,"l72"),QIList(l71,"l71"),QIList(l70,"l70"),QIList(l69,"l69"),QIList(l68,"l68"),QIList(l67,"l67"),QIList(l66,"l66"),QIList(l65,"l65"),QIList(l64,"l64"),QIList(l63,"l63"),QIList(l62,"l62"),QIList(l61,"l61"),QIList(l60,"l60"),QIList(l59,"l59"),QIList(l58,"l58"),QIList(l57,"l57"),QIList(l56,"l56"),QIList(l55,"l55"),QIList(l54,"l54"),QIList(l53,"l53"),QIList(l52,"l52"),QIList(l51,"l51"),QIList(l50,"l50"),QIList(l49,"l49"),QIList(l48,"l48"),QIList(l47,"l47"),QIList(l46,"l46"),QIList(l45,"l45"),QIList(l44,"l44"),QIList(l43,"l43"),QIList(l42,"l42"),QIList(l41,"l41"),QIList(l40,"l40"),QIList(l39,"l39"),QIList(l38,"l38"),QIList(l37,"l37"),QIList(l36,"l36"),QIList(l35,"l35"),QIList(l34,"l34"),QIList(l33,"l33"),QIList(l32,"l32"),QIList(l31,"l31"),QIList(l30,"l30"),QIList(l29,"l29"),QIList(l28,"l28"),QIList(l27,"l27"),QIList(l26,"l26"),QIList(l25,"l25"),QIList(l24,"l24"),QIList(l23,"l23"),QIList(l22,"l22"),QIList(l21,"l21"),QIList(l20,"l20"),QIList(l19,"l19"),QIList(l18,"l18"),QIList(l17,"l17"),QIList(l16,"l16"),QIList(l15,"l15"),QIList(l14,"l14"),QIList(l13,"l13"),QIList(l12,"l12"),QIList(l11,"l11"),QIList(l10,"l10"),QIList(l9,"l9"),QIList(l8,"l8"),QIList(l7,"l7"),QIList(l6,"l6"),QIList(l5,"l5"),QIList(l4,"l4"),QIList(l3,"l3"),QIList(l2,"l2"),QIList(l1,"l1"),l3);
+var l331 = {name: "OP"};
+var l332 = {name: "SYM"};
+var l333 = {name: "X"};
+var l334 = {name: "ARGS"};
+var l335 = {name: "BODY"};
+var l336 = {name: "DECLS"};
+var l337 = {name: "DECL"};
+var l338 = {name: "NAME"};
+var l339 = {name: "ARG"};
+var l340 = {name: "FORM"};
+var l341 = {name: "PACKAGE-DESIGNATOR"};
+var l342 = {name: "VALUE-FROM"};
+var l343 = {name: "VARIABLES"};
+var l344 = {name: "VARLIST"};
+var l345 = {name: "ENDLIST"};
+var l346 = {name: "V"};
+var l347 = {name: "PAIRS"};
+var l348 = {name: "ASSIGNMENTS"};
+var l349 = {name: "VALUE"};
+var l350 = {name: "FORM1"};
+var l351 = {name: "RESULT"};
+var l352 = {name: "FORMS"};
+var l353 = {name: "G"};
+var l354 = {name: "CLAUSULES"};
+var l355 = {name: "!FORM"};
+var l356 = {name: "CLAUSULE"};
+var l357 = {name: "ITER"};
+var l358 = {name: "G!TO"};
+var l359 = {name: "VAR"};
+var l360 = {name: "TO"};
+var l361 = {name: "G!LIST"};
+var l362 = {name: "PLACE"};
+var l363 = {name: "DELTA"};
+var l364 = {name: "CONDITION"};
+var l365 = {name: "DOCSTRING"};
+var l366 = QIList(QIList(QIList(l274,l105,l3,QIList(l202,l3),l3),QIList(l264,l105,l3,QIList(l202,l3),l3),QIList(l263,l105,l3,QIList(l202,l3),l3),QIList(l257,l105,l3,QIList(l202,l3),l3),QIList(l246,l105,l3,QIList(l202,l3),l3),QIList(l236,l105,l3,QIList(l202,l3),l3),QIList(l235,l105,l3,QIList(l202,l3),l3),QIList(l209,l105,l3,QIList(l202,l3),l3),QIList(l206,l105,l3,QIList(l202,l3),l3),QIList(l193,l105,l3,QIList(l202,l3),l3),QIList(l189,l105,l3,QIList(l202,l3),l3),QIList(l188,l105,l3,QIList(l202,l3),l3),QIList(l172,l105,l3,QIList(l202,l3),l3),QIList(l166,l105,l3,QIList(l202,l3),l3),QIList(l133,l105,l3,QIList(l202,l3),l3),QIList(l123,l105,l3,QIList(l202,l3),l3),QIList(l120,l105,l3,QIList(l202,l3),l3),QIList(l119,l105,l3,QIList(l202,l3),l3),QIList(l118,l105,l3,QIList(l202,l3),l3),QIList(l108,l105,l3,QIList(l202,l3),l3),QIList(l15,l105,l3,QIList(l202,l3),l3),QIList(l4,l105,l3,QIList(l202,l204,l3),l3),QIList(l3,l105,l3,QIList(l202,l204,l3),l3),l3),QIList(QIList(l283,l198,QIList(l104,QIList(l5,QIList(l331,l332,l3),QIList(l168,QIList(l275,QIList(l170,l331,l3),QIList(l333,l211,l334,l3),QIList(l253,QIList(QIList(l334,QIList(l28,l333,l334,l3),l3),l3),QIList(l279,l334,QIList(l144,QIList(l282,l334,QIList(l170,l332,l3),l3),l3),l3),l3),l3),l3),l3),l3),l3,l3),QIList(l279,l198,QIList(l104,QIList(l5,QIList(l334,l211,l335,l3),QIList(l7,QIList(l292,l334,l3),QIList(l310,"Bad usage of VARIABLE-ARITY, you must pass a symbol",l3),l3),QIList(l168,QIList(l278,QIList(l170,l334,l3),QIList(l5,QIList(QIList(l170,l334,l3),l3),QIList(l134,"return ",QIList(l169,l335,l3),";",l133,l3),l3),l3),l3),l3),l3),l3,l3),QIList(l277,l198,QIList(l104,QIList(l5,QIList(l336,l211,l335,l3),QIList(l168,QIList(l146,QIList(l169,QIList(l73,QIList(l5,QIList(l337,l3),QIList(l168,QIList(l134,"var ",QIList(l170,QIList(l39,l337,l3),l3)," = ",QIList(l170,QIList(l41,l337,l3),l3),";",l133,l3),l3),l3),l336,l3),l3),QIList(l169,QIList(l73,QIList(l5,QIList(l337,l3),QIList(l168,QIList(l134,"if (typeof ",QIList(l170,QIList(l39,l337,l3),l3)," != '",QIList(l170,QIList(l40,l337,l3),l3),"')",l133,QIList(l143,"throw 'The value ' + ",QIList(l170,QIList(l39,l337,l3),l3)," + ' is not a type ",QIList(l170,QIList(l40,l337,l3),l3),".';",l133,l3),l3),l3),l3),l336,l3),l3),QIList(l134,"return ",QIList(l248,QIList(l169,l335,l3),l3),";",l133,l3),l3),l3),l3),l3),l3,l3),QIList(l276,l198,QIList(l104,QIList(l5,QIList(l338,l334,l211,l335,l3),QIList(l168,QIList(l248,QIList(l275,QIList(l170,l338,l3),QIList(l170,l334,l3),QIList(l253,QIList(l170,QIList(l73,QIList(l5,QIList(l339,l3),QIList(l168,QIList(QIList(l170,l339,l3),QIList(l145,QIList(l170,l339,l3),l3),l3),l3),l3),l334,l3),l3),QIList(l169,l335,l3),l3),l3),l3),l3),l3),l3),l3,l3),QIList(l275,l198,QIList(l104,QIList(l5,QIList(l338,l334,l211,l335,l3),QIList(l168,QIList(l48,QIList(l44,QIList(l167,QIList(l170,l338,l3),l3),QIList(l5,QIList(l170,l334,l3),QIList(l184,QIList(l170,l338,l3),QIList(l169,l335,l3),l3),l3),l3),l274,l3),l3),l3),l3),l3,l3),QIList(l168,l198,QIList(l104,QIList(l5,QIList(l340,l3),QIList(l272,l340,l3),l3),l3),l3,l3),QIList(l250,l198,QIList(l104,QIList(l5,QIList(l338,l334,l340,l3),QIList(l168,QIList(l207,QIList(l170,l338,l3),QIList(l170,l334,l3),QIList(l145,QIList(l170,l340,l3),l3),l3),l3),l3),l3),l3,l3),QIList(l207,l198,QIList(l104,QIList(l5,QIList(l338,l334,l211,l335,l3),QIList(l168,QIList(l48,QIList(l44,QIList(l167,QIList(l170,l338,l3),l3),QIList(l5,QIList(l170,l334,l3),QIList(l184,QIList(l170,l338,l3),QIList(l169,l335,l3),l3),l3),l3),l206,l3),l3),l3),l3),l3,l3),QIList(l146,l198,QIList(l104,QIList(l5,QIList(l211,l335,l3),QIList(l168,QIList(l134,"(function(){",l133,QIList(l143,QIList(l169,l335,l3),l3),"})()",l3),l3),l3),l3),l3,l3),QIList(l135,l198,QIList(l104,QIList(l5,QIList(l105,l211,l340,l3),QIList(l168,QIList(l232,QIList(l170,l105,l3),QIList(l134,QIList(l170,l105,l3),QIList(l248,QIList(l169,l340,l3),l3),l3),l3),l3),l3),l3),l3,l3),QIList(l124,l198,QIList(l104,QIList(l5,QIList(l341,l3),QIList(l168,QIList(l247,QIList(l232,l123,QIList(l111,QIList(l170,l341,l3),l3),l3),l3),l3),l3),l3),l3,l3),QIList(l107,l198,QIList(l104,QIList(l5,QIList(l342,l3),QIList(l168,QIList(l270,QIList(l104,l44,l3),QIList(l170,l342,l3),l3),l3),l3),l3),l3,l3),QIList(l106,l198,QIList(l104,QIList(l5,QIList(l343,l342,l211,l335,l3),QIList(l168,QIList(l270,QIList(l5,QIList(l210,QIList(l169,l343,l3),l211,QIList(l170,QIList(l16,l3),l3),l3),QIList(l169,l335,l3),l3),QIList(l170,l342,l3),l3),l3),l3),l3),l3,l3),QIList(l69,l198,QIList(l104,QIList(l5,QIList(l344,l345,l211,l335,l3),QIList(l168,QIList(l184,l3,QIList(l256,QIList(l170,QIList(l73,QIList(l5,QIList(l333,l3),QIList(l44,QIList(l39,l333,l3),QIList(l40,l333,l3),l3),l3),l344,l3),l3),QIList(l14,l4,QIList(l6,QIList(l170,QIList(l30,l345,l3),l3),QIList(l13,QIList(l248,QIList(l170,QIList(l31,l345,l3),l3),l3),l3),l3),QIList(l267,QIList(l169,l335,l3),l3),QIList(l232,QIList(l169,QIList(l308,QIList(l104,l64,l3),QIList(l73,QIList(l5,QIList(l346,l3),QIList(l54,QIList(l29,QIList(l35,l346,l3),l3),QIList(l44,QIList(l39,l346,l3),QIList(l41,l346,l3),l3),l3),l3),l344,l3),l3),l3),l3),l3),l3),l3),l3),l3),l3),l3,l3),QIList(l68,l198,QIList(l104,QIList(l5,QIList(l344,l345,l211,l335,l3),QIList(l168,QIList(l184,l3,QIList(l253,QIList(l170,QIList(l73,QIList(l5,QIList(l333,l3),QIList(l44,QIList(l39,l333,l3),QIList(l40,l333,l3),l3),l3),l344,l3),l3),QIList(l14,l4,QIList(l6,QIList(l170,QIList(l30,l345,l3),l3),QIList(l13,QIList(l248,QIList(l170,QIList(l31,l345,l3),l3),l3),l3),l3),QIList(l267,QIList(l169,l335,l3),l3),QIList(l67,QIList(l169,QIList(l308,QIList(l104,l64,l3),QIList(l73,QIList(l5,QIList(l346,l3),QIList(l54,QIList(l29,QIList(l35,l346,l3),l3),QIList(l44,QIList(l39,l346,l3),QIList(l41,l346,l3),l3),l3),l3),l344,l3),l3),l3),l3),l3),l3),l3),l3),l3),l3),l3,l3),QIList(l67,l198,QIList(l104,QIList(l5,QIList(l211,l347,l3),QIList(l253,QIList(QIList(l348,QIList(l167,l3,l3),l3),l3),QIList(l14,l4,QIList(l51,QIList(QIList(l12,l347,l3),QIList(l13,l3),l3),QIList(QIList(l12,QIList(l31,l347,l3),l3),QIList(l310,"Odd paris in PSETQ",l3),l3),QIList(l4,QIList(l253,QIList(QIList(l105,QIList(l30,l347,l3),l3),QIList(l349,QIList(l33,l347,l3),l3),l3),QIList(l48,QIList(l168,QIList(QIList(l170,l105,l3),QIList(l170,QIList(l16,l3),l3),QIList(l170,l349,l3),l3),l3),l348,l3),QIList(l232,l347,QIList(l35,l347,l3),l3),l3),l3),l3),l3),QIList(l232,l348,QIList(l66,l348,l3),l3),QIList(l168,QIList(l253,QIList(l170,QIList(l73,QIList(l104,l31,l3),l348,l3),l3),QIList(l232,QIList(l169,QIList(l60,QIList(l104,l64,l3),QIList(l73,QIList(l104,l87,l3),l348,l3),QIList(l167,l3,l3),l3),l3),l3),l3),l3),l3),l3),l3),l3,l3),QIList(l57,l198,QIList(l104,QIList(l5,QIList(l350,l351,l211,l335,l3),QIList(l168,QIList(l56,QIList(l248,QIList(l170,l350,l3),QIList(l170,l351,l3),l3),QIList(l169,l335,l3),l3),l3),l3),l3),l3,l3),QIList(l56,l198,QIList(l104,QIList(l5,QIList(l340,l211,l335,l3),QIList(l253,QIList(QIList(l349,QIList(l16,l3),l3),l3),QIList(l168,QIList(l253,QIList(QIList(QIList(l170,l349,l3),QIList(l170,l340,l3),l3),l3),QIList(l169,l335,l3),QIList(l170,l349,l3),l3),l3),l3),l3),l3),l3,l3),QIList(l55,l198,QIList(l104,QIList(l5,QIList(l211,l352,l3),QIList(l51,QIList(QIList(l12,l352,l3),l3,l3),QIList(QIList(l12,QIList(l31,l352,l3),l3),QIList(l30,l352,l3),l3),QIList(l4,QIList(l253,QIList(QIList(l353,QIList(l16,l3),l3),l3),QIList(l168,QIList(l253,QIList(QIList(QIList(l170,l353,l3),QIList(l170,QIList(l30,l352,l3),l3),l3),l3),QIList(l208,QIList(l170,l353,l3),QIList(l170,l353,l3),QIList(l55,QIList(l169,QIList(l31,l352,l3),l3),l3),l3),l3),l3),l3),l3),l3),l3),l3),l3,l3),QIList(l54,l198,QIList(l104,QIList(l5,QIList(l211,l352,l3),QIList(l51,QIList(QIList(l12,l352,l3),l4,l3),QIList(QIList(l12,QIList(l31,l352,l3),l3),QIList(l30,l352,l3),l3),QIList(l4,QIList(l168,QIList(l208,QIList(l170,QIList(l30,l352,l3),l3),QIList(l54,QIList(l169,QIList(l31,l352,l3),l3),l3),l3,l3),l3),l3),l3),l3),l3),l3,l3),QIList(l53,l198,QIList(l104,QIList(l5,QIList(l340,l211,l354,l3),QIList(l168,QIList(l52,QIList(l170,l340,l3),QIList(l169,QIList(l64,l354,QIList(l168,QIList(QIList(l4,QIList(l310,"ECASE expression failed.",l3),l3),l3),l3),l3),l3),l3),l3),l3),l3),l3,l3),QIList(l52,l198,QIList(l104,QIList(l5,QIList(l340,l211,l354,l3),QIList(l253,QIList(QIList(l355,QIList(l16,l3),l3),l3),QIList(l168,QIList(l253,QIList(QIList(QIList(l170,l355,l3),QIList(l170,l340,l3),l3),l3),QIList(l51,QIList(l169,QIList(l73,QIList(l5,QIList(l356,l3),QIList(l208,QIList(l299,QIList(l30,l356,l3),l4,l3),l356,QIList(l168,QIList(QIList(l26,QIList(l170,l355,l3),QIList(l167,QIList(l170,QIList(l30,l356,l3),l3),l3),l3),QIList(l169,QIList(l31,l356,l3),l3),l3),l3),l3),l3),l354,l3),l3),l3),l3),l3),l3),l3),l3),l3,l3),QIList(l51,l198,QIList(l104,QIList(l5,QIList(l211,l354,l3),QIList(l208,QIList(l12,l354,l3),l3,QIList(l208,QIList(l299,QIList(l32,l354,l3),l4,l3),QIList(l168,QIList(l248,QIList(l169,QIList(l34,l354,l3),l3),l3),l3),QIList(l168,QIList(l208,QIList(l170,QIList(l32,l354,l3),l3),QIList(l248,QIList(l169,QIList(l34,l354,l3),l3),l3),QIList(l51,QIList(l169,QIList(l31,l354,l3),l3),l3),l3),l3),l3),l3),l3),l3),l3,l3),QIList(l50,l198,QIList(l104,QIList(l5,QIList(l357,l211,l335,l3),QIList(l253,QIList(QIList(l358,QIList(l16,l3),l3),QIList(l359,QIList(l39,l357,l3),l3),QIList(l360,QIList(l40,l357,l3),l3),QIList(l351,QIList(l41,l357,l3),l3),l3),QIList(l168,QIList(l184,l3,QIList(l253,QIList(QIList(QIList(l170,l359,l3),0,l3),QIList(QIList(l170,l358,l3),QIList(l170,l360,l3),l3),l3),QIList(l239,QIList(l285,QIList(l170,l359,l3),QIList(l170,l358,l3),l3),QIList(l267,QIList(l169,l335,l3),l3),QIList(l46,QIList(l170,l359,l3),l3),l3),QIList(l170,l351,l3),l3),l3),l3),l3),l3),l3),l3,l3),QIList(l49,l198,QIList(l104,QIList(l5,QIList(l357,l211,l335,l3),QIList(l253,QIList(QIList(l359,QIList(l39,l357,l3),l3),QIList(l361,QIList(l16,l3),l3),l3),QIList(l168,QIList(l184,l3,QIList(l253,QIList(QIList(QIList(l170,l361,l3),QIList(l170,QIList(l40,l357,l3),l3),l3),QIList(QIList(l170,l359,l3),l3,l3),l3),QIList(l239,QIList(l170,l361,l3),QIList(l232,QIList(l170,l359,l3),QIList(l30,QIList(l170,l361,l3),l3),l3),QIList(l267,QIList(l169,l335,l3),l3),QIList(l232,QIList(l170,l361,l3),QIList(l31,QIList(l170,l361,l3),l3),l3),l3),QIList(l170,QIList(l41,l357,l3),l3),l3),l3),l3),l3),l3),l3),l3,l3),QIList(l48,l198,QIList(l104,QIList(l5,QIList(l333,l362,l3),QIList(l168,QIList(l232,QIList(l170,l362,l3),QIList(l28,QIList(l170,l333,l3),QIList(l170,l362,l3),l3),l3),l3),l3),l3),l3,l3),QIList(l47,l198,QIList(l104,QIList(l5,QIList(l333,l210,QIList(l363,1,l3),l3),QIList(l168,QIList(l232,QIList(l170,l333,l3),QIList(l62,QIList(l170,l333,l3),QIList(l170,l363,l3),l3),l3),l3),l3),l3),l3,l3),QIList(l46,l198,QIList(l104,QIList(l5,QIList(l333,l210,QIList(l363,1,l3),l3),QIList(l168,QIList(l232,QIList(l170,l333,l3),QIList(l61,QIList(l170,l333,l3),QIList(l170,l363,l3),l3),l3),l3),l3),l3),l3,l3),QIList(l14,l198,QIList(l104,QIList(l5,QIList(l364,l211,l335,l3),QIList(l168,QIList(l184,l3,QIList(l239,QIList(l170,l364,l3),QIList(l169,l335,l3),l3),l3),l3),l3),l3),l3,l3),QIList(l13,l198,QIList(l104,QIList(l5,QIList(l210,l349,l3),QIList(l168,QIList(l260,l3,QIList(l170,l349,l3),l3),l3),l3),l3),l3,l3),QIList(l11,l198,QIList(l104,QIList(l5,QIList(l338,l334,l211,l335,l3),QIList(l168,QIList(l248,QIList(l295,QIList(l167,QIList(l170,l338,l3),l3),QIList(l10,QIList(l170,QIList(l294,l338,l3),l3),QIList(l170,l334,l3),QIList(l169,QIList(l208,QIList(l54,QIList(l302,QIList(l30,l335,l3),l3),QIList(l27,QIList(l12,QIList(l31,l335,l3),l3),l3),l3),QIList(l168,QIList(QIList(l170,QIList(l30,l335,l3),l3),QIList(l184,QIList(l170,l338,l3),QIList(l169,QIList(l31,l335,l3),l3),l3),l3),l3),QIList(l168,QIList(QIList(l184,QIList(l170,l338,l3),QIList(l169,l335,l3),l3),l3),l3),l3),l3),l3),l3),QIList(l167,QIList(l170,l338,l3),l3),l3),l3),l3),l3),l3,l3),QIList(l10,l198,QIList(l104,QIList(l5,QIList(l338,l334,l211,l335,l3),QIList(l253,QIList(QIList(l333,QIList(l16,"FN",l3),l3),l3),QIList(l168,QIList(l253,QIList(QIList(QIList(l170,l333,l3),QIList(l5,QIList(l170,l334,l3),QIList(l169,l335,l3),l3),l3),l3),QIList(l314,QIList(l170,l333,l3),"fname",QIList(l170,l338,l3),l3),QIList(l170,l333,l3),l3),l3),l3),l3),l3),l3,l3),QIList(l9,l198,QIList(l104,QIList(l5,QIList(l338,l349,l210,l365,l3),QIList(l168,QIList(l248,QIList(l232,QIList(l170,l338,l3),QIList(l170,l349,l3),l3),QIList(l169,QIList(l6,QIList(l302,l365,l3),QIList(l168,QIList(QIList(l314,QIList(l167,QIList(l170,l338,l3),l3),"vardoc",QIList(l170,l365,l3),l3),l3),l3),l3),l3),QIList(l167,QIList(l170,l338,l3),l3),l3),l3),l3),l3),l3,l3),QIList(l8,l198,QIList(l104,QIList(l5,QIList(l338,l349,l210,l365,l3),QIList(l168,QIList(l248,QIList(l2,QIList(l202,QIList(l170,l338,l3),l3),l3),QIList(l7,QIList(l18,QIList(l167,QIList(l170,l338,l3),l3),l3),QIList(l232,QIList(l170,l338,l3),QIList(l170,l349,l3),l3),l3),QIList(l169,QIList(l6,QIList(l302,l365,l3),QIList(l168,QIList(QIList(l314,QIList(l167,QIList(l170,l338,l3),l3),"vardoc",QIList(l170,l365,l3),l3),l3),l3),l3),l3),QIList(l167,QIList(l170,l338,l3),l3),l3),l3),l3),l3),l3,l3),QIList(l7,l198,QIList(l104,QIList(l5,QIList(l364,l211,l335,l3),QIList(l168,QIList(l208,QIList(l170,l364,l3),l3,QIList(l248,QIList(l169,l335,l3),l3),l3),l3),l3),l3),l3,l3),QIList(l6,l198,QIList(l104,QIList(l5,QIList(l364,l211,l335,l3),QIList(l168,QIList(l208,QIList(l170,l364,l3),QIList(l248,QIList(l169,l335,l3),l3),l3,l3),l3),l3),l3),l3,l3),QIList(l5,l198,QIList(l104,QIList(l5,QIList(l334,l211,l335,l3),QIList(l168,QIList(l104,QIList(l5,QIList(l170,l334,l3),QIList(l169,l335,l3),l3),l3),l3),l3),l3),l3,l3),QIList(l2,l198,QIList(l104,QIList(l5,QIList(l211,l336,l3),QIList(l168,QIList(l247,QIList(l169,QIList(l73,QIList(l5,QIList(l337,l3),QIList(l168,QIList(l201,QIList(l167,QIList(l170,l337,l3),l3),l3),l3),l3),l336,l3),l3),l3),l3),l3),l3),l3,l3),QIList(l1,l198,QIList(l104,QIList(l5,QIList(l338,l334,l211,l335,l3),QIList(l168,QIList(l247,QIList(l197,QIList(l167,QIList(l170,l338,l3),l3),QIList(l167,QIList(l104,QIList(l5,QIList(l170,QIList(l73,QIList(l104,QIList(l5,QIList(l333,l3),QIList(l208,QIList(l299,l333,QIList(l167,l328,l3),l3),QIList(l167,l211,l3),l333,l3),l3),l3),l334,l3),l3),QIList(l169,l335,l3),l3),l3),l3),l3),l3),l3),l3),l3),l3,l3),l3),l3,l3,l3);
+(function(){
+    l125.fvalue(pv, l328);
+    l125.fvalue(pv, l327);
+    l125.fvalue(pv, l326);
+    l125.fvalue(pv, l325);
+    l125.fvalue(pv, l324);
+    l125.fvalue(pv, l323);
+    l125.fvalue(pv, l322);
     l125.fvalue(pv, l321);
     l125.fvalue(pv, l320);
     l125.fvalue(pv, l319);
@@ -8400,7 +8932,7 @@ var l359 = QIList(QIList(QIList(l267,l105,l3,QIList(l202,l3),l3),QIList(l257,l10
     l125.fvalue(pv, l216);
     l125.fvalue(pv, l215);
     l125.fvalue(pv, l214);
-    l125.fvalue(pv, l213);
+    l125.fvalue(pv, l212);
     l125.fvalue(pv, l211);
     l125.fvalue(pv, l210);
     l125.fvalue(pv, l209);
@@ -8612,10 +9144,10 @@ var l359 = QIList(QIList(QIList(l267,l105,l3,QIList(l202,l3),l3),QIList(l257,l10
     l125.fvalue(pv, l3);
     l125.fvalue(pv, l2);
     l125.fvalue(pv, l1);
-    ((l228).value = l323);
-    ((l188).value = l359);
-    ((l189).value = 857);
-    ((l15).value = 219);
-    return ((l250).value = 290);
+    ((l235).value = l330);
+    ((l188).value = l366);
+    ((l189).value = 893);
+    ((l15).value = 226);
+    return ((l257).value = 296);
 })();
-((l229).value = 359);
+((l236).value = 366);
index 28554e1..77495e8 100644 (file)
   (mapcar (lambda (keyarg) (second (first keyarg)))
          (lambda-list-keyword-arguments-canonical lambda-list)))
 
-
 (defun lambda-docstring-wrapper (docstring &rest strs)
   (if docstring
       (js!selfcall
            (concat "checkArgsAtMost(arguments, " (integer-to-string max) ");" *newline*)
            "")))))
 
+(defun compile-lambda-optional (lambda-list)
+  (let* ((optional-arguments (lambda-list-optional-arguments lambda-list))
+        (n-required-arguments (length (lambda-list-required-arguments lambda-list)))
+        (n-optional-arguments (length optional-arguments)))
+    (if optional-arguments
+       (concat "switch(arguments.length-1){" *newline*
+               (let ((optional-and-defaults
+                      (lambda-list-optional-arguments-with-default lambda-list))
+                     (cases nil)
+                     (idx 0))
+                 (progn
+                   (while (< idx n-optional-arguments)
+                     (let ((arg (nth idx optional-and-defaults)))
+                       (push (concat "case "
+                                     (integer-to-string (+ idx n-required-arguments)) ":" *newline*
+                                     (translate-variable (car arg))
+                                     "="
+                                     (ls-compile (cadr arg))
+                                     ";" *newline*)
+                             cases)
+                       (incf idx)))
+                   (push (concat "default: break;" *newline*) cases)
+                   (join (reverse cases))))
+               "}" *newline*)
+       "")))
+
+(defun compile-lambda-rest (lambda-list)
+  (let ((n-required-arguments (length (lambda-list-required-arguments lambda-list)))
+       (n-optional-arguments (length (lambda-list-optional-arguments lambda-list)))
+       (rest-argument (lambda-list-rest-argument lambda-list)))
+    (if rest-argument
+       (let ((js!rest (translate-variable rest-argument)))
+         (concat "var " js!rest "= " (ls-compile nil) ";" *newline*
+                 "for (var i = arguments.length-1; i>="
+                 (integer-to-string (+ 1 n-required-arguments n-optional-arguments))
+                 "; i--)" *newline*  
+                 (indent js!rest " = "
+                         "{car: arguments[i], cdr: ") js!rest "};"
+                         *newline*))
+       "")))
+
+(defun compile-lambda-parse-keywords (lambda-list)
+  (let ((n-required-arguments
+        (length (lambda-list-required-arguments lambda-list)))
+       (n-optional-arguments
+        (length (lambda-list-optional-arguments lambda-list)))
+       (keyword-arguments
+        (lambda-list-keyword-arguments-canonical lambda-list)))
+    (concat
+     "var i;" *newline*
+     ;; Declare variables
+     (mapconcat (lambda (arg)
+                 (let ((var (second (car arg))))
+                   (concat "var " (translate-variable var) "; " *newline*)))
+               keyword-arguments)
+     ;; Parse keywords
+     (flet ((parse-keyword (keyarg)
+             ;; ((keyword-name var) init-form)
+             (concat "for (i="
+                     (integer-to-string (+ 1 n-required-arguments n-optional-arguments))
+                     "; i<arguments.length; i+=2){" *newline*
+                     (indent
+                      "if (arguments[i] === " (ls-compile (caar keyarg)) "){" *newline*
+                      (indent (translate-variable (cadr (car keyarg)))
+                              " = arguments[i+1];"
+                              *newline*
+                              "break;" *newline*)
+                      "}" *newline*)
+                     "}" *newline*
+                     ;; Default value
+                     "if (i == arguments.length){" *newline*
+                     (indent
+                      (translate-variable (cadr (car keyarg)))
+                      " = "
+                      (ls-compile (cadr keyarg))
+                      ";" *newline*)
+                     "}" *newline*)))
+       (mapconcat #'parse-keyword keyword-arguments))
+     ;; Check for unknown keywords
+     (if (null keyword-arguments)
+        ""
+        (concat "for (i="
+                (integer-to-string (+ 1 n-required-arguments n-optional-arguments))
+                "; i<arguments.length; i+=2){" *newline*
+                (indent "if ("
+                        (join (mapcar (lambda (x)
+                                        (concat "arguments[i] !== " (ls-compile (caar x))))
+                                      keyword-arguments)
+                              " && ")
+                        ")" *newline*
+                        (indent
+                         "throw 'Unknown keyword argument ' + arguments[i].name;" *newline*))
+                "}" *newline*)))))
+
 (defun compile-lambda (lambda-list body)
   (let ((required-arguments (lambda-list-required-arguments lambda-list))
         (optional-arguments (lambda-list-optional-arguments lambda-list))
        (keyword-arguments  (lambda-list-keyword-arguments  lambda-list))
         (rest-argument      (lambda-list-rest-argument      lambda-list))
-       (keyword-arguments-canonical
-        (lambda-list-keyword-arguments-canonical lambda-list))
         documentation)
     ;; Get the documentation string for the lambda function
     (when (and (stringp (car body))
         (lambda-check-argument-count n-required-arguments
                                      n-optional-arguments
                                      (or rest-argument keyword-arguments))
-        ;; Optional arguments
-        (if optional-arguments
-            (concat "switch(arguments.length-1){" *newline*
-                    (let ((optional-and-defaults
-                           (lambda-list-optional-arguments-with-default lambda-list))
-                          (cases nil)
-                          (idx 0))
-                      (progn
-                        (while (< idx n-optional-arguments)
-                          (let ((arg (nth idx optional-and-defaults)))
-                            (push (concat "case "
-                                          (integer-to-string (+ idx n-required-arguments)) ":" *newline*
-                                          (translate-variable (car arg))
-                                          "="
-                                          (ls-compile (cadr arg))
-                                          ";" *newline*)
-                                  cases)
-                            (incf idx)))
-                        (push (concat "default: break;" *newline*) cases)
-                        (join (reverse cases))))
-                    "}" *newline*)
-            "")
-        ;; &rest/&body argument
-        (if rest-argument
-            (let ((js!rest (translate-variable rest-argument)))
-              (concat "var " js!rest "= " (ls-compile nil) ";" *newline*
-                      "for (var i = arguments.length-1; i>="
-                      (integer-to-string (+ 1 n-required-arguments n-optional-arguments))
-                      "; i--)" *newline*  
-                     (indent js!rest " = "
-                              "{car: arguments[i], cdr: ") js!rest "};"
-                      *newline*))
-            "")
-
-       ;; &key arguments
-       "var i;" *newline*
-       (mapconcat (lambda (arg)
-                    (concat "var " (translate-variable arg) "; " *newline*))
-                  keyword-arguments)
-       (mapconcat (lambda (keyarg)
-                    ;; ((keyword-name var) init-form)
-                    (concat "for (i="
-                            (integer-to-string (+ 1 n-required-arguments n-optional-arguments))
-                            "; i<arguments.length; i+=2){" *newline*
-                            (indent
-                             "if (arguments[i] === " (ls-compile (caar keyarg)) "){" *newline*
-                             (indent (translate-variable (cadr (car keyarg)))
-                                     " = arguments[i+1];"
-                                     *newline*
-                                     "break;" *newline*)
-                             "}" *newline*)
-                            "}" *newline*
-                            ;; Default value
-                            "if (i == arguments.length){" *newline*
-                            (indent
-                             (translate-variable (cadr (car keyarg)))
-                             " = "
-                             (ls-compile (cadr keyarg))
-                             ";" *newline*)
-                            "}" *newline*))
-                  keyword-arguments-canonical)
-       ;; Check for unknown keywords
-       (if (null keyword-arguments)
-           ""
-           (concat "for (i="
-                   (integer-to-string (+ 1 n-required-arguments n-optional-arguments))
-                   "; i<arguments.length; i+=2){" *newline*
-                   (indent "if ("
-                           (join (mapcar (lambda (x)
-                                           (concat "arguments[i] !== " (ls-compile (caar x))))
-                                         keyword-arguments-canonical)
-                                 " && ")
-                           ")" *newline*
-                           (indent
-                            "throw 'Unknown keyword argument ' + arguments[i].name;" *newline*))
-                   "}" *newline*))
-        ;; Body
-        (let ((*multiple-value-p* t)) (ls-compile-block body t)))
+       (compile-lambda-optional lambda-list)
+       (compile-lambda-rest lambda-list)
+       (compile-lambda-parse-keywords lambda-list)
+        (let ((*multiple-value-p* t))
+         (ls-compile-block body t)))
        "})"))))
 
 
+
 (defun setq-pair (var val)
   (let ((b (lookup-in-lexenv var *environment* 'variable)))
     (if (and (eq (binding-type b) 'variable)