Very good post.
One point with which i cannot agree is "In fact, it is impossible to insert a new method that behaves like a normal collection method. "
Please see http://ideone.com/ePUHG An excerpt: import MyEnhancements._ println("qwe".quickSort) println(Array(2,0).quickSort) println(Seq(2,0).quickSort)