anchor.diff:  
   (defun register-cld-library (library)
     (setf (gethash (library-name library) *cld-libraries*) library))
  +
  +(defun find-cld-library-version (library version &optional (error-p t))
  +  (loop for version in (library-versions library)
  +       when (equalp (version version) version)
  +       do (return-from find-cld-library-version version))
  +  (when error-p
  +    (error "~A version ~A not found" library version)))
   
   (defclass cld-library ()
     ((name :initarg :name
  
positive.code: 	   (if (listp dependency)
  	       (destructuring-bind (library-name &key version cld) dependency
  		 `(make-instance 'cld-library-version-dependency
  				 :library-name ,library-name
  				 :version ,version
  				 :cld ,cld))
  	       ;else
  
negative.code: (in-package :cldm)
  
  ;; (unless *load-truename*
  ;;   (error "This file must be LOADed to set up CLDM."))
  
  ;; (defvar *cldm-home*
  ;;   (make-pathname :name nil :type nil
  ;;                  :defaults *load-truename*))
  
  (defparameter *cld-libraries* (make-hash-table :test #'equalp))
  
  (defun find-cld-library (name &optional (error-p t))
    (or (gethash name *cld-libraries*)
        (when error-p
  	(error "Library ~A not found" name))))
  
  (defun list-cld-libraries ()
    (loop for library being the hash-values of *cld-libraries*
  