I guess Clojure takes things a step further. It goes from "everything is a list" to something slightly broader with Vectors/Maps/Sets/etc. - all through language primitives. (the algorithmic layer is cleverly done through the sequence abstraction)
Coming from C++, in effect having your STL containers/algos baked into the language is a breath of fresh air :)