Machine-Independent MDL for TOPS-20 and VAX.
[pdp10-muddle.git] / mim / development / mim / mimc / strgen.mima
diff --git a/mim/development/mim/mimc/strgen.mima b/mim/development/mim/mimc/strgen.mima
new file mode 100644 (file)
index 0000000..58b7a8d
--- /dev/null
@@ -0,0 +1,3255 @@
+
+<PACKAGE "STRGEN">
+
+<ENTRY NTH-GEN REST-GEN PUT-GEN LNTH-GEN MT-GEN PUTREST-GEN IPUT-GEN IREMAS-GEN COMMUTE-STRUC DEFER-IT LIST-LNT-SPEC EMPTY-CHECK NTH-DO REST-DO RECTYPE? MONAD?-GEN BACK-GEN TOP-GEN>
+
+<USE "COMPDEC" "CODGEN" "CHKDCL" "SPCGEN" "CARGEN" "MIMGEN" "ADVMESS">
+
+<SETG MAX-IN-ROW 4>
+
+<SETG CMAX-IN-ROW 2>
+
+<MANIFEST MAX-IN-ROW CMAX-IN-ROW>
+
+#WORD *33201625647*
+<GFCN \1aLIST-LNT-SPEC ("VALUE" ANY NODE ANY ANY ANY ANY FIX ANY) N4 W5 NF6 BR7 DI8 NUM9 SF10>
+                   <TEMP K11 FLS14 B215 SDIR16 (B317 %<>) SBR22 TEMP34 F119 F220 F321 RAC13:TEMP>
+                   <INTGO>
+                   <NTHUV N4 5 = K11 (TYPE LIST)>
+                   <EQUAL? W5 'FLUSHED - TAG24>
+                   <SET FLS14 'T (TYPE ATOM)>
+                   <JUMP + TAG25>
+TAG24
+                   <SET FLS14 %<> (TYPE FALSE)>
+TAG25
+                   <TYPE? BR7 <TYPE-CODE FALSE> + PHRASE27>
+                   <VEQUAL? FLS14 0 + PHRASE27>
+                   <SET B215 BR7>
+                   <JUMP + PHRASE29>
+PHRASE27
+                   <FRAME '\1aMAKE-TAG>
+                   <CALL '\1aMAKE-TAG 0 = B215>
+PHRASE29
+                   <SET SDIR16 DI8>
+                   <NTHUV N4 4 = SBR22>
+                   <FRAME '\1aGEN>
+                   <NTHL K11 1 = TEMP34 (TYPE NODE)>
+                   <NTHUV TEMP34 1 = TEMP34 (TYPE FIX)>
+                   <VEQUAL? TEMP34 2 - PHRASE33 (TYPE FIX)>
+                   <DEAD TEMP34>
+                   <RESTL K11 1 = TEMP34 (TYPE LIST)>
+                   <DEAD K11>
+                   <NTHL TEMP34 1 = TEMP34 (TYPE NODE)>
+                   <JUMP + PHRASE35>
+PHRASE33
+                   <NTHL K11 1 = TEMP34 (TYPE NODE)>
+                   <DEAD K11>
+PHRASE35
+                   <NTHUV TEMP34 5 = TEMP34 (TYPE LIST)>
+                   <NTHL TEMP34 1 = K11 (TYPE NODE)>
+                   <DEAD TEMP34>
+                   <PUSH K11>
+                   <DEAD K11>
+                   <CALL '\1aGEN 1 = K11>
+                   <TYPE? NF6 <TYPE-CODE FALSE> + TAG38>
+                   <DEAD NF6>
+                   <TYPE? DI8 <TYPE-CODE FALSE> - TAG37>
+                   <DEAD DI8>
+                   <SET DI8 'T (TYPE ATOM)>
+                   <JUMP + TAG38>
+TAG37
+                   <SET DI8 %<> (TYPE FALSE)>
+TAG38
+                   <TYPE? SF10 <TYPE-CODE FALSE> + PHRASE40>
+                   <DEAD SF10>
+                   <FRAME '\1aDEALLOCATE-TEMP>
+                   <FRAME '\1aMOVE-ARG>
+                   <FRAME '\1aREFERENCE>
+                   <TYPE? SDIR16 <TYPE-CODE FALSE> - TAG44>
+                   <SET TEMP34 'T (TYPE ATOM)>
+                   <JUMP + TAG45>
+TAG44
+                   <SET TEMP34 %<> (TYPE FALSE)>
+TAG45
+                   <PUSH TEMP34>
+                   <DEAD TEMP34>
+                   <CALL '\1aREFERENCE 1 = STACK>
+                   <PUSH W5>
+                   <CALL '\1aMOVE-ARG 2 = STACK>
+                   <CALL '\1aDEALLOCATE-TEMP 1>
+PHRASE40
+                   <TYPE? BR7 <TYPE-CODE FALSE> + PHRASE47>
+                   <VEQUAL? FLS14 0 - PHRASE47>
+                   <TYPE? DI8 <TYPE-CODE FALSE> - TAG49>
+                   <DEAD DI8>
+                   <SET DI8 'T (TYPE ATOM)>
+                   <JUMP + PHRASE47>
+TAG49
+                   <SET DI8 %<> (TYPE FALSE)>
+PHRASE47
+                   <TYPE? DI8 <TYPE-CODE FALSE> + BOOL52>
+                   <DEAD DI8>
+                   <FRAME '\1aFLIP>
+                   <PUSH SBR22>
+                   <DEAD SBR22>
+                   <CALL '\1aFLIP 1 = SBR22>
+BOOL52
+                   <SET F119 [==? G? G=? 1? 0?] (TYPE VECTOR)>
+                   <TYPE? SBR22 <TYPE-CODE ATOM> - TAG54>
+                   <LOOP (SBR22 VALUE) (F119 LENGTH VALUE)>
+TAG56
+                   <NTHUV F119 1 = TEMP34>
+                   <VEQUAL? TEMP34 SBR22 + TAG55>
+                   <DEAD TEMP34>
+                   <RESTUV F119 1 = F119 (TYPE VECTOR)>
+                   <EMPUV? F119 - TAG56>
+TAG54
+                   <SET F119 %<> (TYPE FALSE)>
+TAG55
+                   <SET F220 [G? G=?] (TYPE VECTOR)>
+                   <TYPE? SBR22 <TYPE-CODE ATOM> - TAG58>
+                   <LOOP (SBR22 VALUE) (F220 LENGTH VALUE)>
+TAG60
+                   <NTHUV F220 1 = TEMP34>
+                   <VEQUAL? TEMP34 SBR22 + TAG59>
+                   <DEAD TEMP34>
+                   <RESTUV F220 1 = F220 (TYPE VECTOR)>
+                   <EMPUV? F220 - TAG60>
+TAG58
+                   <SET F220 %<> (TYPE FALSE)>
+TAG59
+                   <SET F321 [L? L=?] (TYPE VECTOR)>
+                   <TYPE? SBR22 <TYPE-CODE ATOM> - TAG62>
+                   <LOOP (SBR22 VALUE) (F321 LENGTH VALUE)>
+TAG64
+                   <NTHUV F321 1 = TEMP34>
+                   <VEQUAL? TEMP34 SBR22 + TAG63>
+                   <DEAD TEMP34>
+                   <RESTUV F321 1 = F321 (TYPE VECTOR)>
+                   <EMPUV? F321 - TAG64>
+TAG62
+                   <SET F321 %<> (TYPE FALSE)>
+TAG63
+                   <EQUAL? SBR22 'L=? + BOOL68>
+                   <EQUAL? SBR22 'G? - PHRASE67>
+                   <DEAD SBR22>
+BOOL68
+                   <SUB NUM9 1 = NUM9 (TYPE FIX)>
+PHRASE67
+                   <GRTR? NUM9 2 + PHRASE70 (TYPE FIX)>
+                   <LOOP>
+AGAIN73
+                   <INTGO>
+                   <FRAME '\1aEMPTY-LIST>
+                   <PUSH K11>
+                   <GRTR? NUM9 0 + PHRASE76 (TYPE FIX)>
+                   <SET SBR22 B215>
+                   <JUMP + PHRASE85>
+PHRASE76
+                   <TYPE? F321 <TYPE-CODE FALSE> + PHRASE80>
+                   <SET SBR22 B215>
+                   <JUMP + PHRASE85>
+PHRASE80
+                   <TYPE? F220 <TYPE-CODE FALSE> - BOOL82>
+                   <TYPE? F119 <TYPE-CODE FALSE> - PHRASE81>
+BOOL82
+                   <SET SBR22 B317>
+                   <TYPE? SBR22 <TYPE-CODE FALSE> - PHRASE85>
+                   <FRAME '\1aMAKE-TAG>
+                   <CALL '\1aMAKE-TAG 0 = B317>
+                   <SET SBR22 B317>
+                   <JUMP + PHRASE85>
+PHRASE81
+                   <SET SBR22 B215>
+PHRASE85
+                   <PUSH SBR22>
+                   <DEAD SBR22>
+                   <VEQUAL? NUM9 0 + TAG87 (TYPE FIX)>
+                   <SET SBR22 'T (TYPE ATOM)>
+                   <JUMP + TAG91>
+TAG87
+                   <TYPE? F119 <TYPE-CODE FALSE> - TAG90>
+                   <SET SBR22 'T (TYPE ATOM)>
+                   <JUMP + TAG91>
+TAG90
+                   <SET SBR22 %<> (TYPE FALSE)>
+TAG91
+                   <PUSH SBR22>
+                   <DEAD SBR22>
+                   <CALL '\1aEMPTY-LIST 3>
+                   <SUB NUM9 1 = NUM9 (TYPE FIX)>
+                   <LESS? NUM9 0 - PHRASE93 (TYPE FIX)>
+                   <TYPE? B317 <TYPE-CODE FALSE> + EXIT71>
+                   <FRAME '\1aLABEL-TAG>
+                   <PUSH B317>
+                   <DEAD B317>
+                   <CALL '\1aLABEL-TAG 1>
+                   <JUMP + EXIT71>
+PHRASE93
+                   <FRAME '\1aREST-LIST>
+                   <PUSH K11>
+                   <TYPE? K11 <TYPE-CODE TEMP> - BOOL101>
+                   <NTHUV K11 2 = SBR22 (TYPE FIX)>
+                   <LESS? SBR22 2 + PHRASE100 (TYPE FIX)>
+                   <DEAD SBR22>
+BOOL101
+                   <FRAME '\1aFREE-TEMP>
+                   <PUSH K11>
+                   <DEAD K11>
+                   <PUSH %<>>
+                   <CALL '\1aFREE-TEMP 2>
+                   <FRAME '\1aGEN-TEMP>
+                   <PUSH 'LIST>
+                   <CALL '\1aGEN-TEMP 1 = K11>
+                   <SET SBR22 K11>
+                   <JUMP + PHRASE104>
+PHRASE100
+                   <SET SBR22 K11>
+PHRASE104
+                   <PUSH SBR22>
+                   <DEAD SBR22>
+                   <PUSH 1>
+                   <CALL '\1aREST-LIST 3>
+                   <JUMP + AGAIN73>
+EXIT71
+                   <FRAME '\1aFREE-TEMP>
+                   <PUSH K11>
+                   <DEAD K11>
+                   <CALL '\1aFREE-TEMP 1>
+                   <JUMP + PHRASE106>
+PHRASE70
+                   <TYPE? K11 <TYPE-CODE TEMP> - BOOL109>
+                   <NTHUV K11 2 = SBR22 (TYPE FIX)>
+                   <LESS? SBR22 2 + PHRASE108 (TYPE FIX)>
+                   <DEAD SBR22>
+BOOL109
+                   <FRAME '\1aMOVE-ARG>
+                   <PUSH K11>
+                   <DEAD K11>
+                   <FRAME '\1aGEN-TEMP>
+                   <PUSH %<>>
+                   <CALL '\1aGEN-TEMP 1 = STACK>
+                   <CALL '\1aMOVE-ARG 2 = K11>
+PHRASE108
+                   <FRAME '\1aSET-TEMP>
+                   <FRAME '\1aGEN-TEMP>
+                   <PUSH 'FIX>
+                   <CALL '\1aGEN-TEMP 1 = RAC13>
+                   <PUSH RAC13>
+                   <TYPE? F220 <TYPE-CODE FALSE> - BOOL116>
+                   <TYPE? F321 <TYPE-CODE FALSE> + PHRASE115>
+BOOL116
+                   <ADD NUM9 1 = SBR22 (TYPE FIX)>
+                   <DEAD NUM9>
+                   <JUMP + PHRASE117>
+PHRASE115
+                   <SET SBR22 NUM9>
+                   <DEAD NUM9>
+PHRASE117
+                   <PUSH SBR22>
+                   <DEAD SBR22>
+                   <PUSH (`TYPE FIX)>
+                   <CALL '\1aSET-TEMP 3>
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`LOOP>
+                   <CONS 'VALUE () = SBR22>
+                   <NTHUV K11 1 = TEMP34 (TYPE ATOM)>
+                   <CONS TEMP34 SBR22 = STACK>
+                   <DEAD TEMP34 SBR22>
+                   <CONS 'VALUE () = SBR22>
+                   <NTHUV RAC13 1 = TEMP34 (TYPE ATOM)>
+                   <CONS TEMP34 SBR22 = STACK>
+                   <DEAD TEMP34 SBR22>
+                   <CALL '\1aIEMIT 3>
+                   <FRAME '\1aLABEL-TAG>
+                   <FRAME '\1aMAKE-TAG>
+                   <CALL '\1aMAKE-TAG 0 = TEMP34>
+                   <PUSH TEMP34>
+                   <CALL '\1aLABEL-TAG 1>
+                   <FRAME '\1aEMPTY-LIST>
+                   <PUSH K11>
+                   <TYPE? F321 <TYPE-CODE FALSE> - PHRASE124>
+                   <TYPE? F220 <TYPE-CODE FALSE> - BOOL126>
+                   <TYPE? F119 <TYPE-CODE FALSE> - PHRASE124>
+BOOL126
+                   <FRAME '\1aMAKE-TAG>
+                   <CALL '\1aMAKE-TAG 0 = B317>
+                   <SET SBR22 B317>
+                   <JUMP + PHRASE129>
+PHRASE124
+                   <SET SBR22 B215>
+PHRASE129
+                   <PUSH SBR22>
+                   <DEAD SBR22>
+                   <PUSH 'T>
+                   <CALL '\1aEMPTY-LIST 3>
+                   <FRAME '\1aREST-LIST>
+                   <PUSH K11>
+                   <PUSH K11>
+                   <PUSH 1>
+                   <CALL '\1aREST-LIST 3>
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`SUB>
+                   <PUSH RAC13>
+                   <PUSH 1>
+                   <PUSH '=>
+                   <PUSH RAC13>
+                   <PUSH (`TYPE FIX)>
+                   <CALL '\1aIEMIT 6>
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`GRTR?>
+                   <PUSH RAC13>
+                   <PUSH 0>
+                   <PUSH '+>
+                   <PUSH TEMP34>
+                   <DEAD TEMP34>
+                   <PUSH (`TYPE FIX)>
+                   <CALL '\1aIEMIT 6>
+                   <TYPE? F321 <TYPE-CODE FALSE> - BOOL135>
+                   <DEAD F321>
+                   <TYPE? F220 <TYPE-CODE FALSE> + PHRASE134>
+                   <DEAD F220>
+BOOL135
+                   <TYPE? B317 <TYPE-CODE FALSE> + PHRASE138>
+                   <FRAME '\1aBRANCH-TAG>
+                   <PUSH B215>
+                   <CALL '\1aBRANCH-TAG 1>
+                   <JUMP + PHRASE138>
+PHRASE134
+                   <FRAME '\1aEMPTY-LIST>
+                   <PUSH K11>
+                   <PUSH B215>
+                   <TYPE? F119 <TYPE-CODE FALSE> - TAG140>
+                   <DEAD F119>
+                   <SET SBR22 'T (TYPE ATOM)>
+                   <JUMP + TAG141>
+TAG140
+                   <SET SBR22 %<> (TYPE FALSE)>
+TAG141
+                   <PUSH SBR22>
+                   <DEAD SBR22>
+                   <CALL '\1aEMPTY-LIST 3>
+PHRASE138
+                   <TYPE? B317 <TYPE-CODE FALSE> + PHRASE143>
+                   <FRAME '\1aLABEL-TAG>
+                   <PUSH B317>
+                   <DEAD B317>
+                   <CALL '\1aLABEL-TAG 1>
+PHRASE143
+                   <FRAME '\1aFREE-TEMP>
+                   <PUSH K11>
+                   <DEAD K11>
+                   <CALL '\1aFREE-TEMP 1>
+                   <FRAME '\1aFREE-TEMP>
+                   <PUSH RAC13>
+                   <DEAD RAC13>
+                   <CALL '\1aFREE-TEMP 1>
+PHRASE106
+                   <TYPE? BR7 <TYPE-CODE FALSE> - PHRASE148>
+                   <FRAME '\1aTRUE-FALSE>
+                   <PUSH N4>
+                   <DEAD N4>
+                   <PUSH B215>
+                   <DEAD B215>
+                   <PUSH W5>
+                   <DEAD W5>
+                   <CALL '\1aTRUE-FALSE 3 = SBR22>
+                   <RETURN SBR22>
+                   <DEAD SBR22>
+PHRASE148
+                   <VEQUAL? FLS14 0 + TAG151>
+                   <DEAD FLS14>
+                   <RETURN %<>>
+TAG151
+                   <FRAME '\1aMOVE-ARG>
+                   <FRAME '\1aREFERENCE>
+                   <PUSH SDIR16>
+                   <DEAD SDIR16>
+                   <CALL '\1aREFERENCE 1 = STACK>
+                   <PUSH W5>
+                   <DEAD W5>
+                   <CALL '\1aMOVE-ARG 2 = W5>
+                   <FRAME '\1aBRANCH-TAG>
+                   <PUSH BR7>
+                   <DEAD BR7>
+                   <CALL '\1aBRANCH-TAG 1>
+                   <FRAME '\1aLABEL-TAG>
+                   <PUSH B215>
+                   <DEAD B215>
+                   <CALL '\1aLABEL-TAG 1>
+                   <RETURN W5>
+                   <DEAD W5>
+                   <END \1aLIST-LNT-SPEC>
+#WORD *11374734625*
+<GFCN \1aLNTH-GEN ("VALUE" ANY NODE ANY) NOD4 WHERE5>
+                   <TEMP TEMP12 ITYP10 TYP11>
+                   <INTGO>
+                   <NTHUV NOD4 5 = TEMP12 (TYPE LIST)>
+                   <DEAD NOD4>
+                   <NTHL TEMP12 1 = TEMP12 (TYPE NODE)>
+                   <NTHUV TEMP12 3 = ITYP10>
+                   <FRAME '\1aSTRUCTYP>
+                   <PUSH ITYP10>
+                   <CALL '\1aSTRUCTYP 1 = TYP11>
+                   <FRAME '\1aGEN>
+                   <PUSH TEMP12>
+                   <DEAD TEMP12>
+                   <PUSH 'DONT-CARE>
+                   <CALL '\1aGEN 2 = TEMP12>
+                   <FRAME '\1aFREE-TEMP>
+                   <PUSH TEMP12>
+                   <PUSH %<>>
+                   <CALL '\1aFREE-TEMP 2>
+                   <EQUAL? WHERE5 'DONT-CARE - PHRASE17>
+                   <FRAME '\1aGEN-TEMP>
+                   <PUSH 'FIX>
+                   <CALL '\1aGEN-TEMP 1 = WHERE5>
+                   <JUMP + PHRASE19>
+PHRASE17
+                   <TYPE? WHERE5 <TYPE-CODE TEMP> - PHRASE19>
+                   <FRAME '\1aUSE-TEMP>
+                   <PUSH WHERE5>
+                   <PUSH 'FIX>
+                   <CALL '\1aUSE-TEMP 2>
+PHRASE19
+                   <EQUAL? TYP11 'LIST - PHRASE22>
+                   <FRAME '\1aLENGTH-LIST>
+                   <PUSH TEMP12>
+                   <DEAD TEMP12>
+                   <PUSH WHERE5>
+                   <CALL '\1aLENGTH-LIST 2>
+                   <RETURN WHERE5>
+                   <DEAD WHERE5>
+PHRASE22
+                   <EQUAL? TYP11 'VECTOR + BOOL25>
+                   <EQUAL? TYP11 'TUPLE - PHRASE24>
+BOOL25
+                   <FRAME '\1aLENGTH-VECTOR>
+                   <PUSH TEMP12>
+                   <DEAD TEMP12>
+                   <PUSH WHERE5>
+                   <CALL '\1aLENGTH-VECTOR 2>
+                   <RETURN WHERE5>
+                   <DEAD WHERE5>
+PHRASE24
+                   <EQUAL? TYP11 'STRING - PHRASE27>
+                   <FRAME '\1aLENGTH-STRING>
+                   <PUSH TEMP12>
+                   <DEAD TEMP12>
+                   <PUSH WHERE5>
+                   <CALL '\1aLENGTH-STRING 2>
+                   <RETURN WHERE5>
+                   <DEAD WHERE5>
+PHRASE27
+                   <EQUAL? TYP11 'BYTES - PHRASE29>
+                   <FRAME '\1aLENGTH-BYTES>
+                   <PUSH TEMP12>
+                   <DEAD TEMP12>
+                   <PUSH WHERE5>
+                   <CALL '\1aLENGTH-BYTES 2>
+                   <RETURN WHERE5>
+                   <DEAD WHERE5>
+PHRASE29
+                   <EQUAL? TYP11 'UVECTOR - PHRASE31>
+                   <FRAME '\1aLENGTH-UVECTOR>
+                   <PUSH TEMP12>
+                   <DEAD TEMP12>
+                   <PUSH WHERE5>
+                   <CALL '\1aLENGTH-UVECTOR 2>
+                   <RETURN WHERE5>
+                   <DEAD WHERE5>
+PHRASE31
+                   <EQUAL? TYP11 'TEMPLATE - PHRASE33>
+                   <FRAME '\1aLENGTH-RECORD>
+                   <PUSH TEMP12>
+                   <DEAD TEMP12>
+                   <PUSH WHERE5>
+                   <PUSH ITYP10>
+                   <DEAD ITYP10>
+                   <CALL '\1aLENGTH-RECORD 3>
+                   <RETURN WHERE5>
+                   <DEAD WHERE5>
+PHRASE33
+                   <FRAME '\1aLENGTH-RECORD>
+                   <PUSH TEMP12>
+                   <DEAD TEMP12>
+                   <PUSH WHERE5>
+                   <PUSH TYP11>
+                   <DEAD TYP11>
+                   <CALL '\1aLENGTH-RECORD 3>
+                   <RETURN WHERE5>
+                   <DEAD WHERE5>
+                   <END \1aLNTH-GEN>
+#WORD *7517407330*
+<GFCN \1aMONAD?-GEN ("VALUE" ANY ANY ANY) NOD4 WHERE5>
+                   <TEMP TEMP7>
+                   <INTGO>
+                   <FRAME '\1aMT-GEN>
+                   <PUSH NOD4>
+                   <DEAD NOD4>
+                   <PUSH WHERE5>
+                   <DEAD WHERE5>
+                   <CALL '\1aMT-GEN 2 = TEMP7>
+                   <RETURN TEMP7>
+                   <DEAD TEMP7>
+                   <END \1aMONAD?-GEN>
+#WORD *25373513110*
+                   <GFCN \1aMT-GEN ("VALUE" ANY NODE ANY "OPTIONAL" ANY <OR ATOM FALSE> ANY ANY) NOD9 WHERE10 NOTF11 BRANCH12 DIR13 SETF14>
+                   <OPT-DISPATCH 2 %<> OPT4 OPT5 OPT6 OPT7 OPT8>
+OPT4
+                   <PUSH %<>>
+OPT5
+                   <PUSH %<>>
+OPT6
+                   <PUSH %<>>
+OPT7
+                   <PUSH %<>>
+OPT8
+                   <TEMP TEMP23 STRN15 ITYP17 SDIR18 TYP19 TY20 FLS21 B2-22>
+                   <INTGO>
+                   <NTHUV NOD9 5 = TEMP23 (TYPE LIST)>
+                   <NTHL TEMP23 1 = STRN15 (TYPE NODE)>
+                   <DEAD TEMP23>
+                   <NTHUV STRN15 3 = ITYP17>
+                   <SET SDIR18 DIR13>
+                   <FRAME '\1aSTRUCTYP>
+                   <PUSH ITYP17>
+                   <CALL '\1aSTRUCTYP 1 = TYP19>
+                   <FRAME '\1aISTYPE?>
+                   <PUSH ITYP17>
+                   <CALL '\1aISTYPE? 1 = TY20>
+                   <EQUAL? WHERE10 'FLUSHED - TAG26>
+                   <SET FLS21 'T (TYPE ATOM)>
+                   <JUMP + TAG27>
+TAG26
+                   <SET FLS21 %<> (TYPE FALSE)>
+TAG27
+                   <TYPE? BRANCH12 <TYPE-CODE FALSE> + PHRASE29>
+                   <VEQUAL? FLS21 0 + PHRASE29>
+                   <SET TEMP23 BRANCH12>
+                   <JUMP + PHRASE31>
+PHRASE29
+                   <FRAME '\1aMAKE-TAG>
+                   <CALL '\1aMAKE-TAG 0 = TEMP23>
+PHRASE31
+                   <SET B2-22 TEMP23>
+                   <DEAD TEMP23>
+                   <EQUAL? WHERE10 'DONT-CARE - PHRASE34>
+                   <FRAME '\1aGEN-TEMP>
+                   <PUSH %<>>
+                   <CALL '\1aGEN-TEMP 1 = WHERE10>
+PHRASE34
+                   <TYPE? NOTF11 <TYPE-CODE FALSE> + TAG38>
+                   <DEAD NOTF11>
+                   <TYPE? DIR13 <TYPE-CODE FALSE> - TAG37>
+                   <DEAD DIR13>
+                   <SET DIR13 'T (TYPE ATOM)>
+                   <JUMP + TAG38>
+TAG37
+                   <SET DIR13 %<> (TYPE FALSE)>
+TAG38
+                   <TYPE? SETF14 <TYPE-CODE FALSE> + PHRASE40>
+                   <DEAD SETF14>
+                   <FRAME '\1aDEALLOCATE-TEMP>
+                   <FRAME '\1aMOVE-ARG>
+                   <FRAME '\1aREFERENCE>
+                   <TYPE? SDIR18 <TYPE-CODE FALSE> - TAG44>
+                   <SET TEMP23 'T (TYPE ATOM)>
+                   <JUMP + TAG45>
+TAG44
+                   <SET TEMP23 %<> (TYPE FALSE)>
+TAG45
+                   <PUSH TEMP23>
+                   <DEAD TEMP23>
+                   <CALL '\1aREFERENCE 1 = STACK>
+                   <PUSH WHERE10>
+                   <CALL '\1aMOVE-ARG 2 = STACK>
+                   <CALL '\1aDEALLOCATE-TEMP 1>
+PHRASE40
+                   <TYPE? BRANCH12 <TYPE-CODE FALSE> + PHRASE47>
+                   <VEQUAL? FLS21 0 - PHRASE47>
+                   <TYPE? DIR13 <TYPE-CODE FALSE> - TAG49>
+                   <DEAD DIR13>
+                   <SET DIR13 'T (TYPE ATOM)>
+                   <JUMP + PHRASE47>
+TAG49
+                   <SET DIR13 %<> (TYPE FALSE)>
+PHRASE47
+                   <FRAME '\1aGEN>
+                   <PUSH STRN15>
+                   <DEAD STRN15>
+                   <CALL '\1aGEN 1 = STRN15>
+                   <NTHUV NOD9 1 = TEMP23 (TYPE FIX)>
+                   <VEQUAL? TEMP23 91 - PHRASE54 (TYPE FIX)>
+                   <DEAD TEMP23>
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`MONAD?>
+                   <PUSH STRN15>
+                   <TYPE? DIR13 <TYPE-CODE FALSE> + PHRASE57>
+                   <DEAD DIR13>
+                   <SET TEMP23 '+ (TYPE ATOM)>
+                   <JUMP + PHRASE58>
+PHRASE57
+                   <SET TEMP23 '- (TYPE ATOM)>
+PHRASE58
+                   <PUSH TEMP23>
+                   <DEAD TEMP23>
+                   <PUSH B2-22>
+                   <CALL '\1aIEMIT 4>
+                   <JUMP + PHRASE75>
+PHRASE54
+                   <EQUAL? TYP19 'LIST - PHRASE59>
+                   <FRAME '\1aEMPTY-LIST>
+                   <PUSH STRN15>
+                   <PUSH B2-22>
+                   <PUSH DIR13>
+                   <DEAD DIR13>
+                   <PUSH TY20>
+                   <DEAD TY20>
+                   <CALL '\1aEMPTY-LIST 4>
+                   <JUMP + PHRASE75>
+PHRASE59
+                   <EQUAL? TYP19 'VECTOR + BOOL62>
+                   <EQUAL? TYP19 'TUPLE - PHRASE61>
+BOOL62
+                   <FRAME '\1aEMPTY-VECTOR>
+                   <PUSH STRN15>
+                   <PUSH B2-22>
+                   <PUSH DIR13>
+                   <DEAD DIR13>
+                   <PUSH TY20>
+                   <DEAD TY20>
+                   <CALL '\1aEMPTY-VECTOR 4>
+                   <JUMP + PHRASE75>
+PHRASE61
+                   <EQUAL? TYP19 'UVECTOR - PHRASE64>
+                   <FRAME '\1aEMPTY-UVECTOR>
+                   <PUSH STRN15>
+                   <PUSH B2-22>
+                   <PUSH DIR13>
+                   <DEAD DIR13>
+                   <PUSH TY20>
+                   <DEAD TY20>
+                   <CALL '\1aEMPTY-UVECTOR 4>
+                   <JUMP + PHRASE75>
+PHRASE64
+                   <EQUAL? TYP19 'STRING - PHRASE66>
+                   <FRAME '\1aEMPTY-STRING>
+                   <PUSH STRN15>
+                   <PUSH B2-22>
+                   <PUSH DIR13>
+                   <DEAD DIR13>
+                   <PUSH TY20>
+                   <DEAD TY20>
+                   <CALL '\1aEMPTY-STRING 4>
+                   <JUMP + PHRASE75>
+PHRASE66
+                   <EQUAL? TYP19 'BYTES - PHRASE68>
+                   <FRAME '\1aEMPTY-BYTES>
+                   <PUSH STRN15>
+                   <PUSH B2-22>
+                   <PUSH DIR13>
+                   <DEAD DIR13>
+                   <PUSH TY20>
+                   <DEAD TY20>
+                   <CALL '\1aEMPTY-BYTES 4>
+                   <JUMP + PHRASE75>
+PHRASE68
+                   <EQUAL? TYP19 'TEMPLATE - PHRASE70>
+                   <FRAME '\1aEMPTY-RECORD>
+                   <PUSH STRN15>
+                   <PUSH B2-22>
+                   <PUSH DIR13>
+                   <DEAD DIR13>
+                   <PUSH ITYP17>
+                   <DEAD ITYP17>
+                   <CALL '\1aEMPTY-RECORD 4>
+                   <JUMP + PHRASE75>
+PHRASE70
+                   <FRAME '\1aISTYPE?>
+                   <PUSH ITYP17>
+                   <DEAD ITYP17>
+                   <CALL '\1aISTYPE? 1 = TEMP23>
+                   <TYPE? TEMP23 <TYPE-CODE FALSE> + PHRASE72>
+                   <DEAD TEMP23>
+                   <FRAME '\1aEMPTY-RECORD>
+                   <PUSH STRN15>
+                   <PUSH B2-22>
+                   <PUSH DIR13>
+                   <DEAD DIR13>
+                   <PUSH TYP19>
+                   <DEAD TYP19>
+                   <CALL '\1aEMPTY-RECORD 4>
+                   <JUMP + PHRASE75>
+PHRASE72
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`EMPTY?>
+                   <PUSH STRN15>
+                   <TYPE? DIR13 <TYPE-CODE FALSE> + PHRASE78>
+                   <DEAD DIR13>
+                   <SET TEMP23 '+ (TYPE ATOM)>
+                   <JUMP + PHRASE79>
+PHRASE78
+                   <SET TEMP23 '- (TYPE ATOM)>
+PHRASE79
+                   <PUSH TEMP23>
+                   <DEAD TEMP23>
+                   <PUSH B2-22>
+                   <CALL '\1aIEMIT 4>
+PHRASE75
+                   <FRAME '\1aFREE-TEMP>
+                   <PUSH STRN15>
+                   <DEAD STRN15>
+                   <CALL '\1aFREE-TEMP 1>
+                   <TYPE? BRANCH12 <TYPE-CODE FALSE> - PHRASE82>
+                   <FRAME '\1aTRUE-FALSE>
+                   <PUSH NOD9>
+                   <DEAD NOD9>
+                   <PUSH B2-22>
+                   <DEAD B2-22>
+                   <PUSH WHERE10>
+                   <DEAD WHERE10>
+                   <CALL '\1aTRUE-FALSE 3 = TEMP23>
+                   <RETURN TEMP23>
+                   <DEAD TEMP23>
+PHRASE82
+                   <VEQUAL? FLS21 0 + TAG85>
+                   <DEAD FLS21>
+                   <RETURN %<>>
+TAG85
+                   <FRAME '\1aMOVE-ARG>
+                   <FRAME '\1aREFERENCE>
+                   <PUSH SDIR18>
+                   <DEAD SDIR18>
+                   <CALL '\1aREFERENCE 1 = STACK>
+                   <PUSH WHERE10>
+                   <DEAD WHERE10>
+                   <CALL '\1aMOVE-ARG 2 = WHERE10>
+                   <FRAME '\1aBRANCH-TAG>
+                   <PUSH BRANCH12>
+                   <DEAD BRANCH12>
+                   <CALL '\1aBRANCH-TAG 1>
+                   <FRAME '\1aLABEL-TAG>
+                   <PUSH B2-22>
+                   <DEAD B2-22>
+                   <CALL '\1aLABEL-TAG 1>
+                   <RETURN WHERE10>
+                   <DEAD WHERE10>
+                   <END \1aMT-GEN>
+
+#WORD *36015271720*
+                   <GFCN \1aREST-GEN ("VALUE" ANY NODE ANY) NOD4 WHERE5>
+                   <TEMP TEMP22 STRNOD6:NODE NUMNOD7:NODE TYP8 TPS9 NUMKN10 NUM11:FIX ML12:FIX TEMP3:LBIND LCAREFUL17 W18 TEMP40 RV19>
+                   <INTGO>
+                   <NTHUV NOD4 5 = TEMP22 (TYPE LIST)>
+                   <NTHL TEMP22 1 = STRNOD6 (TYPE NODE)>
+                   <DEAD TEMP22>
+                   <NTHUV NOD4 5 = TEMP22 (TYPE LIST)>
+                   <RESTL TEMP22 1 = TEMP22 (TYPE LIST)>
+                   <NTHL TEMP22 1 = NUMNOD7 (TYPE NODE)>
+                   <DEAD TEMP22>
+                   <NTHUV STRNOD6 3 = TYP8>
+                   <FRAME '\1aSTRUCTYP>
+                   <PUSH TYP8>
+                   <CALL '\1aSTRUCTYP 1 = TPS9>
+                   <NTHUV NUMNOD7 1 = TEMP22 (TYPE FIX)>
+                   <VEQUAL? TEMP22 2 - TAG24 (TYPE FIX)>
+                   <DEAD TEMP22>
+                   <SET NUMKN10 'T (TYPE ATOM)>
+                   <JUMP + TAG25>
+TAG24
+                   <SET NUMKN10 %<> (TYPE FALSE)>
+TAG25
+                   <VEQUAL? NUMKN10 0 + PHRASE27>
+                   <NTHUV NUMNOD7 4 = TEMP22>
+                   <TYPE? TEMP22 <TYPE-CODE OFFSET> - PHRASE29>
+                   <DEAD TEMP22>
+                   <NTHUV NUMNOD7 4 = TEMP22 (TYPE OFFSET)>
+                   <NTHUV TEMP22 1 = TEMP22>
+                   <JUMP + PHRASE31>
+PHRASE29
+                   <NTHUV NUMNOD7 4 = TEMP22 (TYPE FIX)>
+                   <JUMP + PHRASE31>
+PHRASE27
+                   <SET TEMP22 0 (TYPE FIX)>
+PHRASE31
+                   <SET NUM11 TEMP22>
+                   <DEAD TEMP22>
+                   <FRAME '\1aMINL>
+                   <PUSH TYP8>
+                   <CALL '\1aMINL 1 = ML12>
+                   <GEN-LVAL 'NO-KILL = TEMP22>
+                   <GETS 'BIND = TEMP3 (TYPE LBIND)>
+                   <BBIND 'NO-KILL 'LIST 'FIX TEMP22>
+                   <DEAD TEMP22>
+                   <GEN-LVAL 'CAREFUL = LCAREFUL17>
+                   <SET W18 WHERE5>
+                   <FRAME '\1aISTYPE?>
+                   <PUSH TYP8>
+                   <CALL '\1aISTYPE? 1 = TEMP40>
+                   <EQUAL? TEMP40 TPS9 + TAG38>
+                   <DEAD TEMP40>
+                   <SET TEMP22 'T (TYPE ATOM)>
+                   <JUMP + TAG42>
+TAG38
+                   <NTHUV STRNOD6 1 = TEMP40 (TYPE FIX)>
+                   <VEQUAL? TEMP40 37 - TAG41 (TYPE FIX)>
+                   <DEAD TEMP40>
+                   <SET TEMP22 'T (TYPE ATOM)>
+                   <JUMP + TAG42>
+TAG41
+                   <SET TEMP22 %<> (TYPE FALSE)>
+TAG42
+                   <FRAME '\1aGET-RANGE>
+                   <NTHUV NUMNOD7 3 = STACK>
+                   <CALL '\1aGET-RANGE 1 = TEMP40>
+                   <FRAME '\1aCOMMUTE-STRUC>
+                   <PUSH %<>>
+                   <PUSH STRNOD6>
+                   <PUSH NUMNOD7>
+                   <CALL '\1aCOMMUTE-STRUC 3 = RV19>
+                   <VEQUAL? NUMKN10 0 + PHRASE46>
+                   <DEAD NUMKN10>
+                   <LESS? NUM11 0 - PHRASE48 (TYPE FIX)>
+                   <FRAME '\1aCOMPILE-ERROR>
+                   <PUSH "Negative ">
+                   <NTHUV NOD4 4 = STACK>
+                   <PUSH NOD4>
+                   <DEAD NOD4>
+                   <CALL '\1aCOMPILE-ERROR 3>
+                   <JUMP + PHRASE100>
+PHRASE48
+                   <VEQUAL? NUM11 0 - PHRASE52 (TYPE FIX)>
+                   <EQUAL? WHERE5 'DONT-CARE - PHRASE56>
+                   <FRAME '\1aGEN-TEMP>
+                   <CALL '\1aGEN-TEMP 0 = W18>
+                   <SET WHERE5 W18>
+                   <JUMP + PHRASE62>
+PHRASE56
+                   <TYPE? WHERE5 <TYPE-CODE TEMP> - PHRASE58>
+                   <FRAME '\1aUSE-TEMP>
+                   <PUSH WHERE5>
+                   <VEQUAL? TEMP22 0 + PHRASE61>
+                   <SET TEMP40 'ANY (TYPE ATOM)>
+                   <JUMP + COND60>
+PHRASE61
+                   <SET TEMP40 TYP8>
+                   <DEAD TYP8>
+COND60
+                   <PUSH TEMP40>
+                   <DEAD TEMP40>
+                   <CALL '\1aUSE-TEMP 2>
+                   <JUMP + PHRASE62>
+PHRASE58
+                   <GVAL 'POP-STACK = TEMP40>
+                   <EQUAL? TEMP40 WHERE5 - PHRASE62>
+                   <DEAD TEMP40>
+                   <VEQUAL? TEMP22 0 + PHRASE62>
+                   <FRAME '\1aGEN-TEMP>
+                   <PUSH 'ANY>
+                   <CALL '\1aGEN-TEMP 1 = W18>
+PHRASE62
+                   <FRAME '\1aGEN>
+                   <PUSH STRNOD6>
+                   <DEAD STRNOD6>
+                   <PUSH W18>
+                   <CALL '\1aGEN 2>
+                   <JUMP + PHRASE100>
+PHRASE52
+                   <EQUAL? TPS9 'LIST - PHRASE66>
+                   <TYPE? LCAREFUL17 <TYPE-CODE FALSE> + BOOL69>
+                   <GRTR? NUM11 ML12 + BOOL68 (TYPE FIX)>
+BOOL69
+                   <GRTR? NUM11 4 + PHRASE66 (TYPE FIX)>
+BOOL68
+                   <EQUAL? WHERE5 'DONT-CARE - PHRASE71>
+                   <FRAME '\1aGEN-TEMP>
+                   <PUSH %<>>
+                   <CALL '\1aGEN-TEMP 1 = W18>
+                   <SET WHERE5 W18>
+                   <JUMP + PHRASE73>
+PHRASE71
+                   <TYPE? WHERE5 <TYPE-CODE TEMP> + PHRASE73>
+                   <GVAL 'POP-STACK = TEMP40>
+                   <EQUAL? TEMP40 WHERE5 - PHRASE73>
+                   <DEAD TEMP40>
+                   <VEQUAL? TEMP22 0 + PHRASE73>
+                   <FRAME '\1aGEN-TEMP>
+                   <PUSH %<>>
+                   <CALL '\1aGEN-TEMP 1 = W18>
+PHRASE73
+                   <FRAME '\1aEXPANDED-LIST-REST>
+                   <FRAME '\1aGEN>
+                   <PUSH STRNOD6>
+                   <DEAD STRNOD6>
+                   <CALL '\1aGEN 1 = STACK>
+                   <PUSH NUM11>
+                   <DEAD NUM11>
+                   <PUSH ML12>
+                   <DEAD ML12>
+                   <PUSH LCAREFUL17>
+                   <DEAD LCAREFUL17>
+                   <PUSH W18>
+                   <DEAD W18>
+                   <CALL '\1aEXPANDED-LIST-REST 5 = W18>
+                   <JUMP + PHRASE100>
+PHRASE66
+                   <TYPE? TPS9 <TYPE-CODE FALSE> + PHRASE78>
+                   <FRAME '\1aGEN>
+                   <PUSH STRNOD6>
+                   <DEAD STRNOD6>
+                   <CALL '\1aGEN 1 = NUMKN10>
+                   <TYPE? LCAREFUL17 <TYPE-CODE FALSE> + PHRASE81>
+                   <DEAD LCAREFUL17>
+                   <GRTR? NUM11 ML12 - PHRASE81 (TYPE FIX)>
+                   <DEAD ML12>
+                   <FRAME '\1aLENGTH-CHECK>
+                   <PUSH TPS9>
+                   <PUSH NUMKN10>
+                   <PUSH NUM11>
+                   <FRAME '\1aRECTYPE?>
+                   <PUSH TYP8>
+                   <CALL '\1aRECTYPE? 1 = STACK>
+                   <CALL '\1aLENGTH-CHECK 4>
+PHRASE81
+                   <FRAME '\1aFREE-TEMP>
+                   <PUSH NUMKN10>
+                   <PUSH %<>>
+                   <CALL '\1aFREE-TEMP 2>
+                   <EQUAL? WHERE5 'DONT-CARE - PHRASE87>
+                   <FRAME '\1aGEN-TEMP>
+                   <VEQUAL? TEMP22 0 + PHRASE90>
+                   <SET TEMP40 'ANY (TYPE ATOM)>
+                   <JUMP + COND89>
+PHRASE90
+                   <SET TEMP40 TYP8>
+COND89
+                   <PUSH TEMP40>
+                   <DEAD TEMP40>
+                   <CALL '\1aGEN-TEMP 1 = W18>
+                   <SET WHERE5 W18>
+                   <JUMP + PHRASE95>
+PHRASE87
+                   <TYPE? WHERE5 <TYPE-CODE TEMP> - PHRASE91>
+                   <FRAME '\1aUSE-TEMP>
+                   <PUSH WHERE5>
+                   <VEQUAL? TEMP22 0 + PHRASE94>
+                   <SET TEMP40 'ANY (TYPE ATOM)>
+                   <JUMP + COND93>
+PHRASE94
+                   <SET TEMP40 TYP8>
+COND93
+                   <PUSH TEMP40>
+                   <DEAD TEMP40>
+                   <CALL '\1aUSE-TEMP 2>
+                   <JUMP + PHRASE95>
+PHRASE91
+                   <GVAL 'POP-STACK = TEMP40>
+                   <EQUAL? TEMP40 WHERE5 - PHRASE95>
+                   <DEAD TEMP40>
+                   <VEQUAL? TEMP22 0 + PHRASE95>
+                   <FRAME '\1aGEN-TEMP>
+                   <CALL '\1aGEN-TEMP 0 = W18>
+PHRASE95
+                   <FRAME '\1aREST-DO>
+                   <PUSH TPS9>
+                   <PUSH NUMKN10>
+                   <DEAD NUMKN10>
+                   <PUSH W18>
+                   <PUSH NUM11>
+                   <DEAD NUM11>
+                   <FRAME '\1aRECTYPE?>
+                   <PUSH TYP8>
+                   <DEAD TYP8>
+                   <CALL '\1aRECTYPE? 1 = STACK>
+                   <CALL '\1aREST-DO 5>
+                   <JUMP + PHRASE100>
+PHRASE78
+                   <FRAME '\1aGEN>
+                   <PUSH STRNOD6>
+                   <DEAD STRNOD6>
+                   <CALL '\1aGEN 1 = NUMKN10>
+                   <FRAME '\1aFREE-TEMP>
+                   <PUSH NUMKN10>
+                   <PUSH %<>>
+                   <CALL '\1aFREE-TEMP 2>
+                   <EQUAL? WHERE5 'DONT-CARE - PHRASE104>
+                   <FRAME '\1aGEN-TEMP>
+                   <CALL '\1aGEN-TEMP 0 = W18>
+                   <SET WHERE5 W18>
+                   <JUMP + PHRASE106>
+PHRASE104
+                   <TYPE? WHERE5 <TYPE-CODE TEMP> - PHRASE106>
+                   <FRAME '\1aUSE-TEMP>
+                   <PUSH WHERE5>
+                   <CALL '\1aUSE-TEMP 1>
+PHRASE106
+                   <SET TEMP22 %<> (TYPE FALSE)>
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`REST1>
+                   <PUSH NUMKN10>
+                   <DEAD NUMKN10>
+                   <PUSH '=>
+                   <PUSH W18>
+                   <CALL '\1aIEMIT 4>
+PHRASE100
+                   <VEQUAL? TEMP22 0 + PHRASE110>
+                   <DEAD TEMP22>
+                   <FRAME '\1aGEN-CHTYPE>
+                   <PUSH W18>
+                   <DEAD W18>
+                   <PUSH TPS9>
+                   <DEAD TPS9>
+                   <PUSH WHERE5>
+                   <CALL '\1aGEN-CHTYPE 3>
+PHRASE110
+                   <SET TEMP40 WHERE5>
+                   <DEAD WHERE5>
+                   <JUMP + PHRASE112>
+PHRASE46
+                   <TYPE? RV19 <TYPE-CODE FALSE> + PHRASE114>
+                   <DEAD RV19>
+                   <FRAME '\1aGEN>
+                   <PUSH NUMNOD7>
+                   <DEAD NUMNOD7>
+                   <PUSH 'DONT-CARE>
+                   <CALL '\1aGEN 2 = RV19>
+                   <FRAME '\1aINTERF-CHANGE>
+                   <PUSH RV19>
+                   <DEAD RV19>
+                   <PUSH STRNOD6>
+                   <CALL '\1aINTERF-CHANGE 2 = RV19>
+                   <FRAME '\1aGEN>
+                   <PUSH STRNOD6>
+                   <DEAD STRNOD6>
+                   <PUSH 'DONT-CARE>
+                   <CALL '\1aGEN 2 = NUMKN10>
+                   <JUMP + PHRASE118>
+PHRASE114
+                   <FRAME '\1aGEN>
+                   <PUSH STRNOD6>
+                   <DEAD STRNOD6>
+                   <PUSH 'DONT-CARE>
+                   <CALL '\1aGEN 2 = NUMKN10>
+                   <FRAME '\1aINTERF-CHANGE>
+                   <PUSH NUMKN10>
+                   <DEAD NUMKN10>
+                   <PUSH NUMNOD7>
+                   <CALL '\1aINTERF-CHANGE 2 = NUMKN10>
+                   <FRAME '\1aGEN>
+                   <PUSH NUMNOD7>
+                   <DEAD NUMNOD7>
+                   <PUSH 'DONT-CARE>
+                   <CALL '\1aGEN 2 = RV19>
+PHRASE118
+                   <TYPE? LCAREFUL17 <TYPE-CODE FALSE> + PHRASE123>
+                   <TYPE? TEMP40 <TYPE-CODE FALSE> + BOOL125>
+                   <NTHL TEMP40 1 = TEMP40 (TYPE FIX)>
+                   <LESS? TEMP40 0 - PHRASE123 (TYPE FIX)>
+                   <DEAD TEMP40>
+BOOL125
+                   <EQUAL? TPS9 'LIST + PHRASE123>
+                   <FRAME '\1aLENGTH-CHECK>
+                   <PUSH TPS9>
+                   <PUSH NUMKN10>
+                   <PUSH RV19>
+                   <FRAME '\1aRECTYPE?>
+                   <PUSH TYP8>
+                   <CALL '\1aRECTYPE? 1 = STACK>
+                   <CALL '\1aLENGTH-CHECK 4>
+PHRASE123
+                   <EQUAL? TPS9 'LIST + PHRASE132>
+                   <FRAME '\1aFREE-TEMP>
+                   <PUSH NUMKN10>
+                   <PUSH %<>>
+                   <CALL '\1aFREE-TEMP 2>
+                   <FRAME '\1aFREE-TEMP>
+                   <PUSH RV19>
+                   <PUSH %<>>
+                   <CALL '\1aFREE-TEMP 2>
+PHRASE132
+                   <EQUAL? TPS9 'LIST - PHRASE136>
+                   <GVAL 'POP-STACK = TEMP40>
+                   <EQUAL? TEMP40 WHERE5 - PHRASE138>
+                   <DEAD TEMP40>
+                   <VEQUAL? TEMP22 0 + PHRASE138>
+                   <FRAME '\1aGEN-TEMP>
+                   <CALL '\1aGEN-TEMP 0 = W18>
+PHRASE138
+                   <FRAME '\1aEXPANDED-LIST-REST>
+                   <PUSH NUMKN10>
+                   <DEAD NUMKN10>
+                   <PUSH RV19>
+                   <DEAD RV19>
+                   <PUSH ML12>
+                   <DEAD ML12>
+                   <PUSH LCAREFUL17>
+                   <DEAD LCAREFUL17>
+                   <PUSH W18>
+                   <DEAD W18>
+                   <CALL '\1aEXPANDED-LIST-REST 5 = W18>
+                   <VEQUAL? TEMP22 0 + BOOL144>
+                   <EQUAL? WHERE5 'DONT-CARE - PHRASE145>
+BOOL144
+                   <SET WHERE5 W18>
+                   <JUMP + PHRASE145>
+PHRASE136
+                   <EQUAL? WHERE5 'DONT-CARE - PHRASE147>
+                   <FRAME '\1aGEN-TEMP>
+                   <VEQUAL? TEMP22 0 + PHRASE150>
+                   <SET TEMP40 'ANY (TYPE ATOM)>
+                   <JUMP + COND149>
+PHRASE150
+                   <SET TEMP40 TYP8>
+COND149
+                   <PUSH TEMP40>
+                   <DEAD TEMP40>
+                   <CALL '\1aGEN-TEMP 1 = W18>
+                   <SET WHERE5 W18>
+                   <JUMP + PHRASE155>
+PHRASE147
+                   <TYPE? WHERE5 <TYPE-CODE TEMP> - PHRASE151>
+                   <FRAME '\1aUSE-TEMP>
+                   <PUSH WHERE5>
+                   <VEQUAL? TEMP22 0 + PHRASE154>
+                   <SET TEMP40 'ANY (TYPE ATOM)>
+                   <JUMP + COND153>
+PHRASE154
+                   <SET TEMP40 TYP8>
+COND153
+                   <PUSH TEMP40>
+                   <DEAD TEMP40>
+                   <CALL '\1aUSE-TEMP 2>
+                   <JUMP + PHRASE155>
+PHRASE151
+                   <GVAL 'POP-STACK = TEMP40>
+                   <EQUAL? TEMP40 WHERE5 - PHRASE155>
+                   <DEAD TEMP40>
+                   <VEQUAL? TEMP22 0 + PHRASE155>
+                   <FRAME '\1aGEN-TEMP>
+                   <CALL '\1aGEN-TEMP 0 = W18>
+PHRASE155
+                   <FRAME '\1aREST-DO>
+                   <PUSH TPS9>
+                   <PUSH NUMKN10>
+                   <DEAD NUMKN10>
+                   <PUSH W18>
+                   <PUSH RV19>
+                   <DEAD RV19>
+                   <FRAME '\1aRECTYPE?>
+                   <PUSH TYP8>
+                   <DEAD TYP8>
+                   <CALL '\1aRECTYPE? 1 = STACK>
+                   <CALL '\1aREST-DO 5>
+PHRASE145
+                   <VEQUAL? TEMP22 0 + PHRASE161>
+                   <DEAD TEMP22>
+                   <FRAME '\1aGEN-CHTYPE>
+                   <PUSH W18>
+                   <DEAD W18>
+                   <PUSH TPS9>
+                   <DEAD TPS9>
+                   <PUSH WHERE5>
+                   <CALL '\1aGEN-CHTYPE 3>
+PHRASE161
+                   <SET TEMP40 WHERE5>
+                   <DEAD WHERE5>
+PHRASE112
+                   <UNBIND TEMP3>
+                   <DEAD TEMP3>
+                   <ADJ -9>
+                   <RETURN TEMP40>
+                   <DEAD TEMP40>
+                   <END \1aREST-GEN>
+
+#WORD *33150202057*
+<GFCN \1aREST-DO ("VALUE" ANY ANY ANY ANY ANY "OPTIONAL" ANY) TPS6 STR7 WHERE8 NUM9 TYP10>
+                   <OPT-DISPATCH 4 %<> OPT4 OPT5>
+OPT4
+                   <PUSH 'ANY>
+OPT5
+                   <TEMP TEMP15>
+                   <INTGO>
+                   <EQUAL? TPS6 'VECTOR + BOOL13>
+                   <EQUAL? TPS6 'TUPLE - PHRASE12>
+BOOL13
+                   <FRAME '\1aREST-VECTOR>
+                   <PUSH STR7>
+                   <DEAD STR7>
+                   <PUSH WHERE8>
+                   <DEAD WHERE8>
+                   <PUSH NUM9>
+                   <DEAD NUM9>
+                   <PUSH TPS6>
+                   <DEAD TPS6>
+                   <CALL '\1aREST-VECTOR 4 = TEMP15>
+                   <RETURN TEMP15>
+                   <DEAD TEMP15>
+PHRASE12
+                   <EQUAL? TPS6 'UVECTOR - PHRASE16>
+                   <FRAME '\1aREST-UVECTOR>
+                   <PUSH STR7>
+                   <DEAD STR7>
+                   <PUSH WHERE8>
+                   <DEAD WHERE8>
+                   <PUSH NUM9>
+                   <DEAD NUM9>
+                   <CALL '\1aREST-UVECTOR 3 = TEMP15>
+                   <RETURN TEMP15>
+                   <DEAD TEMP15>
+PHRASE16
+                   <EQUAL? TPS6 'STRING - PHRASE18>
+                   <FRAME '\1aREST-STRING>
+                   <PUSH STR7>
+                   <DEAD STR7>
+                   <PUSH WHERE8>
+                   <DEAD WHERE8>
+                   <PUSH NUM9>
+                   <DEAD NUM9>
+                   <CALL '\1aREST-STRING 3 = TEMP15>
+                   <RETURN TEMP15>
+                   <DEAD TEMP15>
+PHRASE18
+                   <EQUAL? TPS6 'BYTES - PHRASE20>
+                   <FRAME '\1aREST-BYTES>
+                   <PUSH STR7>
+                   <DEAD STR7>
+                   <PUSH WHERE8>
+                   <DEAD WHERE8>
+                   <PUSH NUM9>
+                   <DEAD NUM9>
+                   <CALL '\1aREST-BYTES 3 = TEMP15>
+                   <RETURN TEMP15>
+                   <DEAD TEMP15>
+PHRASE20
+                   <EQUAL? TPS6 'LIST - PHRASE22>
+                   <FRAME '\1aREST-LIST>
+                   <PUSH STR7>
+                   <DEAD STR7>
+                   <PUSH WHERE8>
+                   <DEAD WHERE8>
+                   <PUSH NUM9>
+                   <DEAD NUM9>
+                   <CALL '\1aREST-LIST 3 = TEMP15>
+                   <RETURN TEMP15>
+                   <DEAD TEMP15>
+PHRASE22
+                   <EQUAL? TPS6 'TEMPLATE - PHRASE24>
+                   <FRAME '\1aREST-RECORD>
+                   <PUSH STR7>
+                   <DEAD STR7>
+                   <PUSH WHERE8>
+                   <DEAD WHERE8>
+                   <PUSH NUM9>
+                   <DEAD NUM9>
+                   <PUSH TYP10>
+                   <DEAD TYP10>
+                   <CALL '\1aREST-RECORD 4 = TEMP15>
+                   <RETURN TEMP15>
+                   <DEAD TEMP15>
+PHRASE24
+                   <FRAME '\1aREST-RECORD>
+                   <PUSH STR7>
+                   <DEAD STR7>
+                   <PUSH WHERE8>
+                   <DEAD WHERE8>
+                   <PUSH NUM9>
+                   <DEAD NUM9>
+                   <PUSH TPS6>
+                   <DEAD TPS6>
+                   <CALL '\1aREST-RECORD 4 = TEMP15>
+                   <RETURN TEMP15>
+                   <DEAD TEMP15>
+                   <END \1aREST-DO>
+#WORD *17512303541*
+<GFCN \1aNTH-GEN ("VALUE" ANY NODE ANY) NOD4 WHERE5>
+                   <TEMP (K6 %<>) TEMP24 TYP8 TPS9 2ARG10:NODE NUMKN12 NUM13 NR14 LCAREFUL20 ML21:FIX RESTYP23>
+                   <INTGO>
+                   <NTHUV NOD4 5 = K6 (TYPE LIST)>
+                   <NTHL K6 1 = TEMP24 (TYPE NODE)>
+                   <NTHUV TEMP24 3 = TYP8>
+                   <DEAD TEMP24>
+                   <FRAME '\1aSTRUCTYP>
+                   <PUSH TYP8>
+                   <CALL '\1aSTRUCTYP 1 = TPS9>
+                   <RESTL K6 1 = TEMP24 (TYPE LIST)>
+                   <NTHL TEMP24 1 = 2ARG10 (TYPE NODE)>
+                   <DEAD TEMP24>
+                   <NTHUV 2ARG10 1 = TEMP24 (TYPE FIX)>
+                   <VEQUAL? TEMP24 2 - TAG26 (TYPE FIX)>
+                   <DEAD TEMP24>
+                   <SET NUMKN12 'T (TYPE ATOM)>
+                   <JUMP + TAG27>
+TAG26
+                   <SET NUMKN12 %<> (TYPE FALSE)>
+TAG27
+                   <VEQUAL? NUMKN12 0 + PHRASE29>
+                   <NTHUV 2ARG10 4 = TEMP24>
+                   <TYPE? TEMP24 <TYPE-CODE OFFSET> - PHRASE31>
+                   <DEAD TEMP24>
+                   <NTHUV 2ARG10 4 = TEMP24 (TYPE OFFSET)>
+                   <NTHUV TEMP24 1 = TEMP24>
+                   <JUMP + PHRASE33>
+PHRASE31
+                   <NTHUV 2ARG10 4 = TEMP24 (TYPE FIX)>
+                   <JUMP + PHRASE33>
+PHRASE29
+                   <SET TEMP24 1 (TYPE FIX)>
+PHRASE33
+                   <SET NUM13 TEMP24>
+                   <DEAD TEMP24>
+                   <FRAME '\1aGET-RANGE>
+                   <NTHUV 2ARG10 3 = STACK>
+                   <CALL '\1aGET-RANGE 1 = NR14>
+                   <NTHL K6 1 = K6 (TYPE NODE)>
+                   <GEN-LVAL 'CAREFUL = LCAREFUL20>
+                   <FRAME '\1aMINL>
+                   <PUSH TYP8>
+                   <CALL '\1aMINL 1 = ML21>
+                   <NTHUV NOD4 4 = TEMP24>
+                   <EQUAL? TEMP24 'INTH - TAG38>
+                   <DEAD TEMP24>
+                   <SET TEMP24 'T (TYPE ATOM)>
+                   <JUMP + TAG39>
+TAG38
+                   <SET TEMP24 %<> (TYPE FALSE)>
+TAG39
+                   <FRAME '\1aISTYPE?>
+                   <NTHUV NOD4 3 = STACK>
+                   <CALL '\1aISTYPE? 1 = RESTYP23>
+                   <VEQUAL? NUMKN12 0 + PHRASE42>
+                   <PUTUV 2ARG10 4 NUM13>
+PHRASE42
+                   <VEQUAL? NUMKN12 0 + PHRASE44>
+                   <DEAD NUMKN12>
+                   <GRTR? NUM13 0 + PHRASE46 (TYPE FIX)>
+                   <FRAME '\1aCOMPILE-ERROR>
+                   <PUSH "Negative or 0 ">
+                   <NTHUV NOD4 4 = STACK>
+                   <PUSH NOD4>
+                   <DEAD NOD4>
+                   <CALL '\1aCOMPILE-ERROR 3>
+                   <RETURN WHERE5>
+                   <DEAD WHERE5>
+PHRASE46
+                   <VEQUAL? NUM13 1 - PHRASE50 (TYPE FIX)>
+                   <FRAME '\1aGEN>
+                   <PUSH K6>
+                   <DEAD K6>
+                   <CALL '\1aGEN 1 = NUMKN12>
+                   <TYPE? TPS9 <TYPE-CODE FALSE> + PHRASE55>
+                   <TYPE? LCAREFUL20 <TYPE-CODE FALSE> + PHRASE55>
+                   <DEAD LCAREFUL20>
+                   <VEQUAL? ML21 0 - PHRASE55 (TYPE FIX)>
+                   <DEAD ML21>
+                   <FRAME '\1aEMPTY-CHECK>
+                   <PUSH TPS9>
+                   <PUSH NUMKN12>
+                   <FRAME '\1aRECTYPE?>
+                   <PUSH TYP8>
+                   <CALL '\1aRECTYPE? 1 = STACK>
+                   <CALL '\1aEMPTY-CHECK 3>
+PHRASE55
+                   <FRAME '\1aFREE-TEMP>
+                   <PUSH NUMKN12>
+                   <PUSH %<>>
+                   <CALL '\1aFREE-TEMP 2>
+                   <EQUAL? WHERE5 'DONT-CARE - PHRASE63>
+                   <FRAME '\1aGEN-TEMP>
+                   <NTHUV NOD4 3 = STACK>
+                   <DEAD NOD4>
+                   <CALL '\1aGEN-TEMP 1 = WHERE5>
+                   <JUMP + PHRASE65>
+PHRASE63
+                   <TYPE? WHERE5 <TYPE-CODE TEMP> - PHRASE65>
+                   <FRAME '\1aUSE-TEMP>
+                   <PUSH WHERE5>
+                   <NTHUV NOD4 3 = STACK>
+                   <DEAD NOD4>
+                   <CALL '\1aUSE-TEMP 2>
+PHRASE65
+                   <TYPE? TPS9 <TYPE-CODE FALSE> + PHRASE68>
+                   <FRAME '\1aNTH-DO>
+                   <PUSH TPS9>
+                   <DEAD TPS9>
+                   <PUSH NUMKN12>
+                   <DEAD NUMKN12>
+                   <PUSH WHERE5>
+                   <PUSH 1>
+                   <FRAME '\1aRECTYPE?>
+                   <PUSH TYP8>
+                   <DEAD TYP8>
+                   <CALL '\1aRECTYPE? 1 = STACK>
+                   <PUSH RESTYP23>
+                   <DEAD RESTYP23>
+                   <CALL '\1aNTH-DO 6>
+                   <RETURN WHERE5>
+                   <DEAD WHERE5>
+PHRASE68
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`NTH1>
+                   <PUSH NUMKN12>
+                   <DEAD NUMKN12>
+                   <PUSH '=>
+                   <PUSH WHERE5>
+                   <CALL '\1aIEMIT 4>
+                   <RETURN WHERE5>
+                   <DEAD WHERE5>
+PHRASE50
+                   <EQUAL? TPS9 'LIST - PHRASE73>
+                   <TYPE? LCAREFUL20 <TYPE-CODE FALSE> + BOOL76>
+                   <GRTR? NUM13 ML21 + BOOL75 (TYPE FIX)>
+BOOL76
+                   <GRTR? NUM13 4 + PHRASE73 (TYPE FIX)>
+BOOL75
+                   <FRAME '\1aEXPANDED-LIST-REST>
+                   <FRAME '\1aGEN>
+                   <PUSH K6>
+                   <DEAD K6>
+                   <CALL '\1aGEN 1 = STACK>
+                   <PUSH NUM13>
+                   <DEAD NUM13>
+                   <PUSH ML21>
+                   <DEAD ML21>
+                   <PUSH LCAREFUL20>
+                   <DEAD LCAREFUL20>
+                   <CALL '\1aEXPANDED-LIST-REST 4 = NUMKN12>
+                   <FRAME '\1aFREE-TEMP>
+                   <PUSH NUMKN12>
+                   <PUSH %<>>
+                   <CALL '\1aFREE-TEMP 2>
+                   <EQUAL? WHERE5 'DONT-CARE - PHRASE81>
+                   <FRAME '\1aGEN-TEMP>
+                   <NTHUV NOD4 3 = STACK>
+                   <DEAD NOD4>
+                   <CALL '\1aGEN-TEMP 1 = WHERE5>
+                   <JUMP + PHRASE83>
+PHRASE81
+                   <TYPE? WHERE5 <TYPE-CODE TEMP> - PHRASE83>
+                   <FRAME '\1aUSE-TEMP>
+                   <PUSH WHERE5>
+                   <NTHUV NOD4 3 = STACK>
+                   <DEAD NOD4>
+                   <CALL '\1aUSE-TEMP 2>
+PHRASE83
+                   <FRAME '\1aNTH-DO>
+                   <PUSH 'LIST>
+                   <PUSH NUMKN12>
+                   <DEAD NUMKN12>
+                   <PUSH WHERE5>
+                   <PUSH 1>
+                   <PUSH 'LIST>
+                   <PUSH RESTYP23>
+                   <DEAD RESTYP23>
+                   <CALL '\1aNTH-DO 6>
+                   <RETURN WHERE5>
+                   <DEAD WHERE5>
+PHRASE73
+                   <FRAME '\1aGEN>
+                   <PUSH K6>
+                   <DEAD K6>
+                   <PUSH 'DONT-CARE>
+                   <CALL '\1aGEN 2 = NUMKN12>
+                   <TYPE? LCAREFUL20 <TYPE-CODE FALSE> + PHRASE89>
+                   <DEAD LCAREFUL20>
+                   <GRTR? NUM13 ML21 - PHRASE89 (TYPE FIX)>
+                   <DEAD ML21>
+                   <FRAME '\1aLENGTH-CHECK>
+                   <PUSH TPS9>
+                   <PUSH NUMKN12>
+                   <PUSH NUM13>
+                   <FRAME '\1aRECTYPE?>
+                   <PUSH TYP8>
+                   <CALL '\1aRECTYPE? 1 = STACK>
+                   <CALL '\1aLENGTH-CHECK 4>
+PHRASE89
+                   <FRAME '\1aFREE-TEMP>
+                   <PUSH NUMKN12>
+                   <PUSH %<>>
+                   <CALL '\1aFREE-TEMP 2>
+                   <EQUAL? WHERE5 'DONT-CARE - PHRASE95>
+                   <FRAME '\1aGEN-TEMP>
+                   <NTHUV NOD4 3 = STACK>
+                   <DEAD NOD4>
+                   <CALL '\1aGEN-TEMP 1 = WHERE5>
+                   <JUMP + PHRASE97>
+PHRASE95
+                   <TYPE? WHERE5 <TYPE-CODE TEMP> - PHRASE97>
+                   <FRAME '\1aUSE-TEMP>
+                   <PUSH WHERE5>
+                   <NTHUV NOD4 3 = STACK>
+                   <DEAD NOD4>
+                   <CALL '\1aUSE-TEMP 2>
+PHRASE97
+                   <FRAME '\1aNTH-DO>
+                   <PUSH TPS9>
+                   <DEAD TPS9>
+                   <PUSH NUMKN12>
+                   <DEAD NUMKN12>
+                   <PUSH WHERE5>
+                   <PUSH NUM13>
+                   <DEAD NUM13>
+                   <FRAME '\1aRECTYPE?>
+                   <PUSH TYP8>
+                   <DEAD TYP8>
+                   <CALL '\1aRECTYPE? 1 = STACK>
+                   <PUSH RESTYP23>
+                   <DEAD RESTYP23>
+                   <CALL '\1aNTH-DO 6>
+                   <RETURN WHERE5>
+                   <DEAD WHERE5>
+PHRASE44
+                   <VEQUAL? TEMP24 0 + PHRASE103>
+                   <DEAD TEMP24>
+                   <FRAME '\1aGEN>
+                   <PUSH 2ARG10>
+                   <DEAD 2ARG10>
+                   <PUSH 'DONT-CARE>
+                   <CALL '\1aGEN 2 = NUM13>
+                   <FRAME '\1aINTERF-CHANGE>
+                   <PUSH NUM13>
+                   <DEAD NUM13>
+                   <PUSH K6>
+                   <CALL '\1aINTERF-CHANGE 2 = NUM13>
+                   <FRAME '\1aGEN>
+                   <PUSH K6>
+                   <DEAD K6>
+                   <PUSH 'DONT-CARE>
+                   <CALL '\1aGEN 2 = NUMKN12>
+                   <JUMP + PHRASE107>
+PHRASE103
+                   <FRAME '\1aGEN>
+                   <PUSH K6>
+                   <DEAD K6>
+                   <PUSH 'DONT-CARE>
+                   <CALL '\1aGEN 2 = NUMKN12>
+                   <FRAME '\1aINTERF-CHANGE>
+                   <PUSH NUMKN12>
+                   <DEAD NUMKN12>
+                   <PUSH 2ARG10>
+                   <CALL '\1aINTERF-CHANGE 2 = NUMKN12>
+                   <FRAME '\1aGEN>
+                   <PUSH 2ARG10>
+                   <DEAD 2ARG10>
+                   <PUSH 'DONT-CARE>
+                   <CALL '\1aGEN 2 = NUM13>
+PHRASE107
+                   <TYPE? LCAREFUL20 <TYPE-CODE FALSE> + PHRASE112>
+                   <TYPE? NR14 <TYPE-CODE FALSE> + BOOL114>
+                   <NTHL NR14 1 = TEMP24>
+                   <DEAD NR14>
+                   <GRTR? TEMP24 0 + PHRASE112>
+                   <DEAD TEMP24>
+BOOL114
+                   <EQUAL? TPS9 'LIST + PHRASE112>
+                   <FRAME '\1aLENGTH-CHECK>
+                   <PUSH TPS9>
+                   <PUSH NUMKN12>
+                   <PUSH NUM13>
+                   <FRAME '\1aRECTYPE?>
+                   <PUSH TYP8>
+                   <CALL '\1aRECTYPE? 1 = STACK>
+                   <CALL '\1aLENGTH-CHECK 4>
+PHRASE112
+                   <EQUAL? WHERE5 'DONT-CARE - PHRASE120>
+                   <FRAME '\1aGEN-TEMP>
+                   <NTHUV NOD4 3 = STACK>
+                   <DEAD NOD4>
+                   <CALL '\1aGEN-TEMP 1 = WHERE5>
+                   <JUMP + PHRASE122>
+PHRASE120
+                   <TYPE? WHERE5 <TYPE-CODE TEMP> - PHRASE122>
+                   <FRAME '\1aUSE-TEMP>
+                   <PUSH WHERE5>
+                   <NTHUV NOD4 3 = STACK>
+                   <DEAD NOD4>
+                   <CALL '\1aUSE-TEMP 2>
+PHRASE122
+                   <EQUAL? TPS9 'LIST - PHRASE125>
+                   <FRAME '\1aEXPANDED-LIST-REST>
+                   <PUSH NUMKN12>
+                   <DEAD NUMKN12>
+                   <PUSH NUM13>
+                   <DEAD NUM13>
+                   <PUSH ML21>
+                   <DEAD ML21>
+                   <PUSH LCAREFUL20>
+                   <DEAD LCAREFUL20>
+                   <CALL '\1aEXPANDED-LIST-REST 4 = NUMKN12>
+                   <FRAME '\1aNTH-DO>
+                   <PUSH 'LIST>
+                   <PUSH NUMKN12>
+                   <PUSH WHERE5>
+                   <PUSH 1>
+                   <PUSH 'LIST>
+                   <PUSH RESTYP23>
+                   <DEAD RESTYP23>
+                   <CALL '\1aNTH-DO 6>
+                   <FRAME '\1aFREE-TEMP>
+                   <PUSH NUMKN12>
+                   <DEAD NUMKN12>
+                   <PUSH %<>>
+                   <CALL '\1aFREE-TEMP 2>
+                   <RETURN WHERE5>
+                   <DEAD WHERE5>
+PHRASE125
+                   <FRAME '\1aNTH-DO>
+                   <PUSH TPS9>
+                   <DEAD TPS9>
+                   <PUSH NUMKN12>
+                   <PUSH WHERE5>
+                   <PUSH NUM13>
+                   <FRAME '\1aRECTYPE?>
+                   <PUSH TYP8>
+                   <DEAD TYP8>
+                   <CALL '\1aRECTYPE? 1 = STACK>
+                   <PUSH RESTYP23>
+                   <DEAD RESTYP23>
+                   <CALL '\1aNTH-DO 6>
+                   <FRAME '\1aFREE-TEMP>
+                   <PUSH NUMKN12>
+                   <DEAD NUMKN12>
+                   <PUSH %<>>
+                   <CALL '\1aFREE-TEMP 2>
+                   <FRAME '\1aFREE-TEMP>
+                   <PUSH NUM13>
+                   <DEAD NUM13>
+                   <PUSH %<>>
+                   <CALL '\1aFREE-TEMP 2>
+                   <RETURN WHERE5>
+                   <DEAD WHERE5>
+                   <END \1aNTH-GEN>
+#WORD *35070730272*
+<GFCN \1aEXPANDED-LIST-REST ("VALUE" ANY ANY ANY FIX ANY "OPTIONAL" ANY) STR6 NUM7 ML8 LCAREFUL9 W10>
+                   <OPT-DISPATCH 4 %<> OPT4 OPT5>
+OPT4
+                   <PUSH #T$UNBOUND 0>
+OPT5
+                   <TEMP TG212 NUMN13 TEMP22 TG111 TEMP92:ATOM>
+                   <INTGO>
+                   <SET NUMN13 NUM7>
+                   <TYPE? NUM7 <TYPE-CODE FIX> - PHRASE15>
+                   <TYPE? W10 <TYPE-CODE UNBOUND> - PHRASE15>
+                   <SUB NUM7 1 = NUM7 (TYPE FIX)>
+PHRASE15
+                   <TYPE? NUM7 <TYPE-CODE FIX> - PHRASE18>
+                   <TYPE? LCAREFUL9 <TYPE-CODE FALSE> + PHRASE21>
+                   <SET TEMP22 2 (TYPE FIX)>
+                   <JUMP + PHRASE23>
+PHRASE21
+                   <SET TEMP22 4 (TYPE FIX)>
+PHRASE23
+                   <GRTR? NUM7 TEMP22 + PHRASE18 (TYPE FIX)>
+                   <DEAD TEMP22>
+                   <LOOP>
+AGAIN25
+                   <INTGO>
+                   <GRTR? ML8 0 + PHRASE27 (TYPE FIX)>
+                   <TYPE? LCAREFUL9 <TYPE-CODE FALSE> + PHRASE27>
+                   <FRAME '\1aEMPTY-CHECK>
+                   <PUSH 'LIST>
+                   <PUSH STR6>
+                   <PUSH 'LIST>
+                   <CALL '\1aEMPTY-CHECK 3>
+PHRASE27
+                   <TYPE? W10 <TYPE-CODE UNBOUND> + PHRASE33>
+                   <VEQUAL? NUM7 1 - PHRASE33 (TYPE FIX)>
+                   <FRAME '\1aFREE-TEMP>
+                   <PUSH STR6>
+                   <PUSH %<>>
+                   <CALL '\1aFREE-TEMP 2>
+                   <EQUAL? W10 'DONT-CARE - PHRASE39>
+                   <FRAME '\1aGEN-TEMP>
+                   <PUSH 'LIST>
+                   <CALL '\1aGEN-TEMP 1 = W10>
+                   <JUMP + PHRASE41>
+PHRASE39
+                   <TYPE? W10 <TYPE-CODE TEMP> - PHRASE41>
+                   <FRAME '\1aUSE-TEMP>
+                   <PUSH W10>
+                   <PUSH 'LIST>
+                   <CALL '\1aUSE-TEMP 2>
+PHRASE41
+                   <FRAME '\1aREST-DO>
+                   <PUSH 'LIST>
+                   <PUSH STR6>
+                   <DEAD STR6>
+                   <PUSH W10>
+                   <PUSH 1>
+                   <CALL '\1aREST-DO 4>
+                   <SET STR6 W10>
+                   <JUMP + PHRASE52>
+PHRASE33
+                   <TYPE? STR6 <TYPE-CODE TEMP> - PHRASE44>
+                   <NTHUV STR6 2 = TEMP22 (TYPE FIX)>
+                   <GRTR? TEMP22 1 - BOOL46 (TYPE FIX)>
+                   <DEAD TEMP22>
+                   <TYPE? W10 <TYPE-CODE UNBOUND> + PHRASE44>
+                   <EQUAL? STR6 W10 - PHRASE44>
+BOOL46
+                   <FRAME '\1aREST-DO>
+                   <PUSH 'LIST>
+                   <PUSH STR6>
+                   <PUSH STR6>
+                   <PUSH 1>
+                   <CALL '\1aREST-DO 4>
+                   <JUMP + PHRASE52>
+PHRASE44
+                   <FRAME '\1aFREE-TEMP>
+                   <PUSH STR6>
+                   <PUSH %<>>
+                   <CALL '\1aFREE-TEMP 2>
+                   <FRAME '\1aREST-DO>
+                   <PUSH 'LIST>
+                   <PUSH STR6>
+                   <DEAD STR6>
+                   <FRAME '\1aGEN-TEMP>
+                   <PUSH 'LIST>
+                   <CALL '\1aGEN-TEMP 1 = STR6>
+                   <PUSH STR6>
+                   <PUSH 1>
+                   <CALL '\1aREST-DO 4>
+PHRASE52
+                   <SUB NUM7 1 = NUM7 (TYPE FIX)>
+                   <GRTR? NUM7 0 + PHRASE57 (TYPE FIX)>
+                   <TYPE? LCAREFUL9 <TYPE-CODE FALSE> + EXIT24>
+                   <DEAD LCAREFUL9>
+                   <TYPE? W10 <TYPE-CODE UNBOUND> - EXIT24>
+                   <DEAD W10>
+                   <GRTR? ML8 1 + EXIT24 (TYPE FIX)>
+                   <DEAD ML8>
+                   <FRAME '\1aEMPTY-CHECK>
+                   <PUSH 'LIST>
+                   <PUSH STR6>
+                   <PUSH 'LIST>
+                   <CALL '\1aEMPTY-CHECK 3>
+                   <RETURN STR6>
+                   <DEAD STR6>
+PHRASE57
+                   <SUB ML8 1 = ML8 (TYPE FIX)>
+                   <JUMP + AGAIN25>
+EXIT24
+                   <RETURN STR6>
+                   <DEAD STR6>
+PHRASE18
+                   <TYPE? NUM7 <TYPE-CODE TEMP> - BOOL69>
+                   <NTHUV NUM7 2 = TEMP22 (TYPE FIX)>
+                   <GRTR? TEMP22 1 - PHRASE68 (TYPE FIX)>
+                   <DEAD TEMP22>
+BOOL69
+                   <FRAME '\1aMOVE-ARG>
+                   <PUSH NUM7>
+                   <FRAME '\1aGEN-TEMP>
+                   <PUSH %<>>
+                   <CALL '\1aGEN-TEMP 1 = STACK>
+                   <CALL '\1aMOVE-ARG 2 = NUMN13>
+PHRASE68
+                   <FRAME '\1aMAKE-TAG>
+                   <PUSH "RESTL">
+                   <CALL '\1aMAKE-TAG 1 = TG111>
+                   <TYPE? STR6 <TYPE-CODE TEMP> - BOOL81>
+                   <NTHUV STR6 2 = TEMP22 (TYPE FIX)>
+                   <GRTR? TEMP22 1 - PHRASE76 (TYPE FIX)>
+                   <DEAD TEMP22>
+                   <TYPE? W10 <TYPE-CODE UNBOUND> + BOOL81>
+                   <EQUAL? W10 STR6 + PHRASE76>
+BOOL81
+                   <FRAME '\1aMOVE-ARG>
+                   <PUSH STR6>
+                   <DEAD STR6>
+                   <FRAME '\1aGEN-TEMP>
+                   <PUSH %<>>
+                   <CALL '\1aGEN-TEMP 1 = STACK>
+                   <CALL '\1aMOVE-ARG 2 = STR6>
+PHRASE76
+                   <TYPE? NUM7 <TYPE-CODE FIX> + PHRASE85>
+                   <FRAME '\1aMAKE-TAG>
+                   <PUSH "RESTL">
+                   <CALL '\1aMAKE-TAG 1 = TG212>
+                   <TYPE? W10 <TYPE-CODE UNBOUND> - PHRASE88>
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`SUB>
+                   <PUSH NUMN13>
+                   <PUSH 1>
+                   <PUSH '=>
+                   <PUSH NUMN13>
+                   <PUSH (`TYPE FIX)>
+                   <CALL '\1aIEMIT 6>
+PHRASE88
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`GRTR?>
+                   <PUSH NUMN13>
+                   <PUSH 0>
+                   <PUSH '->
+                   <PUSH TG212>
+                   <PUSH (`TYPE FIX)>
+                   <CALL '\1aIEMIT 6>
+PHRASE85
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`LOOP>
+                   <CONS 'VALUE () = TEMP22>
+                   <NTHUV STR6 1 = TEMP92 (TYPE ATOM)>
+                   <CONS TEMP92 TEMP22 = STACK>
+                   <DEAD TEMP92 TEMP22>
+                   <CONS 'VALUE () = TEMP22>
+                   <NTHUV NUMN13 1 = TEMP92 (TYPE ATOM)>
+                   <CONS TEMP92 TEMP22 = STACK>
+                   <DEAD TEMP92 TEMP22>
+                   <CALL '\1aIEMIT 3>
+                   <FRAME '\1aLABEL-TAG>
+                   <PUSH TG111>
+                   <CALL '\1aLABEL-TAG 1>
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`INTGO>
+                   <CALL '\1aIEMIT 1>
+                   <TYPE? LCAREFUL9 <TYPE-CODE FALSE> + PHRASE96>
+                   <TYPE? NUM7 <TYPE-CODE FIX> - BOOL98>
+                   <GRTR? NUM7 ML8 - PHRASE96 (TYPE FIX)>
+                   <DEAD NUM7 ML8>
+BOOL98
+                   <FRAME '\1aEMPTY-CHECK>
+                   <PUSH 'LIST>
+                   <PUSH STR6>
+                   <PUSH 'LIST>
+                   <CALL '\1aEMPTY-CHECK 3>
+PHRASE96
+                   <FRAME '\1aREST-DO>
+                   <PUSH 'LIST>
+                   <PUSH STR6>
+                   <PUSH STR6>
+                   <PUSH 1>
+                   <CALL '\1aREST-DO 4>
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`SUB>
+                   <PUSH NUMN13>
+                   <PUSH 1>
+                   <PUSH '=>
+                   <PUSH NUMN13>
+                   <PUSH (`TYPE FIX)>
+                   <CALL '\1aIEMIT 6>
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`GRTR?>
+                   <PUSH NUMN13>
+                   <PUSH 0>
+                   <PUSH '+>
+                   <PUSH TG111>
+                   <DEAD TG111>
+                   <PUSH (`TYPE FIX)>
+                   <CALL '\1aIEMIT 6>
+                   <TYPE? TG212 <TYPE-CODE UNBOUND> + PHRASE104>
+                   <FRAME '\1aLABEL-TAG>
+                   <PUSH TG212>
+                   <DEAD TG212>
+                   <CALL '\1aLABEL-TAG 1>
+PHRASE104
+                   <FRAME '\1aFREE-TEMP>
+                   <PUSH NUMN13>
+                   <DEAD NUMN13>
+                   <CALL '\1aFREE-TEMP 1>
+                   <TYPE? LCAREFUL9 <TYPE-CODE FALSE> + PHRASE108>
+                   <DEAD LCAREFUL9>
+                   <TYPE? W10 <TYPE-CODE UNBOUND> - PHRASE108>
+                   <FRAME '\1aEMPTY-CHECK>
+                   <PUSH 'LIST>
+                   <PUSH STR6>
+                   <PUSH 'LIST>
+                   <CALL '\1aEMPTY-CHECK 3>
+PHRASE108
+                   <TYPE? W10 <TYPE-CODE UNBOUND> + PHRASE112>
+                   <FRAME '\1aMOVE-ARG>
+                   <PUSH STR6>
+                   <DEAD STR6>
+                   <PUSH W10>
+                   <DEAD W10>
+                   <CALL '\1aMOVE-ARG 2 = STR6>
+PHRASE112
+                   <RETURN STR6>
+                   <DEAD STR6>
+                   <END \1aEXPANDED-LIST-REST>\r\r
+#WORD *37725671506*
+<GFCN \1aNTH-DO ("VALUE" ATOM ANY ANY ANY ANY "OPTIONAL" ANY ANY) TPS7 STR8 WHERE9 NUM10 TYP11 RESTYP12>
+                   <OPT-DISPATCH 4 %<> OPT4 OPT5 OPT6>
+OPT4
+                   <PUSH 'ANY>
+OPT5
+                   <PUSH %<>>
+OPT6
+                   <TEMP TEMP17:ATOM>
+                   <INTGO>
+                   <EQUAL? TPS7 'VECTOR + BOOL15>
+                   <EQUAL? TPS7 'TUPLE - PHRASE14>
+BOOL15
+                   <FRAME '\1aNTH-VECTOR>
+                   <PUSH STR8>
+                   <DEAD STR8>
+                   <PUSH WHERE9>
+                   <DEAD WHERE9>
+                   <PUSH NUM10>
+                   <DEAD NUM10>
+                   <PUSH RESTYP12>
+                   <DEAD RESTYP12>
+                   <CALL '\1aNTH-VECTOR 4 = TEMP17>
+                   <RETURN TEMP17>
+                   <DEAD TEMP17>
+PHRASE14
+                   <EQUAL? TPS7 'UVECTOR - PHRASE18>
+                   <FRAME '\1aNTH-UVECTOR>
+                   <PUSH STR8>
+                   <DEAD STR8>
+                   <PUSH WHERE9>
+                   <DEAD WHERE9>
+                   <PUSH NUM10>
+                   <DEAD NUM10>
+                   <PUSH RESTYP12>
+                   <DEAD RESTYP12>
+                   <CALL '\1aNTH-UVECTOR 4 = TEMP17>
+                   <RETURN TEMP17>
+                   <DEAD TEMP17>
+PHRASE18
+                   <EQUAL? TPS7 'STRING - PHRASE20>
+                   <FRAME '\1aNTH-STRING>
+                   <PUSH STR8>
+                   <DEAD STR8>
+                   <PUSH WHERE9>
+                   <DEAD WHERE9>
+                   <PUSH NUM10>
+                   <DEAD NUM10>
+                   <PUSH RESTYP12>
+                   <DEAD RESTYP12>
+                   <CALL '\1aNTH-STRING 4 = TEMP17>
+                   <RETURN TEMP17>
+                   <DEAD TEMP17>
+PHRASE20
+                   <EQUAL? TPS7 'BYTES - PHRASE22>
+                   <FRAME '\1aNTH-BYTES>
+                   <PUSH STR8>
+                   <DEAD STR8>
+                   <PUSH WHERE9>
+                   <DEAD WHERE9>
+                   <PUSH NUM10>
+                   <DEAD NUM10>
+                   <PUSH RESTYP12>
+                   <DEAD RESTYP12>
+                   <CALL '\1aNTH-BYTES 4 = TEMP17>
+                   <RETURN TEMP17>
+                   <DEAD TEMP17>
+PHRASE22
+                   <EQUAL? TPS7 'LIST - PHRASE24>
+                   <FRAME '\1aNTH-LIST>
+                   <PUSH STR8>
+                   <DEAD STR8>
+                   <PUSH WHERE9>
+                   <DEAD WHERE9>
+                   <PUSH NUM10>
+                   <DEAD NUM10>
+                   <PUSH RESTYP12>
+                   <DEAD RESTYP12>
+                   <CALL '\1aNTH-LIST 4 = TEMP17>
+                   <RETURN TEMP17>
+                   <DEAD TEMP17>
+PHRASE24
+                   <EQUAL? TPS7 'TEMPLATE - PHRASE26>
+                   <FRAME '\1aNTH-RECORD>
+                   <PUSH STR8>
+                   <DEAD STR8>
+                   <PUSH WHERE9>
+                   <DEAD WHERE9>
+                   <PUSH NUM10>
+                   <DEAD NUM10>
+                   <PUSH TYP11>
+                   <DEAD TYP11>
+                   <PUSH RESTYP12>
+                   <DEAD RESTYP12>
+                   <CALL '\1aNTH-RECORD 5 = TEMP17>
+                   <RETURN TEMP17>
+                   <DEAD TEMP17>
+PHRASE26
+                   <FRAME '\1aNTH-RECORD>
+                   <PUSH STR8>
+                   <DEAD STR8>
+                   <PUSH WHERE9>
+                   <DEAD WHERE9>
+                   <PUSH NUM10>
+                   <DEAD NUM10>
+                   <PUSH TPS7>
+                   <DEAD TPS7>
+                   <PUSH RESTYP12>
+                   <DEAD RESTYP12>
+                   <CALL '\1aNTH-RECORD 5 = TEMP17>
+                   <RETURN TEMP17>
+                   <DEAD TEMP17>
+                   <END \1aNTH-DO>
+<SETG STYPES [LIST TUPLE VECTOR UVECTOR STORAGE STRING BYTES TEMPLATE]>
+
+#WORD *16760540573*
+<GFCN \1aNTH-PRED ("VALUE" <OR ATOM !<FALSE>> FIX) C4>
+                   <TEMP TEMP5>
+                   <INTGO>
+                   <VEQUAL? C4 1 - TAG6 (TYPE FIX)>
+                   <DEAD C4>
+                   <RETURN 'T>
+TAG6
+                   <RETURN %<>>
+                   <END \1aNTH-PRED>
+#WORD *7201607525*
+<GFCN \1aPUT-GEN ("VALUE" ANY NODE ANY "OPTIONAL" ANY) NOD6 WHERE7 SAME?8>
+                   <OPT-DISPATCH 2 %<> OPT4 OPT5>
+OPT4
+                   <PUSH %<>>
+OPT5
+                   <TEMP ONO9 K10 SNOD11:NODE TEMP30 NNOD12:NODE TYP14 TPS15 ML16:FIX NUMKN20 NUM21:FIX RV22 RR23 NR24 W26 ETYP25 TEMP61 TEMP62 VN17>
+                   <INTGO>
+                   <GEN-LVAL 'NO-KILL = ONO9>
+                   <NTHUV NOD6 5 = K10 (TYPE LIST)>
+                   <NTHL K10 1 = SNOD11 (TYPE NODE)>
+                   <RESTL K10 1 = TEMP30 (TYPE LIST)>
+                   <NTHL TEMP30 1 = NNOD12 (TYPE NODE)>
+                   <DEAD TEMP30>
+                   <RESTL K10 1 = TEMP30 (TYPE LIST)>
+                   <DEAD K10>
+                   <RESTL TEMP30 1 = TEMP30 (TYPE LIST)>
+                   <NTHL TEMP30 1 = K10 (TYPE NODE)>
+                   <DEAD TEMP30>
+                   <NTHUV SNOD11 3 = TYP14>
+                   <FRAME '\1aSTRUCTYP>
+                   <PUSH TYP14>
+                   <CALL '\1aSTRUCTYP 1 = TPS15>
+                   <FRAME '\1aMINL>
+                   <PUSH TYP14>
+                   <CALL '\1aMINL 1 = ML16>
+                   <NTHUV NNOD12 1 = TEMP30 (TYPE FIX)>
+                   <VEQUAL? TEMP30 2 - TAG33 (TYPE FIX)>
+                   <DEAD TEMP30>
+                   <SET NUMKN20 'T (TYPE ATOM)>
+                   <JUMP + TAG34>
+TAG33
+                   <SET NUMKN20 %<> (TYPE FALSE)>
+TAG34
+                   <VEQUAL? NUMKN20 0 + PHRASE36>
+                   <NTHUV NNOD12 4 = TEMP30>
+                   <TYPE? TEMP30 <TYPE-CODE OFFSET> - PHRASE38>
+                   <DEAD TEMP30>
+                   <NTHUV NNOD12 4 = TEMP30 (TYPE OFFSET)>
+                   <NTHUV TEMP30 1 = TEMP30>
+                   <JUMP + PHRASE40>
+PHRASE38
+                   <NTHUV NNOD12 4 = TEMP30 (TYPE FIX)>
+                   <JUMP + PHRASE40>
+PHRASE36
+                   <SET TEMP30 1 (TYPE FIX)>
+PHRASE40
+                   <SET NUM21 TEMP30>
+                   <DEAD TEMP30>
+                   <TYPE? SAME?8 <TYPE-CODE FALSE> + TAG42>
+                   <SET TEMP30 %<> (TYPE FALSE)>
+                   <JUMP + BOOL41>
+TAG42
+                   <FRAME '\1aCOMMUTE-STRUC>
+                   <PUSH %<>>
+                   <PUSH NNOD12>
+                   <PUSH SNOD11>
+                   <CALL '\1aCOMMUTE-STRUC 3 = TEMP30>
+BOOL41
+                   <SET RV22 TEMP30>
+                   <DEAD TEMP30>
+                   <TYPE? SAME?8 <TYPE-CODE FALSE> + TAG45>
+                   <SET TEMP30 %<> (TYPE FALSE)>
+                   <JUMP + BOOL44>
+TAG45
+                   <FRAME '\1aCOMMUTE-STRUC>
+                   <PUSH %<>>
+                   <PUSH K10>
+                   <PUSH SNOD11>
+                   <CALL '\1aCOMMUTE-STRUC 3 = TEMP30>
+                   <TYPE? TEMP30 <TYPE-CODE FALSE> + BOOL44>
+                   <FRAME '\1aCOMMUTE-STRUC>
+                   <PUSH %<>>
+                   <PUSH K10>
+                   <PUSH NNOD12>
+                   <CALL '\1aCOMMUTE-STRUC 3 = TEMP30>
+BOOL44
+                   <SET RR23 TEMP30>
+                   <DEAD TEMP30>
+                   <FRAME '\1aGET-RANGE>
+                   <NTHUV NNOD12 3 = STACK>
+                   <CALL '\1aGET-RANGE 1 = NR24>
+                   <SET W26 WHERE7>
+                   <DEAD WHERE7>
+                   <VEQUAL? NUMKN20 0 + PHRASE50>
+                   <PUTUV NNOD12 4 NUM21>
+PHRASE50
+                   <FRAME '\1aGET-ELE-TYPE>
+                   <PUSH TYP14>
+                   <VEQUAL? NUMKN20 0 + PHRASE53>
+                   <SET TEMP30 NUM21>
+                   <JUMP + COND52>
+PHRASE53
+                   <SET TEMP30 'ALL (TYPE ATOM)>
+COND52
+                   <PUSH TEMP30>
+                   <DEAD TEMP30>
+                   <CALL '\1aGET-ELE-TYPE 2 = ETYP25>
+                   <FRAME '\1aSTRUCTYP>
+                   <PUSH ETYP25>
+                   <CALL '\1aSTRUCTYP 1 = TEMP30>
+                   <SET TEMP61 [VECTOR UVECTOR STRING BYTES] (TYPE VECTOR)>
+                   <TYPE? TEMP30 <TYPE-CODE ATOM> - PHRASE55>
+                   <LOOP (TEMP30 VALUE) (TEMP61 LENGTH VALUE)>
+TAG58
+                   <NTHUV TEMP61 1 = TEMP62>
+                   <VEQUAL? TEMP62 TEMP30 + TAG57>
+                   <DEAD TEMP62>
+                   <RESTUV TEMP61 1 = TEMP61 (TYPE VECTOR)>
+                   <EMPUV? TEMP61 - TAG58>
+                   <JUMP + PHRASE55>
+TAG57
+                   <TYPE? ETYP25 <TYPE-CODE SEGMENT> + PHRASE55>
+                   <TYPE? ETYP25 <TYPE-CODE ATOM> - BOOL63>
+                   <FRAME '\1aDECL-GET>
+                   <PUSH ETYP25>
+                   <CALL '\1aDECL-GET 1 = TEMP61>
+                   <TYPE? TEMP61 <TYPE-CODE SEGMENT> + PHRASE55>
+                   <DEAD TEMP61>
+BOOL63
+                   <SET ETYP25 %<> (TYPE FALSE)>
+                   <JUMP + PHRASE65>
+PHRASE55
+                   <FRAME '\1aISTYPE?>
+                   <PUSH ETYP25>
+                   <DEAD ETYP25>
+                   <CALL '\1aISTYPE? 1 = ETYP25>
+                   <FRAME '\1aISTYPE?>
+                   <NTHUV K10 3 = STACK>
+                   <CALL '\1aISTYPE? 1 = TEMP61>
+                   <VEQUAL? ETYP25 TEMP61 + PHRASE65>
+                   <DEAD TEMP61>
+                   <SET ETYP25 %<> (TYPE FALSE)>
+PHRASE65
+                   <VEQUAL? NUMKN20 0 + PHRASE69>
+                   <DEAD NUMKN20>
+                   <GRTR? NUM21 0 + PHRASE71 (TYPE FIX)>
+                   <FRAME '\1aCOMPILE-ERROR>
+                   <PUSH "PUT Number to small: ">
+                   <PUSH NUM21>
+                   <DEAD NUM21>
+                   <PUSH NOD6>
+                   <DEAD NOD6>
+                   <CALL '\1aCOMPILE-ERROR 3>
+                   <RETURN W26>
+                   <DEAD W26>
+PHRASE71
+                   <VEQUAL? NUM21 1 - PHRASE75 (TYPE FIX)>
+                   <TYPE? RR23 <TYPE-CODE FALSE> + PHRASE79>
+                   <DEAD RR23>
+                   <FRAME '\1aGEN>
+                   <PUSH K10>
+                   <PUSH 'DONT-CARE>
+                   <CALL '\1aGEN 2 = VN17>
+                   <FRAME '\1aINTERF-CHANGE>
+                   <PUSH VN17>
+                   <DEAD VN17>
+                   <PUSH SNOD11>
+                   <CALL '\1aINTERF-CHANGE 2 = VN17>
+                   <FRAME '\1aGEN>
+                   <PUSH SNOD11>
+                   <DEAD SNOD11>
+                   <PUSH 'DONT-CARE>
+                   <CALL '\1aGEN 2 = TEMP30>
+                   <VEQUAL? ML16 0 - PHRASE104 (TYPE FIX)>
+                   <DEAD ML16>
+                   <GEN-LVAL 'CAREFUL = TEMP61>
+                   <TYPE? TEMP61 <TYPE-CODE FALSE> + PHRASE104>
+                   <DEAD TEMP61>
+                   <FRAME '\1aEMPTY-CHECK>
+                   <PUSH TPS15>
+                   <PUSH TEMP30>
+                   <FRAME '\1aRECTYPE?>
+                   <PUSH TYP14>
+                   <CALL '\1aRECTYPE? 1 = STACK>
+                   <CALL '\1aEMPTY-CHECK 3>
+                   <JUMP + PHRASE104>
+PHRASE79
+                   <FRAME '\1aGEN>
+                   <PUSH SNOD11>
+                   <DEAD SNOD11>
+                   <PUSH 'DONT-CARE>
+                   <CALL '\1aGEN 2 = TEMP30>
+                   <GEN-LVAL 'CAREFUL = TEMP61>
+                   <TYPE? TEMP61 <TYPE-CODE FALSE> + PHRASE95>
+                   <DEAD TEMP61>
+                   <VEQUAL? ML16 0 - PHRASE95 (TYPE FIX)>
+                   <DEAD ML16>
+                   <FRAME '\1aEMPTY-CHECK>
+                   <PUSH TPS15>
+                   <PUSH TEMP30>
+                   <FRAME '\1aRECTYPE?>
+                   <PUSH TYP14>
+                   <CALL '\1aRECTYPE? 1 = STACK>
+                   <CALL '\1aEMPTY-CHECK 3>
+PHRASE95
+                   <TYPE? SAME?8 <TYPE-CODE FALSE> - PHRASE104>
+                   <FRAME '\1aINTERF-CHANGE>
+                   <PUSH TEMP30>
+                   <DEAD TEMP30>
+                   <PUSH K10>
+                   <CALL '\1aINTERF-CHANGE 2 = TEMP30>
+                   <FRAME '\1aGEN>
+                   <PUSH K10>
+                   <PUSH 'DONT-CARE>
+                   <CALL '\1aGEN 2 = VN17>
+PHRASE104
+                   <FRAME '\1aDELAY-KILL>
+                   <GEN-LVAL 'NO-KILL = STACK>
+                   <PUSH ONO9>
+                   <DEAD ONO9>
+                   <CALL '\1aDELAY-KILL 2>
+                   <TYPE? SAME?8 <TYPE-CODE FALSE> + PHRASE111>
+                   <FRAME '\1aSPEC-GEN>
+                   <PUSH K10>
+                   <DEAD K10>
+                   <PUSH TEMP30>
+                   <PUSH TPS15>
+                   <DEAD TPS15>
+                   <PUSH NUM21>
+                   <DEAD NUM21>
+                   <CALL '\1aSPEC-GEN 4>
+                   <JUMP + PHRASE113>
+PHRASE111
+                   <FRAME '\1aDATCLOB>
+                   <PUSH TEMP30>
+                   <PUSH NUM21>
+                   <DEAD NUM21>
+                   <PUSH VN17>
+                   <PUSH TPS15>
+                   <DEAD TPS15>
+                   <PUSH TYP14>
+                   <DEAD TYP14>
+                   <PUSH ETYP25>
+                   <DEAD ETYP25>
+                   <CALL '\1aDATCLOB 6>
+PHRASE113
+                   <TYPE? SAME?8 <TYPE-CODE FALSE> - PHRASE116>
+                   <DEAD SAME?8>
+                   <FRAME '\1aFREE-TEMP>
+                   <PUSH VN17>
+                   <DEAD VN17>
+                   <CALL '\1aFREE-TEMP 1>
+PHRASE116
+                   <FRAME '\1aMOVE-ARG>
+                   <PUSH TEMP30>
+                   <DEAD TEMP30>
+                   <PUSH W26>
+                   <DEAD W26>
+                   <CALL '\1aMOVE-ARG 2 = W26>
+                   <RETURN W26>
+                   <DEAD W26>
+PHRASE75
+                   <TYPE? RR23 <TYPE-CODE FALSE> + PHRASE121>
+                   <DEAD RR23>
+                   <FRAME '\1aGEN>
+                   <PUSH K10>
+                   <PUSH 'DONT-CARE>
+                   <CALL '\1aGEN 2 = VN17>
+                   <FRAME '\1aINTERF-CHANGE>
+                   <PUSH VN17>
+                   <DEAD VN17>
+                   <PUSH SNOD11>
+                   <CALL '\1aINTERF-CHANGE 2 = VN17>
+                   <FRAME '\1aGEN>
+                   <PUSH SNOD11>
+                   <DEAD SNOD11>
+                   <PUSH 'DONT-CARE>
+                   <CALL '\1aGEN 2 = TEMP30>
+                   <JUMP + PHRASE128>
+PHRASE121
+                   <FRAME '\1aGEN>
+                   <PUSH SNOD11>
+                   <DEAD SNOD11>
+                   <PUSH 'DONT-CARE>
+                   <CALL '\1aGEN 2 = TEMP30>
+                   <TYPE? SAME?8 <TYPE-CODE FALSE> - PHRASE128>
+                   <FRAME '\1aINTERF-CHANGE>
+                   <PUSH TEMP30>
+                   <DEAD TEMP30>
+                   <PUSH K10>
+                   <CALL '\1aINTERF-CHANGE 2 = TEMP30>
+                   <FRAME '\1aGEN>
+                   <PUSH K10>
+                   <PUSH 'DONT-CARE>
+                   <CALL '\1aGEN 2 = VN17>
+PHRASE128
+                   <FRAME '\1aDELAY-KILL>
+                   <GEN-LVAL 'NO-KILL = STACK>
+                   <PUSH ONO9>
+                   <DEAD ONO9>
+                   <CALL '\1aDELAY-KILL 2>
+                   <GEN-LVAL 'CAREFUL = TEMP62>
+                   <TYPE? TEMP62 <TYPE-CODE FALSE> + PHRASE135>
+                   <DEAD TEMP62>
+                   <LESS? ML16 NUM21 - PHRASE135 (TYPE FIX)>
+                   <TYPE? SAME?8 <TYPE-CODE FALSE> - PHRASE135>
+                   <EQUAL? TPS15 'LIST + PHRASE135>
+                   <FRAME '\1aLENGTH-CHECK>
+                   <PUSH TPS15>
+                   <PUSH TEMP30>
+                   <PUSH NUM21>
+                   <FRAME '\1aRECTYPE?>
+                   <PUSH TYP14>
+                   <CALL '\1aRECTYPE? 1 = STACK>
+                   <CALL '\1aLENGTH-CHECK 4>
+PHRASE135
+                   <SET ONO9 TEMP30>
+                   <TYPE? SAME?8 <TYPE-CODE FALSE> + PHRASE142>
+                   <FRAME '\1aSPEC-GEN>
+                   <PUSH K10>
+                   <DEAD K10>
+                   <PUSH TEMP30>
+                   <PUSH TPS15>
+                   <DEAD TPS15>
+                   <PUSH 1>
+                   <CALL '\1aSPEC-GEN 4>
+                   <JUMP + PHRASE157>
+PHRASE142
+                   <EQUAL? TPS15 'LIST - PHRASE146>
+                   <GEN-LVAL 'CAREFUL = TEMP62>
+                   <TYPE? TEMP62 <TYPE-CODE FALSE> + BOOL149>
+                   <DEAD TEMP62>
+                   <GRTR? NUM21 ML16 + BOOL148 (TYPE FIX)>
+BOOL149
+                   <GRTR? NUM21 4 + PHRASE146 (TYPE FIX)>
+BOOL148
+                   <FRAME '\1aDATCLOB>
+                   <FRAME '\1aEXPANDED-LIST-REST>
+                   <FRAME '\1aUSE-TEMP>
+                   <PUSH TEMP30>
+                   <CALL '\1aUSE-TEMP 1 = STACK>
+                   <PUSH NUM21>
+                   <DEAD NUM21>
+                   <PUSH ML16>
+                   <DEAD ML16>
+                   <GEN-LVAL 'CAREFUL = STACK>
+                   <CALL '\1aEXPANDED-LIST-REST 4 = ONO9>
+                   <PUSH ONO9>
+                   <PUSH 1>
+                   <PUSH VN17>
+                   <PUSH TPS15>
+                   <DEAD TPS15>
+                   <PUSH TYP14>
+                   <DEAD TYP14>
+                   <PUSH ETYP25>
+                   <DEAD ETYP25>
+                   <CALL '\1aDATCLOB 6>
+                   <JUMP + PHRASE157>
+PHRASE146
+                   <FRAME '\1aDATCLOB>
+                   <PUSH TEMP30>
+                   <PUSH NUM21>
+                   <DEAD NUM21>
+                   <PUSH VN17>
+                   <PUSH TPS15>
+                   <DEAD TPS15>
+                   <PUSH TYP14>
+                   <DEAD TYP14>
+                   <PUSH ETYP25>
+                   <DEAD ETYP25>
+                   <CALL '\1aDATCLOB 6>
+PHRASE157
+                   <EQUAL? ONO9 TEMP30 + PHRASE160>
+                   <FRAME '\1aFREE-TEMP>
+                   <PUSH ONO9>
+                   <DEAD ONO9>
+                   <CALL '\1aFREE-TEMP 1>
+PHRASE160
+                   <TYPE? SAME?8 <TYPE-CODE FALSE> - PHRASE163>
+                   <DEAD SAME?8>
+                   <FRAME '\1aFREE-TEMP>
+                   <PUSH VN17>
+                   <DEAD VN17>
+                   <CALL '\1aFREE-TEMP 1>
+PHRASE163
+                   <FRAME '\1aMOVE-ARG>
+                   <PUSH TEMP30>
+                   <DEAD TEMP30>
+                   <PUSH W26>
+                   <DEAD W26>
+                   <CALL '\1aMOVE-ARG 2 = W26>
+                   <RETURN W26>
+                   <DEAD W26>
+PHRASE69
+                   <TYPE? RR23 <TYPE-CODE FALSE> + PHRASE168>
+                   <FRAME '\1aGEN>
+                   <PUSH K10>
+                   <PUSH 'DONT-CARE>
+                   <CALL '\1aGEN 2 = VN17>
+                   <FRAME '\1aINTERF-CHANGE>
+                   <PUSH VN17>
+                   <DEAD VN17>
+                   <PUSH SNOD11>
+                   <CALL '\1aINTERF-CHANGE 2 = VN17>
+                   <FRAME '\1aINTERF-CHANGE>
+                   <PUSH VN17>
+                   <DEAD VN17>
+                   <PUSH NNOD12>
+                   <CALL '\1aINTERF-CHANGE 2 = VN17>
+PHRASE168
+                   <TYPE? RV22 <TYPE-CODE FALSE> + PHRASE173>
+                   <DEAD RV22>
+                   <FRAME '\1aGEN>
+                   <PUSH NNOD12>
+                   <DEAD NNOD12>
+                   <PUSH 'DONT-CARE>
+                   <CALL '\1aGEN 2 = NUMKN20>
+                   <FRAME '\1aINTERF-CHANGE>
+                   <PUSH NUMKN20>
+                   <DEAD NUMKN20>
+                   <PUSH SNOD11>
+                   <CALL '\1aINTERF-CHANGE 2 = NUMKN20>
+                   <FRAME '\1aGEN>
+                   <PUSH SNOD11>
+                   <DEAD SNOD11>
+                   <PUSH 'DONT-CARE>
+                   <CALL '\1aGEN 2 = TEMP30>
+                   <TYPE? RR23 <TYPE-CODE FALSE> - PHRASE186>
+                   <FRAME '\1aINTERF-CHANGE>
+                   <PUSH NUMKN20>
+                   <DEAD NUMKN20>
+                   <PUSH K10>
+                   <CALL '\1aINTERF-CHANGE 2 = NUMKN20>
+                   <FRAME '\1aINTERF-CHANGE>
+                   <PUSH TEMP30>
+                   <DEAD TEMP30>
+                   <PUSH K10>
+                   <CALL '\1aINTERF-CHANGE 2 = TEMP30>
+                   <JUMP + PHRASE186>
+PHRASE173
+                   <FRAME '\1aGEN>
+                   <PUSH SNOD11>
+                   <DEAD SNOD11>
+                   <PUSH 'DONT-CARE>
+                   <CALL '\1aGEN 2 = TEMP30>
+                   <FRAME '\1aINTERF-CHANGE>
+                   <PUSH TEMP30>
+                   <DEAD TEMP30>
+                   <PUSH NNOD12>
+                   <CALL '\1aINTERF-CHANGE 2 = TEMP30>
+                   <FRAME '\1aGEN>
+                   <PUSH NNOD12>
+                   <DEAD NNOD12>
+                   <PUSH 'DONT-CARE>
+                   <CALL '\1aGEN 2 = NUMKN20>
+                   <TYPE? RR23 <TYPE-CODE FALSE> - PHRASE186>
+                   <FRAME '\1aINTERF-CHANGE>
+                   <PUSH NUMKN20>
+                   <DEAD NUMKN20>
+                   <PUSH K10>
+                   <CALL '\1aINTERF-CHANGE 2 = NUMKN20>
+                   <FRAME '\1aINTERF-CHANGE>
+                   <PUSH TEMP30>
+                   <DEAD TEMP30>
+                   <PUSH K10>
+                   <CALL '\1aINTERF-CHANGE 2 = TEMP30>
+PHRASE186
+                   <TYPE? RR23 <TYPE-CODE FALSE> + PHRASE190>
+                   <FRAME '\1aDELAY-KILL>
+                   <GEN-LVAL 'NO-KILL = STACK>
+                   <PUSH ONO9>
+                   <CALL '\1aDELAY-KILL 2>
+PHRASE190
+                   <GEN-LVAL 'CAREFUL = RV22>
+                   <TYPE? RV22 <TYPE-CODE FALSE> + PHRASE196>
+                   <DEAD RV22>
+                   <TYPE? NR24 <TYPE-CODE FALSE> + BOOL201>
+                   <NTHL NR24 1 = RV22>
+                   <GRTR? RV22 0 + PHRASE196>
+                   <DEAD RV22>
+BOOL201
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`GRTR?>
+                   <PUSH NUMKN20>
+                   <PUSH 0>
+                   <PUSH '->
+                   <PUSH '`COMPERR>
+                   <PUSH (`TYPE FIX)>
+                   <CALL '\1aIEMIT 6>
+PHRASE196
+                   <GEN-LVAL 'CAREFUL = RV22>
+                   <TYPE? RV22 <TYPE-CODE FALSE> + PHRASE206>
+                   <DEAD RV22>
+                   <EQUAL? TPS15 'LIST + PHRASE206>
+                   <TYPE? NR24 <TYPE-CODE FALSE> + BOOL210>
+                   <FRAME '\1aL=?>
+                   <RESTL NR24 1 = RV22 (TYPE LIST)>
+                   <DEAD NR24>
+                   <NTHL RV22 1 = STACK>
+                   <DEAD RV22>
+                   <FRAME '\1aMINL>
+                   <PUSH TYP14>
+                   <CALL '\1aMINL 1 = STACK>
+                   <CALL '\1aL=? 2 = RV22>
+                   <TYPE? RV22 <TYPE-CODE FALSE> - PHRASE206>
+                   <DEAD RV22>
+BOOL210
+                   <FRAME '\1aLENGTH-CHECK>
+                   <PUSH TPS15>
+                   <PUSH TEMP30>
+                   <PUSH NUMKN20>
+                   <FRAME '\1aRECTYPE?>
+                   <PUSH TYP14>
+                   <CALL '\1aRECTYPE? 1 = STACK>
+                   <CALL '\1aLENGTH-CHECK 4>
+PHRASE206
+                   <TYPE? RR23 <TYPE-CODE FALSE> - PHRASE222>
+                   <DEAD RR23>
+                   <FRAME '\1aDELAY-KILL>
+                   <GEN-LVAL 'NO-KILL = STACK>
+                   <PUSH ONO9>
+                   <DEAD ONO9>
+                   <CALL '\1aDELAY-KILL 2>
+                   <TYPE? SAME?8 <TYPE-CODE FALSE> - PHRASE222>
+                   <FRAME '\1aGEN>
+                   <PUSH K10>
+                   <PUSH 'DONT-CARE>
+                   <CALL '\1aGEN 2 = VN17>
+PHRASE222
+                   <TYPE? SAME?8 <TYPE-CODE FALSE> + PHRASE225>
+                   <FRAME '\1aSPEC-GEN>
+                   <PUSH K10>
+                   <DEAD K10>
+                   <PUSH NUMKN20>
+                   <DEAD NUMKN20>
+                   <PUSH TPS15>
+                   <DEAD TPS15>
+                   <PUSH 0>
+                   <CALL '\1aSPEC-GEN 4>
+                   <JUMP + PHRASE238>
+PHRASE225
+                   <EQUAL? TPS15 'LIST - PHRASE229>
+                   <GEN-LVAL 'CAREFUL = ONO9>
+                   <TYPE? ONO9 <TYPE-CODE FALSE> + PHRASE229>
+                   <DEAD ONO9>
+                   <FRAME '\1aEXPANDED-LIST-REST>
+                   <PUSH TEMP30>
+                   <DEAD TEMP30>
+                   <PUSH NUMKN20>
+                   <DEAD NUMKN20>
+                   <PUSH ML16>
+                   <DEAD ML16>
+                   <GEN-LVAL 'CAREFUL = STACK>
+                   <CALL '\1aEXPANDED-LIST-REST 4 = TEMP30>
+                   <FRAME '\1aDATCLOB>
+                   <PUSH TEMP30>
+                   <PUSH 1>
+                   <PUSH VN17>
+                   <PUSH TPS15>
+                   <DEAD TPS15>
+                   <PUSH TYP14>
+                   <DEAD TYP14>
+                   <PUSH ETYP25>
+                   <DEAD ETYP25>
+                   <CALL '\1aDATCLOB 6>
+                   <JUMP + PHRASE238>
+PHRASE229
+                   <FRAME '\1aDATCLOB>
+                   <PUSH TEMP30>
+                   <PUSH NUMKN20>
+                   <PUSH VN17>
+                   <PUSH TPS15>
+                   <DEAD TPS15>
+                   <PUSH TYP14>
+                   <DEAD TYP14>
+                   <PUSH ETYP25>
+                   <DEAD ETYP25>
+                   <CALL '\1aDATCLOB 6>
+                   <FRAME '\1aFREE-TEMP>
+                   <PUSH NUMKN20>
+                   <DEAD NUMKN20>
+                   <CALL '\1aFREE-TEMP 1>
+PHRASE238
+                   <TYPE? SAME?8 <TYPE-CODE FALSE> - PHRASE242>
+                   <DEAD SAME?8>
+                   <FRAME '\1aFREE-TEMP>
+                   <PUSH VN17>
+                   <DEAD VN17>
+                   <CALL '\1aFREE-TEMP 1>
+PHRASE242
+                   <FRAME '\1aMOVE-ARG>
+                   <PUSH TEMP30>
+                   <DEAD TEMP30>
+                   <PUSH W26>
+                   <DEAD W26>
+                   <CALL '\1aMOVE-ARG 2 = W26>
+                   <RETURN W26>
+                   <DEAD W26>
+                   <END \1aPUT-GEN>\r\r
+#WORD *37506547046*
+<GFCN \1aDATCLOB ("VALUE" ATOM ANY ANY ANY ANY ANY ANY) STR4 NUM5 VDAT6 TPS7 TYP8 ETYP9>
+                   <TEMP TEMP14>
+                   <INTGO>
+                   <TYPE? ETYP9 <TYPE-CODE FALSE> + PHRASE13>
+                   <CONS ETYP9 () = TEMP14>
+                   <DEAD ETYP9>
+                   <CONS '`TYPE TEMP14 = ETYP9>
+                   <DEAD TEMP14>
+PHRASE13
+                   <EQUAL? TPS7 'LIST - PHRASE16>
+                   <FRAME '\1aPUT-LIST>
+                   <PUSH STR4>
+                   <DEAD STR4>
+                   <PUSH NUM5>
+                   <DEAD NUM5>
+                   <PUSH VDAT6>
+                   <DEAD VDAT6>
+                   <PUSH ETYP9>
+                   <DEAD ETYP9>
+                   <CALL '\1aPUT-LIST 4 = TEMP14>
+                   <RETURN TEMP14>
+                   <DEAD TEMP14>
+PHRASE16
+                   <EQUAL? TPS7 'VECTOR + BOOL19>
+                   <EQUAL? TPS7 'TUPLE - PHRASE18>
+BOOL19
+                   <FRAME '\1aPUT-VECTOR>
+                   <PUSH STR4>
+                   <DEAD STR4>
+                   <PUSH NUM5>
+                   <DEAD NUM5>
+                   <PUSH VDAT6>
+                   <DEAD VDAT6>
+                   <PUSH ETYP9>
+                   <DEAD ETYP9>
+                   <CALL '\1aPUT-VECTOR 4 = TEMP14>
+                   <RETURN TEMP14>
+                   <DEAD TEMP14>
+PHRASE18
+                   <EQUAL? TPS7 'UVECTOR - PHRASE21>
+                   <FRAME '\1aPUT-UVECTOR>
+                   <PUSH STR4>
+                   <DEAD STR4>
+                   <PUSH NUM5>
+                   <DEAD NUM5>
+                   <PUSH VDAT6>
+                   <DEAD VDAT6>
+                   <CALL '\1aPUT-UVECTOR 3 = TEMP14>
+                   <RETURN TEMP14>
+                   <DEAD TEMP14>
+PHRASE21
+                   <EQUAL? TPS7 'STRING - PHRASE23>
+                   <FRAME '\1aPUT-STRING>
+                   <PUSH STR4>
+                   <DEAD STR4>
+                   <PUSH NUM5>
+                   <DEAD NUM5>
+                   <PUSH VDAT6>
+                   <DEAD VDAT6>
+                   <CALL '\1aPUT-STRING 3 = TEMP14>
+                   <RETURN TEMP14>
+                   <DEAD TEMP14>
+PHRASE23
+                   <EQUAL? TPS7 'BYTES - PHRASE25>
+                   <FRAME '\1aPUT-BYTES>
+                   <PUSH STR4>
+                   <DEAD STR4>
+                   <PUSH NUM5>
+                   <DEAD NUM5>
+                   <PUSH VDAT6>
+                   <DEAD VDAT6>
+                   <CALL '\1aPUT-BYTES 3 = TEMP14>
+                   <RETURN TEMP14>
+                   <DEAD TEMP14>
+PHRASE25
+                   <EQUAL? TPS7 'TEMPLATE - PHRASE27>
+                   <FRAME '\1aPUT-RECORD>
+                   <PUSH STR4>
+                   <DEAD STR4>
+                   <PUSH NUM5>
+                   <DEAD NUM5>
+                   <PUSH VDAT6>
+                   <DEAD VDAT6>
+                   <FRAME '\1aRECTYPE?>
+                   <PUSH TYP8>
+                   <DEAD TYP8>
+                   <CALL '\1aRECTYPE? 1 = STACK>
+                   <PUSH ETYP9>
+                   <DEAD ETYP9>
+                   <CALL '\1aPUT-RECORD 5 = TEMP14>
+                   <RETURN TEMP14>
+                   <DEAD TEMP14>
+PHRASE27
+                   <FRAME '\1aPUT-RECORD>
+                   <PUSH STR4>
+                   <DEAD STR4>
+                   <PUSH NUM5>
+                   <DEAD NUM5>
+                   <PUSH VDAT6>
+                   <DEAD VDAT6>
+                   <PUSH TPS7>
+                   <DEAD TPS7>
+                   <PUSH ETYP9>
+                   <DEAD ETYP9>
+                   <CALL '\1aPUT-RECORD 5 = TEMP14>
+                   <RETURN TEMP14>
+                   <DEAD TEMP14>
+                   <END \1aDATCLOB>
+#WORD *16137753046*
+<GFCN \1aRECTYPE? ("VALUE" ANY ANY) TYP4>
+                   <TEMP TEMP6>
+                   <INTGO>
+                   <FRAME '\1aISTYPE?>
+                   <PUSH TYP4>
+                   <CALL '\1aISTYPE? 1 = TEMP6>
+                   <TYPE? TEMP6 <TYPE-CODE FALSE> - PHRASE8>
+                   <TYPE? TYP4 <TYPE-CODE FORM> + TAG10>
+                   <TYPE? TYP4 <TYPE-CODE SEGMENT> + TAG10>
+                   <RETURN %<>>
+TAG10
+                   <EMPL? TYP4 + TAG13>
+                   <RESTL TYP4 1 = TEMP6 (TYPE LIST)>
+                   <EMPL? TEMP6 - TAG12>
+                   <DEAD TEMP6>
+TAG13
+                   <RETURN %<>>
+TAG12
+                   <NTHL TYP4 1 = TEMP6>
+                   <EQUAL? TEMP6 'OR + TAG15>
+                   <DEAD TEMP6>
+                   <RETURN %<>>
+TAG15
+                   <FRAME '\1aRECTYPE?>
+                   <RESTL TYP4 1 = TEMP6 (TYPE LIST)>
+                   <DEAD TYP4>
+                   <NTHL TEMP6 1 = STACK>
+                   <DEAD TEMP6>
+                   <CALL '\1aRECTYPE? 1 = TEMP6>
+PHRASE8
+                   <RETURN TEMP6>
+                   <DEAD TEMP6>
+                   <END \1aRECTYPE?>
+#WORD *31040033227*
+<GFCN \1aPUTREST-GEN ("VALUE" ANY NODE ANY) NOD4 WHERE5>
+                   <TEMP ST27 K8:LIST ONO9 TEMP3:LBIND (2RET11 %<>) TEMP18>
+                   <INTGO>
+                   <NTHUV NOD4 5 = K8 (TYPE LIST)>
+                   <GEN-LVAL 'NO-KILL = ONO9>
+                   <GETS 'BIND = TEMP3 (TYPE LBIND)>
+                   <BBIND 'NO-KILL 'LIST 'FIX ONO9>
+                   <DEAD ONO9>
+                   <NTHUV NOD4 9 = ONO9>
+                   <DEAD NOD4>
+                   <GVAL 'REST = TEMP18>
+                   <EQUAL? ONO9 TEMP18 - PHRASE16>
+                   <DEAD ONO9 TEMP18>
+                   <NTHL K8 1 = NOD4 (TYPE NODE)>
+                   <DEAD K8>
+                   <NTHUV NOD4 5 = K8 (TYPE LIST)>
+                   <DEAD NOD4>
+                   <SET 2RET11 'T (TYPE ATOM)>
+PHRASE16
+                   <RESTL K8 1 = TEMP18 (TYPE LIST)>
+                   <NTHL TEMP18 1 = TEMP18 (TYPE NODE)>
+                   <NTHUV TEMP18 1 = TEMP18 (TYPE FIX)>
+                   <VEQUAL? TEMP18 2 - PHRASE20 (TYPE FIX)>
+                   <DEAD TEMP18>
+                   <RESTL K8 1 = TEMP18 (TYPE LIST)>
+                   <NTHL TEMP18 1 = TEMP18 (TYPE NODE)>
+                   <NTHUV TEMP18 4 = TEMP18>
+                   <EQUAL? TEMP18 () - PHRASE20>
+                   <DEAD TEMP18>
+                   <FRAME '\1aGEN>
+                   <NTHL K8 1 = STACK (TYPE NODE)>
+                   <PUSH 'DONT-CARE>
+                   <CALL '\1aGEN 2 = ONO9>
+                   <JUMP + PHRASE23>
+PHRASE20
+                   <FRAME '\1aGEN>
+                   <NTHL K8 1 = STACK (TYPE NODE)>
+                   <PUSH 'DONT-CARE>
+                   <CALL '\1aGEN 2 = ONO9>
+                   <FRAME '\1aINTERF-CHANGE>
+                   <PUSH ONO9>
+                   <DEAD ONO9>
+                   <RESTL K8 1 = TEMP18 (TYPE LIST)>
+                   <NTHL TEMP18 1 = STACK (TYPE NODE)>
+                   <DEAD TEMP18>
+                   <CALL '\1aINTERF-CHANGE 2 = ONO9>
+                   <FRAME '\1aGEN>
+                   <RESTL K8 1 = TEMP18 (TYPE LIST)>
+                   <NTHL TEMP18 1 = STACK (TYPE NODE)>
+                   <DEAD TEMP18>
+                   <PUSH 'DONT-CARE>
+                   <CALL '\1aGEN 2 = ST27>
+PHRASE23
+                   <GEN-LVAL 'CAREFUL = TEMP18>
+                   <TYPE? TEMP18 <TYPE-CODE FALSE> + PHRASE28>
+                   <DEAD TEMP18>
+                   <FRAME '\1aMINL>
+                   <NTHL K8 1 = TEMP18 (TYPE NODE)>
+                   <DEAD K8>
+                   <NTHUV TEMP18 3 = STACK>
+                   <DEAD TEMP18>
+                   <CALL '\1aMINL 1 = TEMP18>
+                   <LESS? TEMP18 1 - PHRASE28 (TYPE FIX)>
+                   <DEAD TEMP18>
+                   <FRAME '\1aEMPTY-CHECK>
+                   <PUSH 'LIST>
+                   <PUSH ONO9>
+                   <PUSH 'LIST>
+                   <CALL '\1aEMPTY-CHECK 3>
+PHRASE28
+                   <TYPE? ST27 <TYPE-CODE UNBOUND> + PHRASE37>
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`PUTREST>
+                   <PUSH ONO9>
+                   <PUSH ST27>
+                   <CALL '\1aIEMIT 3>
+                   <JUMP + PHRASE39>
+PHRASE37
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`PUTREST>
+                   <PUSH ONO9>
+                   <PUSH ()>
+                   <CALL '\1aIEMIT 3>
+PHRASE39
+                   <FRAME '\1aMOVE-ARG>
+                   <VEQUAL? 2RET11 0 + PHRASE43>
+                   <DEAD 2RET11>
+                   <FRAME '\1aFREE-TEMP>
+                   <PUSH ONO9>
+                   <DEAD ONO9>
+                   <CALL '\1aFREE-TEMP 1>
+                   <SET TEMP18 ST27>
+                   <DEAD ST27>
+                   <JUMP + PHRASE45>
+PHRASE43
+                   <FRAME '\1aFREE-TEMP>
+                   <PUSH ST27>
+                   <DEAD ST27>
+                   <CALL '\1aFREE-TEMP 1>
+                   <SET TEMP18 ONO9>
+                   <DEAD ONO9>
+PHRASE45
+                   <PUSH TEMP18>
+                   <DEAD TEMP18>
+                   <PUSH WHERE5>
+                   <DEAD WHERE5>
+                   <CALL '\1aMOVE-ARG 2 = TEMP18>
+                   <UNBIND TEMP3>
+                   <DEAD TEMP3>
+                   <ADJ -9>
+                   <RETURN TEMP18>
+                   <DEAD TEMP18>
+                   <END \1aPUTREST-GEN>
+#WORD *2334670404*
+<GFCN \1aSIDE-EFFECTS? ("VALUE" ANY NODE) N4>
+                   <TEMP TEMP7>
+                   <INTGO>
+                   <NTHUV N4 1 = TEMP7 (TYPE FIX)>
+                   <VEQUAL? TEMP7 2 - TAG8 (TYPE FIX)>
+                   <DEAD TEMP7>
+                   <RETURN %<>>
+TAG8
+                   <NTHUV N4 8 = TEMP7>
+                   <DEAD N4>
+                   <RETURN TEMP7>
+                   <DEAD TEMP7>
+                   <END \1aSIDE-EFFECTS?>
+#WORD *5206706117*
+<GFCN \1aCOMMUTE-STRUC ("VALUE" ANY ANY NODE NODE) RV4 NUMNOD5 STRNOD6>
+                   <TEMP (TEMP11 'T) L8:LIST TEMP20 N7:NODE CD9 TEMP24>
+                   <INTGO>
+                   <GEN-LVAL 'NO-KILL = L8>
+                   <TYPE? RV4 <TYPE-CODE FALSE> - TAG21>
+                   <NTHUV NUMNOD5 1 = TEMP20 (TYPE FIX)>
+                   <VEQUAL? TEMP20 2 - BOOL19 (TYPE FIX)>
+                   <DEAD TEMP20>
+                   <SET TEMP11 %<> (TYPE FALSE)>
+                   <JUMP + BOOL18>
+BOOL19
+                   <NTHUV NUMNOD5 8 = TEMP20>
+                   <TYPE? TEMP20 <TYPE-CODE FALSE> - TAG21>
+                   <DEAD TEMP20>
+BOOL18
+                   <SET N7 STRNOD6>
+                   <NTHUV N7 1 = CD9 (TYPE FIX)>
+                   <GVAL 'SNODES = TEMP20>
+                   <EMPUU? TEMP20 + TAG21>
+                   <LOOP (CD9 VALUE) (TEMP20 LENGTH VALUE)>
+TAG22
+                   <NTHUU TEMP20 1 = TEMP24>
+                   <VEQUAL? TEMP24 CD9 + TAG28>
+                   <DEAD TEMP24>
+                   <RESTUU TEMP20 1 = TEMP20 (TYPE UVECTOR)>
+                   <EMPUU? TEMP20 - TAG22>
+TAG21
+                   <TYPE? RV4 <TYPE-CODE FALSE> + PHRASE15>
+                   <NTHUV STRNOD6 1 = TEMP20 (TYPE FIX)>
+                   <VEQUAL? TEMP20 2 - BOOL27 (TYPE FIX)>
+                   <DEAD TEMP20>
+                   <SET TEMP11 %<> (TYPE FALSE)>
+                   <JUMP + BOOL26>
+BOOL27
+                   <NTHUV STRNOD6 8 = TEMP20>
+                   <DEAD STRNOD6>
+                   <TYPE? TEMP20 <TYPE-CODE FALSE> - PHRASE15>
+                   <DEAD TEMP20>
+BOOL26
+                   <SET N7 NUMNOD5>
+                   <DEAD NUMNOD5>
+                   <NTHUV N7 1 = CD9 (TYPE FIX)>
+                   <GVAL 'SNODES = TEMP20>
+                   <EMPUU? TEMP20 + TAG28>
+                   <LOOP (CD9 VALUE) (TEMP20 LENGTH VALUE)>
+TAG29
+                   <NTHUU TEMP20 1 = TEMP24>
+                   <VEQUAL? TEMP24 CD9 + PHRASE15>
+                   <DEAD TEMP24>
+                   <RESTUU TEMP20 1 = TEMP20 (TYPE UVECTOR)>
+                   <EMPUU? TEMP20 - TAG29>
+TAG28
+                   <VEQUAL? TEMP11 0 + PHRASE32>
+                   <DEAD TEMP11>
+                   <VEQUAL? CD9 10 - PHRASE32 (TYPE FIX)>
+                   <DEAD CD9>
+                   <NTHUV N7 7 = CD9 (TYPE LIST)>
+                   <EMPL? CD9 + PHRASE35>
+                   <RESTL CD9 1 = TEMP20 (TYPE LIST)>
+                   <EMPL? TEMP20 + PHRASE35>
+                   <RESTL TEMP20 1 = TEMP20 (TYPE LIST)>
+                   <EMPL? TEMP20 - PHRASE35>
+                   <DEAD TEMP20>
+                   <RESTL CD9 1 = TEMP20 (TYPE LIST)>
+                   <DEAD CD9>
+                   <NTHL TEMP20 1 = TEMP20>
+                   <TYPE? TEMP20 <TYPE-CODE FALSE> + PHRASE32>
+                   <DEAD TEMP20>
+PHRASE35
+                   <NTHUV N7 4 = CD9>
+                   <DEAD N7>
+                   <TYPE? CD9 <TYPE-CODE FALSE> + PHRASE32>
+                   <SET TEMP20 L8 (TYPE LIST)>
+                   <LOOP>
+MAP38
+                   <INTGO>
+                   <EMPL? TEMP20 + MAPAP41>
+                   <NTHL TEMP20 1 = TEMP11>
+                   <NTHL TEMP11 1 = TEMP11 (TYPE SYMTAB)>
+                   <EQUAL? TEMP11 CD9 + PHRASE32>
+                   <DEAD TEMP11>
+                   <RESTL TEMP20 1 = TEMP20 (TYPE LIST)>
+                   <JUMP + MAP38>
+MAPAP41
+                   <CONS %<> () = TEMP11>
+                   <CONS CD9 TEMP11 = TEMP11>
+                   <DEAD CD9>
+                   <CONS TEMP11 L8 = TEMP11>
+                   <DEAD L8>
+                   <GEN-SET 'NO-KILL TEMP11>
+                   <DEAD TEMP11>
+PHRASE32
+                   <TYPE? RV4 <TYPE-CODE FALSE> - TAG51>
+                   <DEAD RV4>
+                   <RETURN 'T>
+TAG51
+                   <RETURN %<>>
+PHRASE15
+                   <RETURN RV4>
+                   <DEAD RV4>
+                   <END \1aCOMMUTE-STRUC>
+\\f
+
+#WORD *37025417552*
+<GFCN \1aEMPTY-CHECK ("VALUE" <OR ATOM !<FORM ATOM [4 LVAL]>> ANY ANY ANY "OPTIONAL" ANY ANY) TPS7 STR8 TYP9 DIR10 TG11>
+                   <OPT-DISPATCH 3 %<> OPT4 OPT5 OPT6>
+OPT4
+                   <PUSH 'T>
+OPT5
+                   <PUSH '`COMPERR>
+OPT6
+                   <TEMP TEMP16>
+                   <INTGO>
+                   <EQUAL? TPS7 'VECTOR + BOOL14>
+                   <EQUAL? TPS7 'TUPLE - PHRASE13>
+BOOL14
+                   <FRAME '\1aEMPTY-VECTOR>
+                   <PUSH STR8>
+                   <DEAD STR8>
+                   <PUSH TG11>
+                   <DEAD TG11>
+                   <PUSH DIR10>
+                   <DEAD DIR10>
+                   <CALL '\1aEMPTY-VECTOR 3 = TEMP16>
+                   <RETURN TEMP16>
+                   <DEAD TEMP16>
+PHRASE13
+                   <EQUAL? TPS7 'UVECTOR - PHRASE17>
+                   <FRAME '\1aEMPTY-UVECTOR>
+                   <PUSH STR8>
+                   <DEAD STR8>
+                   <PUSH TG11>
+                   <DEAD TG11>
+                   <PUSH DIR10>
+                   <DEAD DIR10>
+                   <CALL '\1aEMPTY-UVECTOR 3 = TEMP16>
+                   <RETURN TEMP16>
+                   <DEAD TEMP16>
+PHRASE17
+                   <EQUAL? TPS7 'STRING - PHRASE19>
+                   <FRAME '\1aEMPTY-STRING>
+                   <PUSH STR8>
+                   <DEAD STR8>
+                   <PUSH TG11>
+                   <DEAD TG11>
+                   <PUSH DIR10>
+                   <DEAD DIR10>
+                   <CALL '\1aEMPTY-STRING 3 = TEMP16>
+                   <RETURN TEMP16>
+                   <DEAD TEMP16>
+PHRASE19
+                   <EQUAL? TPS7 'BYTES - PHRASE21>
+                   <FRAME '\1aEMPTY-BYTES>
+                   <PUSH STR8>
+                   <DEAD STR8>
+                   <PUSH TG11>
+                   <DEAD TG11>
+                   <PUSH DIR10>
+                   <DEAD DIR10>
+                   <CALL '\1aEMPTY-BYTES 3 = TEMP16>
+                   <RETURN TEMP16>
+                   <DEAD TEMP16>
+PHRASE21
+                   <EQUAL? TPS7 'LIST - PHRASE23>
+                   <FRAME '\1aEMPTY-LIST>
+                   <PUSH STR8>
+                   <DEAD STR8>
+                   <PUSH TG11>
+                   <DEAD TG11>
+                   <PUSH DIR10>
+                   <DEAD DIR10>
+                   <CALL '\1aEMPTY-LIST 3 = TEMP16>
+                   <RETURN TEMP16>
+                   <DEAD TEMP16>
+PHRASE23
+                   <EQUAL? TPS7 'TEMPLATE - PHRASE25>
+                   <DEAD TPS7>
+                   <RETURN <EMPTY-RECORD .STR .TG .DIR .TYP>>
+PHRASE25
+                   <RETURN <EMPTY-RECORD .STR .TG .DIR .TPS>>
+                   <END \1aEMPTY-CHECK>
+#WORD *3030630610*
+<GFCN \1aLENGTH-CHECK ("VALUE" ANY ANY ANY ANY ANY) TPS4 STR5 NUM6 TYP7>
+                   <TEMP TMP8>
+                   <INTGO>
+                   <FRAME '\1aGEN-TEMP>
+                   <PUSH 'FIX>
+                   <CALL '\1aGEN-TEMP 1 = TMP8>
+                   <EQUAL? TPS4 'VECTOR + BOOL16>
+                   <EQUAL? TPS4 'TUPLE - PHRASE15>
+BOOL16
+                   <FRAME '\1aLENGTH-VECTOR>
+                   <PUSH STR5>
+                   <DEAD STR5>
+                   <PUSH TMP8>
+                   <CALL '\1aLENGTH-VECTOR 2>
+                   <JUMP + PHRASE26>
+PHRASE15
+                   <EQUAL? TPS4 'LIST - PHRASE18>
+                   <FRAME '\1aLENGTH-LIST>
+                   <PUSH STR5>
+                   <DEAD STR5>
+                   <PUSH TMP8>
+                   <CALL '\1aLENGTH-LIST 2>
+                   <JUMP + PHRASE26>
+PHRASE18
+                   <EQUAL? TPS4 'UVECTOR - PHRASE20>
+                   <FRAME '\1aLENGTH-UVECTOR>
+                   <PUSH STR5>
+                   <DEAD STR5>
+                   <PUSH TMP8>
+                   <CALL '\1aLENGTH-UVECTOR 2>
+                   <JUMP + PHRASE26>
+PHRASE20
+                   <EQUAL? TPS4 'STRING - PHRASE22>
+                   <FRAME '\1aLENGTH-STRING>
+                   <PUSH STR5>
+                   <DEAD STR5>
+                   <PUSH TMP8>
+                   <CALL '\1aLENGTH-STRING 2>
+                   <JUMP + PHRASE26>
+PHRASE22
+                   <EQUAL? TPS4 'BYTES - PHRASE24>
+                   <DEAD TPS4>
+                   <FRAME '\1aLENGTH-BYTES>
+                   <PUSH STR5>
+                   <DEAD STR5>
+                   <PUSH TMP8>
+                   <CALL '\1aLENGTH-BYTES 2>
+                   <JUMP + PHRASE26>
+PHRASE24
+                   <FRAME '\1aFREE-TEMP>
+                   <PUSH TMP8>
+                   <DEAD TMP8>
+                   <CALL '\1aFREE-TEMP 1>
+                   <RETURN 'T>
+PHRASE26
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`LESS?>
+                   <PUSH TMP8>
+                   <PUSH NUM6>
+                   <DEAD NUM6>
+                   <PUSH '+>
+                   <PUSH '`COMPERR>
+                   <PUSH (`TYPE FIX)>
+                   <CALL '\1aIEMIT 6>
+                   <FRAME '\1aFREE-TEMP>
+                   <PUSH TMP8>
+                   <DEAD TMP8>
+                   <CALL '\1aFREE-TEMP 1 = TMP8>
+                   <RETURN TMP8>
+                   <DEAD TMP8>
+                   <END \1aLENGTH-CHECK>
+#WORD *12423013474*
+<GFCN \1aTOP-GEN ("VALUE" ANY NODE ANY) N4 W5>
+                   <TEMP TEMP8>
+                   <INTGO>
+                   <FRAME '\1aGEN>
+                   <NTHUV N4 5 = TEMP8 (TYPE LIST)>
+                   <DEAD N4>
+                   <NTHL TEMP8 1 = STACK (TYPE NODE)>
+                   <DEAD TEMP8>
+                   <PUSH 'DONT-CARE>
+                   <CALL '\1aGEN 2 = TEMP8>
+                   <FRAME '\1aFREE-TEMP>
+                   <PUSH TEMP8>
+                   <PUSH %<>>
+                   <CALL '\1aFREE-TEMP 2>
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`TOPU>
+                   <PUSH TEMP8>
+                   <DEAD TEMP8>
+                   <PUSH '=>
+                   <EQUAL? W5 'DONT-CARE - PHRASE12>
+                   <FRAME '\1aGEN-TEMP>
+                   <CALL '\1aGEN-TEMP 0 = W5>
+                   <SET TEMP8 W5>
+                   <JUMP + PHRASE16>
+PHRASE12
+                   <TYPE? W5 <TYPE-CODE TEMP> - PHRASE14>
+                   <FRAME '\1aUSE-TEMP>
+                   <PUSH W5>
+                   <CALL '\1aUSE-TEMP 1>
+                   <SET TEMP8 W5>
+                   <JUMP + PHRASE16>
+PHRASE14
+                   <SET TEMP8 W5>
+PHRASE16
+                   <PUSH TEMP8>
+                   <DEAD TEMP8>
+                   <CALL '\1aIEMIT 4>
+                   <RETURN W5>
+                   <DEAD W5>
+                   <END \1aTOP-GEN>
+#WORD *16561550304*
+                   <GFCN \1aBACK-GEN ("VALUE" ANY NODE ANY) N4 W5>
+                   <TEMP K8:LIST D6 TEMP14>
+                   <INTGO>
+                   <NTHUV N4 5 = K8 (TYPE LIST)>
+                   <DEAD N4>
+                   <FRAME '\1aGEN>
+                   <NTHL K8 1 = STACK (TYPE NODE)>
+                   <PUSH 'DONT-CARE>
+                   <CALL '\1aGEN 2 = D6>
+                   <RESTL K8 1 = TEMP14 (TYPE LIST)>
+                   <EMPL? TEMP14 - BOOL13 (TYPE LIST)>
+                   <DEAD TEMP14>
+                   <SET TEMP14 1 (TYPE FIX)>
+                   <JUMP + BOOL12>
+BOOL13
+                   <RESTL K8 1 = TEMP14 (TYPE LIST)>
+                   <NTHL TEMP14 1 = TEMP14 (TYPE NODE)>
+                   <NTHUV TEMP14 1 = TEMP14 (TYPE FIX)>
+                   <VEQUAL? TEMP14 2 - PHRASE11 (TYPE FIX)>
+                   <DEAD TEMP14>
+                   <RESTL K8 1 = TEMP14 (TYPE LIST)>
+                   <NTHL TEMP14 1 = TEMP14 (TYPE NODE)>
+                   <NTHUV TEMP14 4 = TEMP14>
+                   <TYPE? TEMP14 <TYPE-CODE FALSE> + PHRASE11>
+BOOL12
+                   <TYPE? TEMP14 <TYPE-CODE OFFSET> - PHRASE17>
+                   <NTHUV TEMP14 1 = TEMP14>
+PHRASE17
+                   <FRAME '\1aFREE-TEMP>
+                   <PUSH D6>
+                   <PUSH %<>>
+                   <CALL '\1aFREE-TEMP 2>
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`BACKU>
+                   <PUSH D6>
+                   <DEAD D6>
+                   <PUSH TEMP14>
+                   <DEAD TEMP14>
+                   <PUSH '=>
+                   <EQUAL? W5 'DONT-CARE - PHRASE21>
+                   <FRAME '\1aGEN-TEMP>
+                   <CALL '\1aGEN-TEMP 0 = W5>
+                   <SET TEMP14 W5>
+                   <JUMP + PHRASE25>
+PHRASE21
+                   <TYPE? W5 <TYPE-CODE TEMP> - PHRASE23>
+                   <FRAME '\1aUSE-TEMP>
+                   <PUSH W5>
+                   <CALL '\1aUSE-TEMP 1>
+                   <SET TEMP14 W5>
+                   <JUMP + PHRASE25>
+PHRASE23
+                   <SET TEMP14 W5>
+PHRASE25
+                   <PUSH TEMP14>
+                   <DEAD TEMP14>
+                   <CALL '\1aIEMIT 5>
+                   <RETURN W5>
+                   <DEAD W5>
+PHRASE11
+                   <FRAME '\1aFREE-TEMP>
+                   <FRAME '\1aGEN>
+                   <RESTL K8 1 = TEMP14 (TYPE LIST)>
+                   <DEAD K8>
+                   <NTHL TEMP14 1 = STACK (TYPE NODE)>
+                   <DEAD TEMP14>
+                   <PUSH 'DONT-CARE>
+                   <CALL '\1aGEN 2 = TEMP14>
+                   <PUSH TEMP14>
+                   <PUSH %<>>
+                   <CALL '\1aFREE-TEMP 2>
+                   <FRAME '\1aFREE-TEMP>
+                   <PUSH D6>
+                   <PUSH %<>>
+                   <CALL '\1aFREE-TEMP 2>
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`BACKU>
+                   <PUSH D6>
+                   <DEAD D6>
+                   <PUSH TEMP14>
+                   <DEAD TEMP14>
+                   <PUSH '=>
+                   <EQUAL? W5 'DONT-CARE - PHRASE32>
+                   <FRAME '\1aGEN-TEMP>
+                   <CALL '\1aGEN-TEMP 0 = W5>
+                   <SET TEMP14 W5>
+                   <JUMP + PHRASE36>
+PHRASE32
+                   <TYPE? W5 <TYPE-CODE TEMP> - PHRASE34>
+                   <FRAME '\1aUSE-TEMP>
+                   <PUSH W5>
+                   <CALL '\1aUSE-TEMP 1>
+                   <SET TEMP14 W5>
+                   <JUMP + PHRASE36>
+PHRASE34
+                   <SET TEMP14 W5>
+PHRASE36
+                   <PUSH TEMP14>
+                   <DEAD TEMP14>
+                   <CALL '\1aIEMIT 5>
+                   <RETURN W5>
+                   <DEAD W5>
+                   <END \1aBACK-GEN>
+
+<ENDPACKAGE
\ No newline at end of file