   (def ext-handlers
     {Point
      (make-handler (constantly "point")
-                     (fn [p] (com.cognitect.transit.impl.TaggedValue. "array" [(.x p) (.y p)]))
-                     (constantly nil))
+                   (fn [p] [(.x p) (.y p)])
+                   (constantly nil))
      Circle
      (make-handler (constantly "circle")
-                     (fn [c] (com.cognitect.transit.impl.TaggedValue. "array" [(.c c) (.r c)]))
-                     (constantly nil))})
+                   (fn [c] [(.c c) (.r c)])
+                   (constantly nil))})
 
   (def ext-decoders
     {"point"

  (write w [#{1 2} #{1 2}])
  (write w (int-array (range 10)))
  (write w {[:a :b] 2})

  (def in (ByteArrayInputStream. (.toByteArray out)))


   "ratio"
   (reify Decoder
     (decode [_ o] (/ (.get ^java.util.List o 0)
                      (.get ^java.util.List o 1))))

   "n"
   (reify Decoder
     (decode [_ o] (clojure.lang.BigInt/fromBigInteger
                    (BigInteger. ^String o))))})

(defn map-builder
  []
