anchor.diff:    "An address to wrapper map.")
   
   (defclass wrapper ()
  -  ((pointer :initarg :pointer :reader pointer
  -            :documentation "A foreign pointer that is destroyed when
  -its wrapper is garbage collected.")
  -   (ctype :initarg :ctype :reader ctype
  -          :documentation "The foreign type of POINTER.")
  -   (references :initarg :references :reader references
  -               :documentation "A list of pointer/ctype conses of
  -foreign objects reachable from POINTER.")
  -   (extra-references :initform '() :accessor extra-references
  -                     :documentation "A list of pointer/ctype conses
  -reachable from POINTER. As opposed to REFERENCES this may be set. Use
  -this to to store references to foreign objects whose parts are
  -used reachable from this pointer.")))
  -
  -(defgeneric reachable-pointers (pointer ctype)
  +  ((pointer
  +    :initarg :pointer :reader pointer
  +    :documentation "A foreign pointer that is destroyed when its
  +wrapper is garbage collected.")
  +   (ctype
  +    :initarg :ctype :reader ctype
  +    :documentation "The foreign type of POINTER.")
  +   (references
  +    :initarg :references :accessor references
  +    :documentation "A list of lisp objects reachable from POINTER.")))
  +
  +(defgeneric reachable-objects (pointer ctype)
     (:method (pointer ctype)
       (declare (ignore pointer ctype))
       '())
  -  (:documentation "Return a list of conses of pointer and ctype
  -representing the pointers reachable from POINTER of CTYPE."))
  +  (:documentation "Return a list of objects reachable from POINTER of
  +CTYPE. Used to initialize REFERNCES of a wrapper."))
   
   (defgeneric ctype->wrapper-class (ctype)
     (:method (ctype)
  
positive.code:                                    param)
    (declare (ignore param))
    (foreign-free value))
  
  ;;; Problem
  
  (defcstruct problem-struct
    (l :int)
  
negative.code:             (parameter-error problem parameter r)
              (values nil r))
          t)))
  
  ;;;; Model
  
  (defctype model :pointer)
  
  