anchor.diff:     (head)
      (tail-thunk :initarg :tail-thunk)
      (tail-forced :initform nil)
  -   (tail))
  +   (tail)))
   
   (defmacro lcons (head tail)
     `(make-instance 'lcons
  
positive.code:   nil)
  
  (defmethod empty? ((lcons list))
    (null list))
  
  (defmethod head ((lcons lcons))
    (if (slot-value lcons 'head-forced)
  
negative.code:       (setf (slot-value lcons 'head) (funcall (slot-value lcons 'head-thunk))))))
  
  (defmethod head ((lcons list))
    (car lcons))
  
  (defmethod tail ((lcons lcons))
    (if (slot-value lcons 'tail-forced)
  