anchor.diff:  * If the specification is a list, then bind will use the first item for
     the variable's name and the second item for the accessor name.
   
  -See [read-only-accessors][read-only-accessors-binding-spec] for a 
  +See [read-only-accessors][read-only-accessors-binding-spec] for a
   variant that provides only read-only access to the class."
   )
  -  `(with-accessors 
  +  `(with-accessors
   	 (,@(loop for var in variables collect
   		 (let ((var-var (or (and (consp var) (first var))
   				    var))
  
positive.code: 			    (and (eq (first declaration) 'type)
  				 (member var (cddr declaration))))
  			  declarations)))
      (when result 
        (second result))))
  
  #|
  
negative.code:        ,values))
  
  (defbinding-form ((:plist :property-list :properties)
  		  :docstring
  		  "The binding form for property-lists is as follows:
  
      (:plist property-spec*)
  
  where each property-spec is an atom or a list of up to three elements:
  
  * atoms bind a variable with that name to
  a property with the same name (converting the name to a keyword in order to do the lookup).
  
  * lists with a single element are treated like atoms.
  
  * lists with two elements
  specify the variable in the first and the name of the
  property in the second.
  
  * Lists with three elements use
  the third element to specify a default value (if the
  second element is #\_, then the property name is taken
  to be the same as the variable name).
  
  