I agree; there are a lot of reasons to have generics in a language, performance one of them as demonstrated; but anyway it doesn't make sense if in a strictly, statically typed language we are forced to do dynamic typing to make data structures and algorithms reusable; however, i don't understand why everyone always goes for generic types; generic modules can do that too and are much easier to understand and implement.