   (toString [self]
     (with-out-str (print [v]))))
 
-
 (defn success
   "Function that return a success state
   from one access rule handler."

  (let [accessrules (compile-access-rules rules)]
    (fn [request]
      (if-let [match (match-access-rules accessrules request)]
        (let [res (apply-match-rule match request)]
          (if (success? res)
           (handler request)
           (handle-error res request (merge opts match))))

  (mapv compile-access-rule accessrules))

(defn- match-access-rules
  "Iterates over all access rules and try match each one
  in order. Return a first matched access rule or nil."
  [accessrules request]
  (first (filter (fn [accessrule]
                   (let [matcher (:matcher accessrule)]
