 (def string-lexicoder
   "Lexicoder for UTF-8 character strings."
   (string-lexicoder* default-string-charset))
+
+
+(ns-unmap *ns* '->StringLexicoder)
 
 
 (defmethod lexicoder :string

  (->SequenceLexicoder element-coder))


(defmethod lexicoder :seq
  [config]
  (when (not= 1 (count (config-params config)))

    (if (< 127 b) (- b 256) b)))


(extend-type ReverseLexicoder

  Lexicoder

  (lexicoder-config
    [this]
    [:reverse (lexicoder-config (.coder this))])

  (encode*
    [this value]
    (let [encoded ^bytes (encode* (.coder this) value)
          rdata (byte-array (alength encoded))]
      (dotimes [i (alength encoded)]
        (aset-byte rdata i (flip-byte (aget encoded i))))
      rdata))

  (decode*
    [this data offset len]
    (let [encoded (byte-array len)]
      (dotimes [i (alength encoded)]
        (aset-byte encoded i (flip-byte (aget ^bytes data (+ offset i)))))
      (decode* (.coder this) encoded 0 len))))
