Instead of following the suggestions that Andrei has given me three or four times (to not pass delegates/function to higher-order functions, but use aliases), Scala designers have chosen to create a smarter compiler: "Optimizing Higher-Order Functions in Scala", by Iulian Dragoş: http://infoscience.epfl.ch/record/128135/files/paper.pdf
Scala offers lot of stuff to copy from, at syntax level, programming paradigm level, type system level and code optimization level too. Bye, bearophile