anchor.diff:  	,@(loop for slot in slots
   	     for initarg in initargs
   	     collect initarg
  -	     collect `(* (slot-value x ',slot) s))))
  +	     collect `(* (slot-value x ',slot) s))
  +	,@(loop for oslot in oslots
  +	     for oinitarg in oinitargs
  +	     collect oinitarg
  +	     collect `(slot-value x ',oslot))))
        (defmeth2 * ((s number) (x ,class))
          (* x s))))
   
  
positive.code: 	,@(loop for slot in slots
  	     for initarg in initargs
  	     collect initarg
  	     collect `(+ (slot-value a ',slot) (slot-value b ',slot)))))
       ;; Negation / Subtraction
       (defmeth12 - ((a ,class) (b ,class))
         ((make-instance
  
negative.code:   (format stream ">"))
  
  ;;; Macro to define state arithmethic on a custom class
  (defmacro defstatearithmetic (class slots &key (initargs (mapcar #'make-keyword slots)) oslots (oinitargs (mapcar #'make-keyword oslots)))
    "Defines state arithmetic for specified class and slots.
  Assumes state arithmetic already defined for slot types, including
  NORMINFX.  By default, assumes INITARGS of the same name as slots
  already defined. Optionally include OSLOTS and OINITARGS for other
  slots that are copied over and not used in the state value arithmetic,
  e.g. parameters that carry over from state to state."
    `(progn
       ;; Inifinity norm
       (defmethod norminfx ((x ,class))
  