Seeing that you still don't grok the basics discussed here, this is probably my last answer to you.
You still fail to understand that the `map` (and other methods) are far more flexible in Scala, making them play well with sub-typing and inheritance (and in fact with stuff like `String` and arrays which don't implement any collection methods at all).
With your examlpe above, what result collection type would you get when you map with `Int -> String` over a `BitSet` or with `Char -> Int` over a `String`?
> You should also realize that the speed of the JVM has nothing to do with the static-ness of the language.
You have obviously never seen the mess JRuby and Clojure employ to run on the JVM.
The example above was made by me, on purpose to explain the difference, which I did.
On the JVM - I've implemented dozens of parsers and simple compilers, I did a lot of bytecode manipulation. I know my bytecodes, I know very well the challenges involved.
Your oppinion is based on gospel and the authors of Clojure or JRuby dissagree with you ;)
You still fail to understand that the `map` (and other methods) are far more flexible in Scala, making them play well with sub-typing and inheritance (and in fact with stuff like `String` and arrays which don't implement any collection methods at all).
With your examlpe above, what result collection type would you get when you map with `Int -> String` over a `BitSet` or with `Char -> Int` over a `String`?
> You should also realize that the speed of the JVM has nothing to do with the static-ness of the language.
You have obviously never seen the mess JRuby and Clojure employ to run on the JVM.