     (list elem)
     (make-cons elem (seq seqable))))
 
-(extend-type nil
-  ISeqable
-  (-seq [this] nil))
-
 (defn first [s]
-  (if (satisfies? ISeq s)
-    (-first s)
-    (-first (seq s))))
+  (-first (seq s)))
 
 (defn next [s]
   (-next (seq s)))


(defn namespace [named]
  (-namespace named))

(defn seq [s]
  (-seq s))

(defn count [obj]
  (-count obj))

(defn deref [obj]
  (-deref obj))

