   "Some small enhancements to Prismatic Schema that are valuable to, or needed by, the Swagger support."
   {:added "0.1.27"}
   (:require [schema.core :as s]
-            [schema.macros :as macros])
+            [schema.macros :as macros]
+            [io.aviso.toolchest.metadata :refer [assoc-meta]])
   (:import [schema.core Maybe EnumSchema Both]))
 
 (defmacro schema

    (recur description (IsInstance. schema))

    :else
    (vary-meta schema assoc :description description)))

(defn description
  "A convienience for generating a description with no schema."

   `(-> ~form
        (vary-meta merge ~(-> &form second meta))
        ;; The second form is the name (the first is the 'schema symbol itself) and we want its metadata
        (assoc-meta :name '~name :ns *ns* :doc ~docstring))))

(defmacro defschema
  "Convenience macro to make it clear to reader that body is meant to be used as a schema, and to provide
