Насколько я понимаю, типы Function в Scala компилируются в экземпляры FunctionN. Так что например этот пример
List(1,2,3).filter(_ >= 2)
означает
List(1,2,3).filter(new Function1[Int,Bool]{def apply(_$1:Int) = _$1 >= 2;})
Как это реализовано в Scala.NET? Насколько я понимаю, в .NET нет анонимных классов на уровне операторов. И приведенное выше решение зависит от наличия анонимных классов.