     (get-in model (concat [::errors] attr-keys))
     (->> (get model ::errors)
          (mapcat second)
-         (into []))))
+         vec)))

  "Accepts a tuple containg an attribute key and a schema
  violation expresion and returns a human-friendly message"
  [[attr-key expr]]
  [attr-key (str (humanize attr-key) " " (friendly-message expr))])

(defn apply-schema
  "A rule function that coerces and applies a schema to a model"

                                (coerce/first-matcher [int-matcher
                                                       nil-matcher
                                                       coerce/json-coercion-matcher]))
        result (coercer model)
        errors (if (schema-utils/error? result)
               (vec (map full-humanized-message
                         (schema-utils/error-val result)))
               [])]
    {:model (dissoc result :error)
     :errors errors}))

(defn has-error?
  "Returns true if the specified model contains validation errors"
