   []
   (into #{} (map #(-> % .name keyword) (.codecs codecs))))
 
-(defn ^Codec lookup-codec
+(defn ^:internal ^:no-doc ^Codec lookup-codec
   [name-or-content-type]
   (if-let [codec (.forName codecs (name name-or-content-type))]
     codec

     (decode [data#]
       (~decode data#))))

(defonce ^:internal ^Codecs codecs
  (-> (Codecs.)
    (.add None/INSTANCE)))


  (:import [org.projectodd.wunderboss.codecs BytesCodec Codec Codecs None StringCodec]
           java.nio.ByteBuffer))

(defmacro ^:internal ^:no-doc data-readers []
  (if (resolve 'clojure.core/*data-readers*)
    '(merge *data-readers* r/*data-readers*)
    'r/*data-readers*))
