   optional date format string that Date objects will be encoded with.
 
   The default date format (in UTC) is: yyyy-MM-dd'T'HH:mm:ss'Z'"
-  [obj & [date-format]]
+  [obj & [^String date-format]]
   (let [sw (StringWriter.)
         generator (.createJsonGenerator factory sw)]
     (generate generator obj (or date-format default-date-format))

;; Lazy parsers
(defn- parsed-seq*
  "Internal lazy-seq parser"
  [^JsonParser parser keywords?]
  (let [eof (Object.)]
    (lazy-seq
     (let [elem (parse parser true keywords? eof)]

  the default is false, maps will use strings as keywords.

  If laziness is needed, see parsed-seq."
  [^BufferedReader rdr & [^Boolean keywords?]]
  (parse
   (.createJsonParser factory rdr)
   true (or keywords? false) nil))
