anchor.diff:  ;;;; Given a documented lambda list, returns a list of how one should
   ;;;; forward the arguments of the lambda list
   (eval-when (:compile-toplevel :load-toplevel :execute)
  -  (defun %extract-arguments-from-documented-lambda-list (doc-lambda-list)
  +  (defun %extract-arguments-from-documented-lambda-list (doc-lambda-list &key (error-on-missing-doc t))
       (alexandria:flatten 
        (mapcar #'(lambda (norm-arg)
   		 (getf norm-arg :var-forward))
   	     (%normalize-parsed-documented-lambda-list
   	      (%parse-documented-lambda-list 
  -	       doc-lambda-list))))))
  +	       doc-lambda-list
  +	       :error-on-missing-doc error-on-missing-doc))))))
   
   
   ;;;;
   ;;;; Given a documetned lambda list, returns a plain lambda list for it
   (eval-when (:compile-toplevel :load-toplevel :execute)
  -  (defun %documented-lambda-list-to-lambda-list (doc-lambda-list)
  +  (defun %documented-lambda-list-to-lambda-list (doc-lambda-list &key (error-on-missing-doc t))
       (let* ((norm-args
   	     (%normalize-parsed-documented-lambda-list
   	      (%parse-documented-lambda-list 
  -	       doc-lambda-list)))
  +	       doc-lambda-list
  +	       :error-on-missing-doc error-on-missing-doc)))
   	   (positional 
   	     (alexandria:mappend 
   	      #'(lambda (norm-arg)
  
positive.code: 	
  	;; make sure that each element is a list and that
  	;; the last element is a string
  	(mapcar #'(lambda (e)
  		    (check-type e list)
  		    (assert (> (length e) 1) (e) "You *must* supply a documentation string")
  		    (check-type (car (last e)) string))
  		(append ordinary-args optional-args rest-args special-args))
  	
  	(list :positional (append ordinary-args optional-args)
  	      :named special-args
  
negative.code: ;;;; if not already there (with + around it)
  (defmacro implement-concept ( (concept-name implementation-tag doc &key (default-implementation nil)) documented-lambda-list &body body )
    (let ((method-name (intern (concatenate 'string (symbol-name concept-name) "-IMPL")))
  	(normal-lambda-args (%documented-lambda-list-to-lambda-list documented-lambda-list :error-on-missing-doc nil)))
      (let* ((implementation-tag-+ (concatenate 'string "+" (symbol-name implementation-tag) "+"))
  	   (implementation-tag-symbol 
  	    (find-or-make-implementation-tag implementation-tag-+ (symbol-name concept-name) doc))
  