Хорошо, у вас есть свой ответ, но я просто хотел добавить, что я думаю, что это наиболее существенное ограничение F #, вытекающее из того факта, что это гибрид императивный / функциональный язык.
Я хотел бы видеть расширение F #, которое объявляет функцию pure . То есть у него нет побочных эффектов, которые не обозначены типом функции. Идея состоит в том, что функция является чистой, только если она ссылается на другие «известные-чистые» функции. Конечно, это было бы полезно, только если бы тогда было возможно требовать, чтобы делегат, переданный в качестве параметра функции, ссылался на чистую функцию.