 (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 (m/encodes muuntaja)
-                                  :consumes (m/decodes muuntaja)}}
+                {:data {:swagger {:produces (displace (m/encodes muuntaja))
+                                  :consumes (displace (m/decodes muuntaja))}}
                  :wrap #(muuntaja.middleware/wrap-format % muuntaja)}))})
 
 (def format-negotiate-middleware

   :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

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