anchor.diff:  		   (cons constraint (when more (nth 3 more)))))))
   
   (defun parse-requirement-string (string)
  -  (parse '(and distribution-name version-equal) string))
  +  (parse 'requirement string))
   
  -(parse 'version== "==")
  -
  -(parse 'distribution-name "asdf2-asdf")
  -
  -(parse-requirement-string "asdfad==")
  -
  -(parse 'version-number "2.3.4")
  -
  -(parse 'version-constraint ">=   2.3.4")
  -
  -(parse 'distribution-constraint "hunchentoot >= 1.2.0")
  -(parse 'distribution-constraint "hunchentoot == 1.2.0")
  -
  -(parse 'requirement "hunchentoot, hunchentoot <= 1.2.3")
  -
  -(parse 'requirement "hunchentoot >= 1.2.0")
  -(parse 'requirement "hunchentoot >= 1.2.0 , hunchentoot <= 1.3.0 , hunchentoot")
  +(defun requirement-universal-p (requirement)
  +  "Returns true if the requirement matches any version"
  +  (equalp (requirement-version-constraints requirement)
  +	  (list :any)))
  +  
  +;; Matching
  +(defmethod requirement-matches ((requirement requirement) (provider requirement))
  +  ;; Return false if names dont match
  +  (when (not (equalp (requirement-name requirement)
  +		     (requirement-name provider)))
  +    (return-from requirement-matches nil)))
  
positive.code: 	 :accessor requirement-name
  	 :type string
  	 :documentation "The library name")
     (specs :initarg :specs
  	  :initform (error "Provide the specs")
  	  :accessor requirement-specs
  	  :documentation "A list of constraints")
     (min-bound :initform :min-version
  	      :accessor min-bound
  
negative.code: 
  (defrule version== "==" (:function (lambda (match)
  					 (declare (ignore match))
  					 '==)))
  (defrule version>= ">=" (:function (lambda (match)
  				     (declare (ignore match))
  				     '>=)))
  (defrule version<= "<=" (:function (lambda (match)
  				     (declare (ignore match))
  				     '<=)))
  (defrule version> ">" (:function (lambda (match)
  				   (declare (ignore match))
  				   '>)))
  (defrule version< "<" (:function (lambda (match)
  				   (declare (ignore match))
  				   '<)))
  (defrule version!= "!=" (:function (lambda (match)
  				     (declare (ignore match))
  				     '!=)))
  
  (defrule version-comparison (or version==
  				version!=
  