     javax.xml.bind.DatatypeConverter))
 
 
-;; ## Specs
-
-;; Lexicoders can be specified either as a simple type keyword or a vector of
-;; a type keyword and some parameters.
-(s/def ::lexicoder
-  (s/or :simple keyword?
-        :params (s/and vector? (s/cat :type keyword?
-                                      :args (s/* any?)))))
-
-
-
 ;; ## Comparators
 
 (defn- compare-bytes

    (when (or (empty? data) (zero? len))
      (throw (IllegalArgumentException.
               "BytesLexicoder cannot decode empty byte arrays")))
    (if (and (zero? offset) (= len (count data)))
      data
      (let [data' (byte-array len)]
        (System/arraycopy data offset data' 0 len)
        data'))))







;; ## Key Construction

(deftype Key
