 
   IsInstance
   (convert-schema [schema swagger-options swagger-object]
-    (simple->swagger-schema  swagger-options swagger-object (unwrap-schema schema))))
+    (simple->swagger-schema swagger-options swagger-object (unwrap-schema schema)))
+
+  IPersistentVector
+  (convert-schema [schema swagger-options swagger-object]
+    (if-not (= 1 (count schema))
+      (throw (ex-info (format "Expected exactly one element in vector schema, not %d."
+                              (count schema))
+                      {:schema schema})))
+    (let [[swagger-object' item-reference] (simple->swagger-schema swagger-options swagger-object (first schema))]
+      [swagger-object' {:type  :array
+                        :items item-reference}]))
+
+  IPersistentMap
+  (convert-schema [schema swagger-options swagger-object]
+    (->swagger-schema swagger-options swagger-object schema)))
 
 (defn- simple->swagger-schema
   "Converts a simple (non-object) Schema into an inline Swagger Schema, with keys :type and perhaps :format, etc."

            [io.aviso.toolchest.collections :refer [pretty-print]]
            [io.aviso.tracker :as t])
  (:import [schema.core EnumSchema Maybe]
           [io.aviso.rook.schema IsInstance]))

(defn- remove-nil-vals
  [m]

    (some? data)
    [swagger-object data]

    :else
    (convert-schema schema swagger-options swagger-object)))

