      (encode-stream obj w nil))
   ([obj ^BufferedWriter w opt-map]
      (try
-       (core/encode-stream obj w :date-format (:date-format opt-map)
-                           :pretty (:pretty opt-map)
-                           :ex core-failure)
+       (core/encode-stream obj w (merge opt-map {:ex core-failure}))
        (catch JsonGenerationException _
-         (encode-stream* obj :date-format (:date-format opt-map)
-                         :pretty (:pretty opt-map))))))
+         (encode-stream* obj opt-map)))))
 
 (defn encode-smile*
   ([obj]

     (encode-smile* obj nil))
  ([obj opt-map]
     (try
       (core/encode-smile obj (:date-format opt-map) core-failure)
       (catch JsonGenerationException _
         (encode-smile* obj (:date-format opt-map))))))

;; there are no differences in parsing, but these are here to make
;; this a self-contained namespace if desired

     (encode obj nil))
  ([obj opt-map]
     (try
       (core/encode obj (merge opt-map {:ex core-failure}))
       (catch JsonGenerationException _
         (encode* obj opt-map)))))

(defn ^String encode-stream*
  ([obj ^BufferedWriter w]
