diff --git a/books/bookvol9.pamphlet b/books/bookvol9.pamphlet
index c79a851..7a7c6c4 100644
--- a/books/bookvol9.pamphlet
+++ b/books/bookvol9.pamphlet
@@ -2192,7 +2192,7 @@ of the symbol being parsed. The original list read:
        argTypeList typeList form specialCaseForm tmp4 tmp6 tmp8)
  (declare (special $boot |$maxSignatureLineNumber| |$headerDocumentation|
                    |$docList| |$InteractiveMode|))
-  (setq defOp (car arg))
+  (setq defOp (first arg))
   (setq lhs (second arg))
   (setq rhs (third arg))
   (if (and (pairp lhs) (eq (qcar lhs) '|macro|)
@@ -2207,7 +2207,7 @@ of the symbol being parsed. The original list read:
     (setq lhs (|postTran| lhs))
     (setq tmp1
      (if (and (pairp lhs) (eq (qcar lhs) '|:|)) (cdr lhs) (list lhs nil)))
-    (setq form (car tmp1))
+    (setq form (first tmp1))
     (setq targetType (second tmp1))
     (when (and (null |$InteractiveMode|) (atom form)) (setq form (list form)))
     (setq newLhs
@@ -2219,7 +2219,7 @@ of the symbol being parsed. The original list read:
          (push
            (if (and (pairp x) (eq (qcar x) '|:|) (pairp (qcdr x))
                     (pairp (qcdr (qcdr x))) (eq (qcdr (qcdr (qcdr x))) nil))
-            (qcar (qcdr x))
+            (second x)
             x)
            tmp4)))
        (setq op (car tmp1))
@@ -2235,13 +2235,188 @@ of the symbol being parsed. The original list read:
          tmp6))))
     (setq typeList (cons targetType argTypeList))
     (when (atom form) (setq form (list form)))
-    (setq specialCaseForm
-     (dolist (x form (nreverse tmp8))
-      (setq tmp8 (cons nil tmp8))))
+    (setq specialCaseForm (dolist (x form (nreverse tmp8)) (push nil tmp8)))
     (list 'def newLhs typeList specialCaseForm (|postTran| rhs))))))
 
 @
 
+\defplist{=>}{postExit}
+<<postvars>>=
+(eval-when (eval load)
+ (setf (get '|=>| '|postTran|) '|postExit|))
+
+@
+
+\defun{postExit}{postExit}
+\calls{postExit}{postTran}
+<<defun postExit>>=
+(defun |postExit| (arg)
+ (list 'if (|postTran| (second arg))
+  (list '|exit| (|postTran| (third arg)))
+   '|noBranch|))
+
+@
+
+\defplist{if}{postIf}
+<<postvars>>=
+(eval-when (eval load)
+ (setf (get '|if| '|postTran|) '|postIf|))
+
+@
+
+\defun{postIf}{postIf}
+\calls{postIf}{nreverse0}
+\calls{postIf}{postTran}
+\usesdollar{postIf}{boot}
+<<defun postIf>>=
+(defun |postIf| (arg)
+ (let (tmp1)
+  (if (null (and (pairp arg) (eq (qcar arg) '|if|)))
+   arg
+   (cons 'if
+    (dolist (x (qcdr arg) (nreverse0 tmp1))
+     (push
+       (if (and (null (setq x (|postTran| x))) (null $boot)) '|noBranch| x)
+       tmp1))))))
+
+@
+
+\defplist{in}{postin}
+<<postvars>>=
+(eval-when (eval load)
+ (setf (get '|in| '|postTran|) '|postin|))
+
+@
+
+\defun{postin}{postin}
+\calls{postin}{systemErrorHere}
+\calls{postin}{postTran}
+\calls{postin}{postInSeq}
+<<defun postin>>=
+(defun |postin| (arg)
+ (if (null (and (pairp arg) (eq (qcar arg) '|in|) (pairp (qcdr arg))
+                (pairp (qcdr (qcdr arg))) (eq (qcdr (qcdr (qcdr arg))) nil)))
+   (|systemErrorHere| "postin")
+   (list '|in| (|postTran| (second arg)) (|postInSeq| (third arg)))))
+
+@
+
+\defplist{In}{postIn}
+<<postvars>>=
+(eval-when (eval load)
+ (setf (get 'in '|postTran|) '|postIn|))
+
+@
+
+\defun{postIn}{postIn}
+\calls{postIn}{systemErrorHere}
+\calls{postIn}{postTran}
+\calls{postIn}{postInSeq}
+<<defun postIn>>=
+(defun |postIn| (arg)
+  (if (null (and (pairp arg) (eq (qcar arg) 'in) (pairp (qcdr arg))
+                 (pairp (qcdr (qcdr arg))) (eq (qcdr (qcdr (qcdr arg))) nil)))
+    (|systemErrorHere| "postIn")
+    (list 'in (|postTran| (second arg)) (|postInSeq| (third arg)))))
+
+@
+
+\defplist{Join}{postJoin}
+<<postvars>>=
+(eval-when (eval load)
+ (setf (get '|Join| '|postTran|) '|postJoin|))
+
+@
+
+\defun{postJoin}{postJoin}
+\calls{postJoin}{postTran}
+\calls{postJoin}{postTranList}
+<<defun postJoin>>=
+(defun |postJoin| (arg)
+ (let (a l al)
+  (setq a (|postTran| (cadr arg)))
+  (setq l (|postTranList| (cddr arg)))
+  (when (and (pairp l) (eq (qcdr l) nil) (pairp (qcar l))
+             (member (qcar (qcar l)) '(attribute signature)))
+    (setq l (list (list 'category (qcar l)))))
+  (setq al (if (and (pairp a) (eq (qcar a) '|@Tuple|)) (qcdr a) (list a)))
+  (cons '|Join| (append al l))))
+
+@
+
+\defplist{->}{postMapping}
+<<postvars>>=
+(eval-when (eval load)
+ (setf (get '|->| '|postTran|) '|postMapping|))
+
+@
+
+\defun{postMapping}{postMapping}
+\calls{postMapping}{postTran}
+\calls{postMapping}{unTuple}
+<<defun postMapping>>=
+(defun |postMapping| (u)
+ (if (null (and (pairp u) (eq (qcar u) '->) (pairp (qcdr u))
+           (pairp (qcdr (qcdr u))) (eq (qcdr (qcdr (qcdr u))) nil)))
+   u
+   (cons '|Mapping|
+    (cons (|postTran| (third u))
+          (|unTuple| (|postTran| (second u)))))))
+
+@
+
+\defplist{==>}{postMDef}
+<<postvars>>=
+(eval-when (eval load)
+ (setf (get '|==>| '|postTran|) '|postMDef|))
+
+@
+
+\defun{postMDef}{postMDef}
+\calls{postMDef}{postTran}
+\calls{postMDef}{throwkeyedmsg}
+\calls{postMDef}{nreverse0}
+\usesdollar{postMDef}{InteractiveMode}
+\usesdollar{postMDef}{boot}
+<<defun postMDef>>=
+(defun |postMDef| (arg)
+ (let (rhs lhs tmp1 targetType form newLhs typeList tmp4 tmp5 tmp8)
+ (declare (special |$InteractiveMode| $boot))
+  (setq lhs (second arg))
+  (setq rhs (third arg))
+  (cond
+   ((and |$InteractiveMode| (null $boot))
+    (setq lhs (|postTran| lhs))
+    (if (null (identp lhs))
+      (|throwkeyedmsg| 's2ip0001 nil)
+      (list 'mdef lhs nil nil (|postTran| rhs))))
+   (t
+    (setq lhs (|postTran| lhs))
+    (setq tmp1
+     (if (and (pairp lhs) (eq (qcar lhs) '|:|)) (cdr lhs) (list lhs nil)))
+    (setq form (first tmp1))
+    (setq targetType (second tmp1))
+    (setq form (if (atom form) (list form) form))
+    (setq newLhs
+     (dolist (x form (nreverse0 tmp4))
+      (push
+       (if (and (pairp x) (eq (qcar x) '|:|) (pairp (qcdr x))) (second x) x)
+       tmp4)))
+    (setq typeList
+     (cons targetType
+      (dolist (x (qcdr form) (nreverse0 tmp5))
+       (push
+         (when (and (pairp x) (eq (qcar x) '|:|) (pairp (qcdr x))
+                    (pairp (qcdr (qcdr x))) (eq (qcdr (qcdr (qcdr x))) nil))
+            (third x))
+          tmp5))))
+    (list 'mdef newLhs typeList 
+     (dolist (x form (nreverse0 tmp8)) (push nil tmp8))
+     (|postTran| rhs))))))
+
+@
+
+
 \defplist{with}{postWith}
 <<postvars>>=
 (eval-when (eval load)
@@ -8899,6 +9074,13 @@ if \verb|$InteractiveMode| then use a null outputstream
 <<defun postConstruct>>
 <<defun postDef>>
 <<defun postError>>
+<<defun postExit>>
+<<defun postIf>>
+<<defun postin>>
+<<defun postIn>>
+<<defun postJoin>>
+<<defun postMapping>>
+<<defun postMDef>>
 <<defun postOp>>
 <<defun postScriptsForm>>
 <<defun postTran>>
diff --git a/changelog b/changelog
index 30016de..91cb9aa 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,7 @@
+20101101 tpd src/axiom-website/patches.html 20101101.01.tpd.patch
+20101101 tpd src/interp/vmlisp.lisp treeshake compiler
+20101101 tpd src/interp/parsing.lisp treeshake compiler
+20101101 tpd books/bookvol9 treeshake compiler
 20101026 tpd src/axiom-website/patches.html 20101026.01.tpd.patch
 20101026 tpd src/interp/vmlisp.lisp.pamphlet
 20101026 tpd src/interp/parsing.lisp treeshake compiler
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index 541adff..d8a9d48 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -3254,5 +3254,8 @@ books/tangle.lisp automate making input files<br/>
 books/bookvol9 treeshake compiler<br/>
 <a href="patches/20101026.01.tpd.patch">20101026.01.tpd.patch</a>
 books/bookvol9 treeshake compiler<br/>
+<a href="patches/20101101.01.tpd.patch">20101101.01.tpd.patch</a>
+books/bookvol9 treeshake compiler<br/>
+
  </body>
 </html>
diff --git a/src/interp/parsing.lisp.pamphlet b/src/interp/parsing.lisp.pamphlet
index 109e046..51356ea 100644
--- a/src/interp/parsing.lisp.pamphlet
+++ b/src/interp/parsing.lisp.pamphlet
@@ -2407,26 +2407,6 @@ parse
 ;;;     ***       |postDefArgs| REDEFINED
 
 (DEFUN |postDefArgs| (|argl|) (PROG (|ISTMP#1| |ISTMP#2| |a| |b|) (RETURN (COND ((NULL |argl|) |argl|) ((AND (PAIRP |argl|) (PROGN (SPADLET |ISTMP#1| (QCAR |argl|)) (AND (PAIRP |ISTMP#1|) (EQ (QCAR |ISTMP#1|) (QUOTE |:|)) (PROGN (SPADLET |ISTMP#2| (QCDR |ISTMP#1|)) (AND (PAIRP |ISTMP#2|) (EQ (QCDR |ISTMP#2|) NIL) (PROGN (SPADLET |a| (QCAR |ISTMP#2|)) (QUOTE T)))))) (PROGN (SPADLET |b| (QCDR |argl|)) (QUOTE T))) (COND (|b| (|postError| (CONS "   Argument" (APPEND (|bright| |a|) (CONS "of indefinite length must be last" NIL))))) ((OR (ATOM |a|) (AND (PAIRP |a|) (EQ (QCAR |a|) (QUOTE QUOTE)))) |a|) ((QUOTE T) (|postError| (CONS "   Argument" (APPEND (|bright| |a|) (CONS "of indefinite length must be a name" NIL))))))) ((QUOTE T) (CONS (CAR |argl|) (|postDefArgs| (CDR |argl|)))))))) 
-;postMDef(t) ==
-;  [.,lhs,rhs] := t
-;  $InteractiveMode and not $BOOT =>
-;    lhs := postTran lhs
-;    null IDENTP lhs => throwKeyedMsg("S2IP0001",NIL)
-;    ['MDEF,lhs,NIL,NIL,postTran rhs]
-;  lhs:= postTran lhs
-;  [form,targetType]:=
-;    lhs is [":",:.] => rest lhs
-;    [lhs,nil]
-;  form:=
-;    atom form => LIST form
-;    form
-;  newLhs:= [(x is [":",a,:.] => a; x) for x in form]
-;  typeList:= [targetType,:[(x is [":",.,t] => t; nil) for x in rest form]]
-;  ['MDEF,newLhs,typeList,[nil for x in form],postTran rhs]
-
-;;;     ***       |postMDef| REDEFINED
-
-(DEFUN |postMDef| (|t|) (PROG (|rhs| |lhs| |LETTMP#1| |targetType| |form| |a| |newLhs| |ISTMP#1| |ISTMP#2| |typeList|) (RETURN (SEQ (PROGN (SPADLET |lhs| (CADR |t|)) (SPADLET |rhs| (CADDR |t|)) (COND ((AND |$InteractiveMode| (NULL $BOOT)) (SPADLET |lhs| (|postTran| |lhs|)) (COND ((NULL (IDENTP |lhs|)) (|throwKeyedMsg| (QUOTE S2IP0001) NIL)) ((QUOTE T) (CONS (QUOTE MDEF) (CONS |lhs| (CONS NIL (CONS NIL (CONS (|postTran| |rhs|) NIL)))))))) ((QUOTE T) (SPADLET |lhs| (|postTran| |lhs|)) (SPADLET |LETTMP#1| (COND ((AND (PAIRP |lhs|) (EQ (QCAR |lhs|) (QUOTE |:|))) (CDR |lhs|)) ((QUOTE T) (CONS |lhs| (CONS NIL NIL))))) (SPADLET |form| (CAR |LETTMP#1|)) (SPADLET |targetType| (CADR |LETTMP#1|)) (SPADLET |form| (COND ((ATOM |form|) (LIST |form|)) ((QUOTE T) |form|))) (SPADLET |newLhs| (PROG (#0=#:G166845) (SPADLET #0# NIL) (RETURN (DO ((#1=#:G166854 |form| (CDR #1#)) (|x| NIL)) ((OR (ATOM #1#) (PROGN (SETQ |x| (CAR #1#)) NIL)) (NREVERSE0 #0#)) (SEQ (EXIT (SETQ #0# (CONS (COND ((AND (PAIRP |x|) (EQ (QCAR |x|) (QUOTE |:|)) (PROGN (SPADLET |ISTMP#1| (QCDR |x|)) (AND (PAIRP |ISTMP#1|) (PROGN (SPADLET |a| (QCAR |ISTMP#1|)) (QUOTE T))))) |a|) ((QUOTE T) |x|)) #0#)))))))) (SPADLET |typeList| (CONS |targetType| (PROG (#2=#:G166870) (SPADLET #2# NIL) (RETURN (DO ((#3=#:G166881 (CDR |form|) (CDR #3#)) (|x| NIL)) ((OR (ATOM #3#) (PROGN (SETQ |x| (CAR #3#)) NIL)) (NREVERSE0 #2#)) (SEQ (EXIT (SETQ #2# (CONS (COND ((AND (PAIRP |x|) (EQ (QCAR |x|) (QUOTE |:|)) (PROGN (SPADLET |ISTMP#1| (QCDR |x|)) (AND (PAIRP |ISTMP#1|) (PROGN (SPADLET |ISTMP#2| (QCDR |ISTMP#1|)) (AND (PAIRP |ISTMP#2|) (EQ (QCDR |ISTMP#2|) NIL) (PROGN (SPADLET |t| (QCAR |ISTMP#2|)) (QUOTE T))))))) |t|) ((QUOTE T) NIL)) #2#))))))))) (CONS (QUOTE MDEF) (CONS |newLhs| (CONS |typeList| (CONS (PROG (#4=#:G166891) (SPADLET #4# NIL) (RETURN (DO ((#5=#:G166896 |form| (CDR #5#)) (|x| NIL)) ((OR (ATOM #5#) (PROGN (SETQ |x| (CAR #5#)) NIL)) (NREVERSE0 #4#)) (SEQ (EXIT (SETQ #4# (CONS NIL #4#))))))) (CONS (|postTran| |rhs|) NIL)))))))))))) 
 ;postElt (u is [.,a,b]) ==
 ;  a:= postTran a
 ;  b is ['Sequence,:.] => [['elt,a,'makeRecord],:postTranList rest b]
@@ -2435,11 +2415,6 @@ parse
 ;;;     ***       |postElt| REDEFINED
 
 (DEFUN |postElt| (|u|) (PROG (|b| |a|) (RETURN (PROGN (SPADLET |a| (CADR |u|)) (SPADLET |b| (CADDR |u|)) (SPADLET |a| (|postTran| |a|)) (COND ((AND (PAIRP |b|) (EQ (QCAR |b|) (QUOTE |Sequence|))) (CONS (CONS (QUOTE |elt|) (CONS |a| (CONS (QUOTE |makeRecord|) NIL))) (|postTranList| (CDR |b|)))) ((QUOTE T) (CONS (QUOTE |elt|) (CONS |a| (CONS (|postTran| |b|) NIL))))))))) 
-;postExit ["=>",a,b] == ['IF,postTran a,['exit,postTran b],'noBranch]
-
-;;;     ***       |postExit| REDEFINED
-
-(DEFUN |postExit| (#0=#:G166938) (PROG (|a| |b|) (RETURN (PROGN (COND ((EQ (CAR #0#) (QUOTE =>)) (CAR #0#))) (SPADLET |a| (CADR #0#)) (SPADLET |b| (CADDR #0#)) (CONS (QUOTE IF) (CONS (|postTran| |a|) (CONS (CONS (QUOTE |exit|) (CONS (|postTran| |b|) NIL)) (CONS (QUOTE |noBranch|) NIL)))))))) 
 ;postFlatten(x,op) ==
 ;  x is [ =op,a,b] => [:postFlatten(a,op),:postFlatten(b,op)]
 ;  LIST x
@@ -2482,34 +2457,6 @@ parse
 
 (DEFUN |postScripts| (#0=#:G167060) (PROG (|op| |a|) (RETURN (PROGN (SPADLET |op| (CADR #0#)) (SPADLET |a| (CADDR #0#)) (CONS (|getScriptName| |op| |a| 0) (|postTranScripts| |a|)))))) 
 
-;postIf t ==
-;  t isnt ['if,:l] => t
-;  ['IF,:[(null (x:= postTran x) and null $BOOT => 'noBranch; x)
-;    for x in l]]
-
-;;;     ***       |postIf| REDEFINED
-
-(DEFUN |postIf| (|t|) (PROG (|l| |x|) (RETURN (SEQ (COND ((NULL (AND (PAIRP |t|) (EQ (QCAR |t|) (QUOTE |if|)) (PROGN (SPADLET |l| (QCDR |t|)) (QUOTE T)))) |t|) ((QUOTE T) (CONS (QUOTE IF) (PROG (#0=#:G167172) (SPADLET #0# NIL) (RETURN (DO ((#1=#:G167177 |l| (CDR #1#)) (|x| NIL)) ((OR (ATOM #1#) (PROGN (SETQ |x| (CAR #1#)) NIL)) (NREVERSE0 #0#)) (SEQ (EXIT (SETQ #0# (CONS (COND ((AND (NULL (SPADLET |x| (|postTran| |x|))) (NULL $BOOT)) (QUOTE |noBranch|)) ((QUOTE T) |x|)) #0#)))))))))))))) 
-;postJoin ['Join,a,:l] ==
-;  a:= postTran a
-;  l:= postTranList l
-;  if l is [b] and b is [name,:.] and MEMQ(name,'(ATTRIBUTE SIGNATURE)) then l
-;    := LIST ['CATEGORY,b]
-;  al:=
-;    a is ['Tuple,:c] => c
-;    LIST a
-;  ['Join,:al,:l]
-
-;;;     ***       |postJoin| REDEFINED
-
-(DEFUN |postJoin| (#0=#:G167191) (PROG (|a| |b| |name| |l| |c| |al|) (RETURN (PROGN (SPADLET |a| (CADR #0#)) (SPADLET |l| (CDDR #0#)) (SPADLET |a| (|postTran| |a|)) (SPADLET |l| (|postTranList| |l|)) (COND ((AND (PAIRP |l|) (EQ (QCDR |l|) NIL) (PROGN (SPADLET |b| (QCAR |l|)) (QUOTE T)) (PAIRP |b|) (PROGN (SPADLET |name| (QCAR |b|)) (QUOTE T)) (member |name| (QUOTE (ATTRIBUTE SIGNATURE)))) (SPADLET |l| (LIST (CONS (QUOTE CATEGORY) (CONS |b| NIL)))))) (SPADLET |al| (COND ((AND (PAIRP |a|) (EQ (QCAR |a|) (QUOTE |@Tuple|)) (PROGN (SPADLET |c| (QCDR |a|)) (QUOTE T))) |c|) ((QUOTE T) (LIST |a|)))) (CONS (QUOTE |Join|) (APPEND |al| |l|)))))) 
-;postMapping u  ==
-;  u isnt ["->",source,target] => u
-;  ['Mapping,postTran target,:unTuple postTran source]
-
-;;;     ***       |postMapping| REDEFINED
-
-(DEFUN |postMapping| (|u|) (PROG (|ISTMP#1| |source| |ISTMP#2| |target|) (RETURN (COND ((NULL (AND (PAIRP |u|) (EQ (QCAR |u|) (QUOTE ->)) (PROGN (SPADLET |ISTMP#1| (QCDR |u|)) (AND (PAIRP |ISTMP#1|) (PROGN (SPADLET |source| (QCAR |ISTMP#1|)) (SPADLET |ISTMP#2| (QCDR |ISTMP#1|)) (AND (PAIRP |ISTMP#2|) (EQ (QCDR |ISTMP#2|) NIL) (PROGN (SPADLET |target| (QCAR |ISTMP#2|)) (QUOTE T)))))))) |u|) ((QUOTE T) (CONS (QUOTE |Mapping|) (CONS (|postTran| |target|) (|unTuple| (|postTran| |source|))))))))) 
 ;postRepeat ['REPEAT,:m,x] == ['REPEAT,:postIteratorList m,postTran x]
 
 ;;;     ***       |postRepeat| REDEFINED
@@ -2556,20 +2503,6 @@ parse
 ;;;     ***       |postIteratorList| REDEFINED
 
 (DEFUN |postIteratorList| (|x|) (PROG (|l| |p| |y| |ISTMP#3| |u| |ISTMP#1| |a| |ISTMP#2| |b|) (RETURN (COND ((AND (PAIRP |x|) (PROGN (SPADLET |p| (QCAR |x|)) (SPADLET |l| (QCDR |x|)) (QUOTE T))) (COND ((PROGN (SPADLET |ISTMP#1| (SPADLET |p| (|postTran| |p|))) (AND (PAIRP |ISTMP#1|) (EQ (QCAR |ISTMP#1|) (QUOTE IN)) (PROGN (SPADLET |ISTMP#2| (QCDR |ISTMP#1|)) (AND (PAIRP |ISTMP#2|) (PROGN (SPADLET |y| (QCAR |ISTMP#2|)) (SPADLET |ISTMP#3| (QCDR |ISTMP#2|)) (AND (PAIRP |ISTMP#3|) (EQ (QCDR |ISTMP#3|) NIL) (PROGN (SPADLET |u| (QCAR |ISTMP#3|)) (QUOTE T)))))))) (COND ((AND (PAIRP |u|) (EQ (QCAR |u|) (QUOTE |\||)) (PROGN (SPADLET |ISTMP#1| (QCDR |u|)) (AND (PAIRP |ISTMP#1|) (PROGN (SPADLET |a| (QCAR |ISTMP#1|)) (SPADLET |ISTMP#2| (QCDR |ISTMP#1|)) (AND (PAIRP |ISTMP#2|) (EQ (QCDR |ISTMP#2|) NIL) (PROGN (SPADLET |b| (QCAR |ISTMP#2|)) (QUOTE T))))))) (CONS (CONS (QUOTE IN) (CONS |y| (CONS (|postInSeq| |a|) NIL))) (CONS (CONS (QUOTE |\||) (CONS |b| NIL)) (|postIteratorList| |l|)))) ((QUOTE T) (CONS (CONS (QUOTE IN) (CONS |y| (CONS (|postInSeq| |u|) NIL))) (|postIteratorList| |l|))))) ((QUOTE T) (CONS |p| (|postIteratorList| |l|))))) ((QUOTE T) |x|))))) 
-;postin arg ==
-;  arg isnt ['in,i,seq] => systemErrorHere '"postin"
-;  ['in,postTran i, postInSeq seq]
-
-;;;     ***       |postin| REDEFINED
-
-(DEFUN |postin| (|arg|) (PROG (|ISTMP#1| |i| |ISTMP#2| |seq|) (RETURN (COND ((NULL (AND (PAIRP |arg|) (EQ (QCAR |arg|) (QUOTE |in|)) (PROGN (SPADLET |ISTMP#1| (QCDR |arg|)) (AND (PAIRP |ISTMP#1|) (PROGN (SPADLET |i| (QCAR |ISTMP#1|)) (SPADLET |ISTMP#2| (QCDR |ISTMP#1|)) (AND (PAIRP |ISTMP#2|) (EQ (QCDR |ISTMP#2|) NIL) (PROGN (SPADLET |seq| (QCAR |ISTMP#2|)) (QUOTE T)))))))) (|systemErrorHere| "postin")) ((QUOTE T) (CONS (QUOTE |in|) (CONS (|postTran| |i|) (CONS (|postInSeq| |seq|) NIL)))))))) 
-;postIn arg ==
-;  arg isnt ['IN,i,seq] => systemErrorHere '"postIn"
-;  ['IN,postTran i,postInSeq seq]
-
-;;;     ***       |postIn| REDEFINED
-
-(DEFUN |postIn| (|arg|) (PROG (|ISTMP#1| |i| |ISTMP#2| |seq|) (RETURN (COND ((NULL (AND (PAIRP |arg|) (EQ (QCAR |arg|) (QUOTE IN)) (PROGN (SPADLET |ISTMP#1| (QCDR |arg|)) (AND (PAIRP |ISTMP#1|) (PROGN (SPADLET |i| (QCAR |ISTMP#1|)) (SPADLET |ISTMP#2| (QCDR |ISTMP#1|)) (AND (PAIRP |ISTMP#2|) (EQ (QCDR |ISTMP#2|) NIL) (PROGN (SPADLET |seq| (QCAR |ISTMP#2|)) (QUOTE T)))))))) (|systemErrorHere| "postIn")) ((QUOTE T) (CONS (QUOTE IN) (CONS (|postTran| |i|) (CONS (|postInSeq| |seq|) NIL)))))))) 
 ;postInSeq seq ==
 ;  seq is ['SEGMENT,p,q] => postTranSegment(p,q)
 ;  seq is ['Tuple,:l] => tuple2List l
diff --git a/src/interp/vmlisp.lisp.pamphlet b/src/interp/vmlisp.lisp.pamphlet
index 4b81502..5a045e2 100644
--- a/src/interp/vmlisp.lisp.pamphlet
+++ b/src/interp/vmlisp.lisp.pamphlet
@@ -6843,8 +6843,8 @@ o  there is some code at the end of SPECEVAL BOOT that puts "up"
   (QUOTE |postQUOTE|)
 ;  (COLLECT |postCollect|)
 ;  (|:BF:| |postBigFloat|)
-  (|in| |postin|)  ;" the infix operator version of in"
-  (IN |postIn|)	 ;" the iterator form of in"
+;  (|in| |postin|)  ;" the infix operator version of in"
+;  (IN |postIn|)	 ;" the iterator form of in"
   (REPEAT |postRepeat|)
   (|TupleCollect| |postTupleCollect|)
 ;  (|add| |postAdd|)
@@ -6856,15 +6856,15 @@ o  there is some code at the end of SPECEVAL BOOT that puts "up"
 ;  (\: |postColon|)
 ;  (@ |postAtSign|)
   (|pretend| |postPretend|)
-  (|if| |postIf|)
-  (|Join| |postJoin|)
+;  (|if| |postIf|)
+;  (|Join| |postJoin|)
   (|Signature| |postSignature|)
 ;  (CATEGORY |postCategory|)
 ;;(	 |postDef|)
 ;  (== |postDef|)
-  (|==>| |postMDef|)
-  (|->| |postMapping|)
-  (|=>| |postExit|)
+;  (|==>| |postMDef|)
+;  (|->| |postMapping|)
+;  (|=>| |postExit|)
   (|@Tuple| |postTuple|)
 )) (MAKEPROP (CAR X) '|postTran| (CADR X)))
 
