     (s/pair :and          "type" [Requirement] "requirements")
     (s/pair :or           "type" [Requirement] "requirements")))
 
-(defn ^:private maybe-bigdec [x]
+(defn maybe-bigdec [x]
   (try (bigdec x) (catch NumberFormatException e nil)))
 
-(def ^:private DecString
+(def DecString
   "A schema for a string that is convertable to bigdec."
   (s/pred #(boolean (maybe-bigdec %)) 'decimal-string))
 
-(def ^:private Score
+(def Score
   "A schema for a session score rule."
   {:weight  DecString
    :require Requirement})

  (let [u (if (string? url) (uri/uri url) url)]
    (assoc u :host (resolve-host (uri/host u)))))

(defn ^:private matches-requirements [session-model requirements]
  (let [exact-match-keys [:browser-name :reserved]
        resolved-nodes (map (comp str host-resolved-url)
                            (filter identity

   (s/optional-key :browser-name) s/Str
   (s/optional-key :node)         Node})

(def Requirement
  "A schema for a session requirement."
  (s/either
    (s/pair :session-tag  "type"  s/Str        "tag")
