При очередной попытке сделать что-то полезное на F# наткнулся на слабоватые способности компилятора в деле вывода типов. В программке на C# был вот такой цикл:
На F# цикл превратился вот в какой:
В лямбде fun (us:SPUser), как оказалось, указывать тип обязательно - без этого компилятор жидко падает… При этом “ошибки” распространяются довольно далеко по тексту программы – ну, не умеет компилятор остановиться на одной ошибке, обязательно надо всю гирлянду обозначить…
Нда…
Пошёл осваивать монады, бум на C# функциональщиной заниматься…