An ASeq or a LazySeq is already a seq. A Seqable is something that knows how to return a seq of itself.

That leaves things like Java core classes, which should be seqable but which Clojure can't alter to add a seq method. Those are currently hard-coded into this list. I wouldn't be surprised if the implementation changed someday, maybe using protocols to extend the Java core classes instead?