   (fn [& args]
     (apply f (reverse args))))
 
+(defn random-port []
+  (let [max-port 65536
+        offset 1024]
+    (+ (rand-int (- max-port offset))
+       offset)))
+
 ;;
 ;; selectors
 ;;

;; predicates
;;

(defn exists?
  ([]
   (try+
    (api/element-tag-name *server* *session* *element*)

  (apply wait-for-predicate
         (partial running? host port)
         args))

;;
;; proceses
;;

;; todo handle exceptions
;; check alive
