    :spec ::spec
    :compile (fn [{:keys [muuntaja]} _]
               (if muuntaja
-                {:data {:swagger {:produces (m/encodes muuntaja)}}
+                {:data {:swagger {:produces (displace (m/encodes muuntaja))}}
                  :wrap #(muuntaja.middleware/wrap-format-response % muuntaja)}))})

   :spec ::spec
   :compile (fn [{:keys [muuntaja]} _]
              (if muuntaja
                {:data {:swagger {:consumes (m/decodes muuntaja)}}
                 :wrap #(muuntaja.middleware/wrap-format-request % muuntaja)}))})

(def format-response-middleware

(s/def ::muuntaja (partial instance? m/Muuntaja))
(s/def ::spec (s/keys :opt-un [::muuntaja]))

(defn- displace [x] (with-meta x {:displace true}))

(def format-middleware
  {:name ::format
   :spec ::spec
   :compile (fn [{:keys [muuntaja]} _]
              (if muuntaja
                {:data {:swagger {:produces (displace (m/encodes muuntaja))
                                  :consumes (displace (m/decodes muuntaja))}}
                 :wrap #(muuntaja.middleware/wrap-format % muuntaja)}))})

(def format-negotiate-middleware
