   (-count [coll] count)
 
   IReduce
-  (-reduce [col f] (seq-reduce f col))
-  (-reduce [col f start] (seq-reduce f start col)))
+  (-reduce [coll f] (seq-reduce f coll))
+  (-reduce [coll f start] (seq-reduce f start coll)))
 
 (deftype EmptyList [meta]
   Object

  (-equiv [coll other] (equiv-sequential coll other))

  IHash
  (-hash [coll] (caching-hash coll hash-coll __hash)))

(defn- create-inode-seq
  ([nodes]

  (-hash [coll] (caching-hash coll hash-coll __hash))

  ISeqable
  (-seq [coll] coll)
  
  IReduce
  (-reduce [coll f] (seq-reduce f coll))
  (-reduce [coll f start] (seq-reduce f start coll)))

(defn cons
  "Returns a new seq where x is the first element and seq is the rest."
