 (extend-type string
   IHash
   (-hash [o] (goog.string/hashCode o))
-
-  ISeqable
-  (-seq [string] (prim-seq string 0))
 
   ICounted
   (-count [s] (alength s))

  Strings."
  [coll]
  (when-not (nil? coll)
    (if (satisfies? ASeq coll)
      coll
      (-seq coll))))

(defn first
  "Returns the first item in the collection. Calls seq on its

     (prim-seq array i)))

(extend-type array
  ICounted
  (-count [a] (alength a))

