   the default is false, maps will use strings as keywords.
 
   If laziness is needed, see parsed-seq."
-  [^BufferedReader rdr & [keywords?]]
+  [^BufferedReader rdr & [^Boolean keywords?]]
   (parse
    (.createJsonParser factory rdr)
    true (or keywords? false) nil))

  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]]
  (let [sw (StringWriter.)
        generator (.createJsonGenerator factory sw)]
    (generate generator obj (or date-format default-date-format))

  "Returns the Clojure object corresponding to the given JSON-encoded string.
  keywords? should be true if keyword keys are needed, the default is false
  maps will use strings as keywords."
  [^String string & [^Boolean keywords?]]
  (parse
   (.createJsonParser factory (StringReader. string))
   true (or keywords? false) nil))
