 
   (-next [this]
     (if (= -count 1) nil -rest))
-
-  ISeqable
-  (-seq [this] this)
 )
 
 (defn- make-list [meta first rest count]

(ns clojure.lang.persistent-list
  (:refer-clojure :only [declare defn defn- deftype loop last butlast])
  (:require [clojure.next           :refer [empty? inc with-meta =]]
            [clojure.lang.protocols :refer [ICounted IMeta IPersistentCollection -cons
                                            IPersistentStack ISeq ISeqable]]))



(declare EMPTY-LIST)

(defseq PersistentList [-meta -first -rest -count]
  ICounted
  (-count [this] -count)

