anchor.diff:  
   ;;; Order is BY TO/UPTO FROM/UPFROM.
   (define-parser arithmetic-up-6-parser
  -  (consecutive (lambda (var type-spec by to form2 from form3)
  -		 (declare (ignore from))
  +  (consecutive (lambda (var type-spec by to form2 from)
   		 (let ((to-var (gensym))
   		       (by-var (gensym)))
   		   (make-instance 'for-as-arithmetic
   		     :bindings `((,by-var ,by)
   				 (,to-var ,form2)
  -				 (,var ,form3))
  -		     :termination
  -		     `(when (,(if (eq to 'below) '>= '>) ,var ,to-var)
  -			(go end))
  -		     :step `(incf ,var ,by-var))))
  -	       'simple-var-parser
  -	       'type-spec-parser
  -	       'by-parser
  -	       (alternative (keyword-parser 'to)
  -			    (keyword-parser 'upto)
  -			    (keyword-parser 'below))
  -	       (singleton #'identity (constantly t))
  -	       (alternative (keyword-parser 'from)
  -			    (keyword-parser 'upfrom))
  -	       (singleton #'identity (constantly t))))
  +				 (,var ,from))
  +		     :termination
  +		     `(when (,(if (eq to 'below) '>= '>) ,var ,to-var)
  +			(go end))
  +		     :step `(incf ,var ,by-var))))
  +	       'simple-var-parser
  +	       'type-spec-parser
  +	       'by-parser
  +	       (alternative (keyword-parser 'to)
  +			    (keyword-parser 'upto)
  +			    (keyword-parser 'below))
  +	       (singleton #'identity (constantly t))
  +	       (alternative 'from-parser 'upfrom-parser)))
   
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   ;;;
  
positive.code: ;;; Order is BY TO/UPTO.
  (define-parser arithmetic-up-12-parser
    (consecutive (lambda (var type-spec by to form2)
  		 (declare (ignore))
  		 (let ((to-var (gensym))
  		       (by-var (gensym)))
  		   (make-instance 'for-as-arithmetic
  
negative.code: 	       'simple-var-parser
  	       'type-spec-parser
  	       'by-parser
  	       (alternative 'from-parser 'upfrom-parser)
  	       (alternative (keyword-parser 'to)
  			    (keyword-parser 'upto)
  			    (keyword-parser 'below))
  