anchor.diff:  
   (defun row (m i)
     (declare (type array-dimension-designator i)
  -           (type (array t (* *)) m)
  -           (values (array t (1 *))))
  +           (type (array * (* *)) m)
  +           (values (array * (1 *))))
     (let* ((n-cols (array-dimension m 1))
            (reslt (make-array (list 1 n-cols)
                               :element-type (array-element-type m))))
       (declare (type array-dimension-designator n-cols)
  -             (type (array t (1 *)) reslt))
  +             (type (array * (1 *)) reslt))
       (dotimes (n n-cols reslt)
         (setf (aref reslt 0 n) 
               (aref m i n))
  
positive.code:                          (factor (gcd col-value (aref this-row col)))
                           (factored-refr (@* factor refr))
                           (result  (@- this-row factored-refr)))
                      (declare (type (simple-array t (*)) vector-form))
                      (dotimes (n (1- n-cols))
                        (setf (aref refr n)
                              (aref result n)))))
  
negative.code: 
    ;; defunct prototype
  
    (declare (type (array * (* *)) m)
             (inline copy-array)
             #+TO-DO (values vector))
    (let* ((n-rows (array-dimension m 0))
  