   - `:encoding` function which will transform values before they are encoded
   - `:decoding` function which will transform values after they are decoded"
   [codec & {:as opts}]
-  (FilterCodec.
+  (->FilterCodec
     (:header opts (:header codec))
     codec
     (:encoding opts)
     (:decoding opts)))
-
-
-;; Remove automatic constructor functions.
-(ns-unmap *ns* '->FilterCodec)
-(ns-unmap *ns* 'map->FilterCodec)

        value))))


(defn filter-codec
  "Creates a new filter codec, wrapping the given codec. Opts may include:


  (:require
    [multicodec.core :as codec]))


(defrecord FilterCodec
  [header codec encoding-fn decoding-fn]
