     "(;"
     str-version-conj-predicate-pattern
     ")*"))
+
 (def str-alternative-pattern
   (str
     "!?"

           ::package
           :into [])))

(def str-relation-pattern "(>=|==|!=|<=|<|>)")
(def str-id-pattern "[^>=<!;,|]+")
(def str-version-predicate-pattern

   str-requirement-pattern
   "$")))

(def str-frozen-pattern
  (str
    str-id-pattern
    "=="
    str-version-pattern))

(def str-frozen-regex
  (re-pattern
    (str
      "^"
      str-frozen-pattern
      "$")))

(s/def ::requirement-string
       #(re-matches str-requirement-regex %))

