                       {:schema schema})))
     (t/track
       "Converting vector schema."
-      (let [[swagger-object' item-reference] (simple->swagger-schema swagger-options swagger-object (first schema))]
-        [swagger-object' {:type  :array
-                          :items item-reference}])))
+      (let [item-schema (first schema)
+            [swagger-object' item-reference] (simple->swagger-schema swagger-options swagger-object item-schema)]
+        [swagger-object' (merge-in-description {:type  :array
+                                                :items item-reference}
+                                               schema)])))
 
   IPersistentMap
   (convert-schema [schema swagger-options swagger-object]

                      :else
                      (t/track
                        #(format "Describing query parameter `%s'." (name k))
                        (let [[swagger-object' schema-description] (simple->swagger-schema swagger-options so key-schema)
                              full-description (assoc schema-description
                                                 :name k
                                                 :in :query
                                                 :required required)]
                          (update-in swagger-object' params-key
                                     conj full-description)))))]
      (reduce reducer swagger-object schema))

  [m]
  (medley/remove-vals nil? m))


(defn- merge-in-description
  [swagger-schema schema]
  (let [schema-meta (meta schema)
        description (or (:description schema-meta)
                        (:doc schema-meta))]
    (if description
      (assoc swagger-schema :description description)
      swagger-schema)))

(def default-swagger-template
  "A base skeleton for a Swagger Object (as per the Swagger 2.0 specification), that is further populated from Rook namespace
