                 (stringify-keys (add-ex-data exception (:custom-data extra {})))))
      (.report client
               exception
-              (stringify-keys (add-ex-data
+              ^java.util.Map (stringify-keys (add-ex-data
                                 exception
                                 (:custom-data extra {})))))))

   {:params ...}
   "
  ([client exception] (report client exception {}))
  ([client exception extra]
   (if (or (:environment extra)
           (:location extra)
           (:url extra))

  (proxy [JsonSerializer] []
    (serialize [named generator provider]
      (if (namespace named)
        (.writeString ^JsonGenerator generator (str (namespace named) "/" (name named)))
        (.writeString ^JsonGenerator generator (name named))))))

(def var-serializer
  (proxy [JsonSerializer] []
    (serialize [v generator provider]
      (if-let [n (:ns (meta v))]
        (.writeString ^JsonGenerator generator ^String (str n "/" (:name (meta v))))
        (.writeString ^JsonGenerator generator ^String (:name (meta v)))))))

(defn ^ObjectMapper object-mapper
  "a Jackson ObjectMapper that serializes symbols, keywords and vars 'correctly'"
