     (tag [_ o] (tag-fn o))
     (rep [_ o] (rep-fn o))
     (str-rep [_ o] (str-rep-fn o))))
-
-
-
-

  [^String s]
  (if (> (.length s) 0)
    (let [c (subs s 0 1)]
      (cond (= RESERVED c)
            (subs s 1)

            (or (= ESC c) (= SUB c))

(extend-protocol Writerable
  OutputStream
  (make-writer [^OutputStream stm type opts]
    (Writer.
     (case type
       :json (.createGenerator (JsonFactory.) stm)
       :msgpack (.createPacker (MessagePack.) stm))
