   org.joda.time.LocalDate
   (sql-value [v] (tc/to-sql-date v))
   com.vividsolutions.jts.geom.Geometry
-  (sql-value [v] (str "SRID=" (.getSRID v) ";" (.write wkt-writer v)))
+  (sql-value [v] (str "SRID=" (.getSRID v) ";" (.write ^WKTWriter wkt-writer v)))
   clojure.lang.Keyword
   (sql-value [v] (name v))
   clojure.lang.IPersistentMap

   str))

(def int-reader
  (transit/read-handler #(Integer. %)))

(def transit-write-handlers (atom {}))
(def transit-read-handlers (atom {}))

(defn from-json [str]
  (if (clojure.string/blank? str)
    nil
    (let [in (ByteArrayInputStream. (.getBytes ^java.lang.String  str))
          reader (transit/reader in :json
                                 {:handlers @transit-read-handlers})]
      (transit/read reader))))
