anchor.diff:         collect (loop for p0 in (reverse (cdr p))
                     for q1 in (reverse qq)
                     collect (cons q1 p0))))))
  +
  +(defun polydiv (dividend divisor)
  +  "build an expression tree representing the structure of two-polynomial division"
  +  (labels ((stp (coef xyz pn)
  +             (cons coef
  +                   (loop for p in pn
  +                      for x in (reverse xyz)
  +                      collect (cons x (cons 'times p))))))
  +    (loop for a in dividend
  +       for x in (cons nil divisor)
  +       as px = nil then stps
  +       collecting x into xyz
  +       collecting (stp a (cdr xyz) px) into stps
  +       finally (return stps))))
     
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   ;; CLOS definitions
  
positive.code: (defclass gf16 (gf)
    ((prim :accessor prim :initarg :prim :initform 19)
     (n :accessor n :initform 4)))
    
  (defclass gf256 (gf)
    ((prim :accessor prim :initarg :prim :initform 285)
     (n :accessor n :initform 8)))
  
  (defgeneric g+ (gf x y))
  
  
negative.code:          as r = (g* gf px base)
           finally (return r))))
  
  
  (defmethod gdiv ((gf gf) dividend divisor)
    (let* ((numsym (1- (length divisor)))
  