anchor.diff:  
   (declaim (inline get-row))
   (defun get-row (mat row)
  -  (declare (type matrix mat))
  -  (declare (type (unsigned-byte 32) row))
  +  (declare (type matrix mat)
  +           (type (unsigned-byte 32) row))
     (create-pt3d (get-mat mat 0 row) (get-mat mat 1 row) (get-mat mat 2 row) (get-mat mat 3 row)))
   
   (declaim (inline get-col))
   (defun get-col (mat col)
  -  (declare (type matrix mat))
  -  (declare (type (unsigned-byte 32) col))
  +  (declare (type matrix mat)
  +           (type (unsigned-byte 32) col))
     (create-pt3d (get-mat mat col 0) (get-mat mat col 1) (get-mat mat col 2) (get-mat mat col 3)))
   
   (declaim (inline xform))
   (defun xform (pt mat)
  -  (declare (type pt3d pt))
  -  (declare (type matrix mat))
  +  (declare (type pt3d pt)
  +           (type matrix mat))
     (create-pt3d (dot (get-row mat 0) pt)
                  (dot (get-row mat 1) pt)
                  (dot (get-row mat 2) pt)
  
positive.code: 
  (declaim (inline get-pt))
  (defun get-pt (pt idx)
    (declare (type pt3d pt))
    (declare (type (unsigned-byte 32) idx))
    (the single-float (aref (pt3d-pt pt) idx)))
  
  (declaim (inline set-pt))
  (defun set-pt (pt idx val)
    (declare (type pt3d pt))
    (declare (type (unsinged-byte 32)))
    (declare (type single-float val))
    (setf (aref (pt3d-pt pt) idx) val))
  
  (declaim (inline pt3d-x))
  
negative.code: 
  (declaim (inline get-mat))
  (defun get-mat (mat i j)
    (declare (type matrix mat)
             (type (unsigned-byte 32) i j))
    (the single-float (aref (matrix-mat mat) (mat-idx i j))))
  
  (declaim (inline set-mat))
  (defun set-mat (mat i j val)
    (declare (type matrix mat)
             (type (unsigned-byte 32) i j)
             (type single-float val))
    (setf (aref (matrix-mat mat) (mat-idx i j)) val))
  
  (declaim (inline dot))
  