anchor.diff:  t: CMOVE	FOR AFT >R DUP C@ R@ C! 1+ R> 1+ THEN NEXT 2DROP ;
   t: FILL		SWAP FOR SWAP AFT 2DUP C! 1+ THEN NEXT 2DROP ;
   t: -TRAILING	FOR AFT BL OVER R@ + C@ < IF R> 1+ EXIT THEN THEN NEXT 0 ;
  -t: PACK$
  -  ALIGNED DUP >R OVER DUP 0 8 UM/MOD DROP - OVER + 0 SWAP !
  +t: PACK$ ( b u a -- a )
  +  ALIGNED DUP >R
  +    2DUP C!
  +    1+ SWAP CMOVE
  +  R> ;
  +
  +t: oldPACK$  ALIGNED DUP >R OVER DUP 0 8 UM/MOD DROP - OVER + 0 SWAP !
     2DUP C! 1+ SWAP CMOVE R> ;
   
   \ pg 27 words
  
positive.code: 
  t: abort" ( f --) IF do$ THROW THEN do$ DROP ;
  ( " to restore syntax highlighting )
  
  : tplace	dup tc, begin dup while over c@ tc, 1 /string repeat 2drop ;
  : ",		[char] " word count tplace /cell talign ;
  : ~ABORT"	[t'] abort" t, ", ;
  : ~."		[t'] ."| t, ", ;
  
  \ pg 38 words
  
  t: .S ( --) CR DEPTH FOR AFT R@ PICK . THEN NEXT ."  <sp" ;
  t: $INTERPRET ( a --)
    NAME? IF DUP COUNT TYPE CR
      DUP CELL+ CELL+ @ 2 AND IF ABORT" Compile-only" THEN .S CR
      EXECUTE .S CR EXIT
    THEN
    'NUMBER @EXECUTE IF EXIT THEN
    THROW ;
  
negative.code: t: find ( a va -- xt na | a F )
    ( TODO Find a better way to scan the dictionary. )
    BEGIN DUP WHILE
      2DUP >NAME DUP C@ 1+ ( a va a na l)
      SAME? 0 = IF
        2DROP NIP DUP >NAME EXIT
      THEN
  