 
 (def TagChange
   "Add/remove a session/node tag"
-  {:resource (s/either :session :node)
-   :action   (s/either :add :remove)
+  {:resource (s/either (literal-pred :session) (literal-pred :node))
+   :action   (s/either (literal-pred :add) (literal-pred :remove))
    :tag      s/Str})
 
 (def Requirement

(def CreateArg
  "Session-creation args"
  {(s/optional-key :browser-name) s/Str
   (s/optional-key :capabilities) Capabilities
   (s/optional-key :node-id) s/Str})

(defn create-session


(def ModifyArg
  "Modification to a session"
  (any-pair
    :change-tag TagChange
    :go-to-url s/Str
    :reserve s/Bool))

(defn save-session-tags-to-redis [session-id tags]
  (with-car* (sset-all (session-tags-key session-id) tags)))
