https://groups.google.com/forum/#!topic/scala-debate/SZhdJJCAmn8