             [io.aviso.toolchest.collections :refer [pretty-print]]
             [io.aviso.tracker :as t])
   (:import [schema.core EnumSchema Maybe]
-           [io.aviso.rook.schema IsInstance]))
+           [io.aviso.rook.schema IsInstance]
+           [clojure.lang IPersistentMap IPersistentVector]))
 
 (defn- remove-nil-vals
   [m]

    (some? data)
    [swagger-object data]

    (vector? schema)
    (let [[swagger-object' item-reference] (simple->swagger-schema swagger-options swagger-object (first schema))]
      [swagger-object' {:type  :array
                        :items item-reference}])
    :else
    (convert-schema schema swagger-options swagger-object)))


  Object
  (convert-schema [schema _ _]
    (throw (ex-info "Unable to convert schema to Swagger."
                    {:schema-class (type schema)
                     :schema       schema})))

  EnumSchema
  (convert-schema [schema _ swagger-object]
