Принимая во внимание, что во многих местах языка во многих местах языка «do» было обязательным ключевым словом, в настоящее время вам редко требуется слово «do». Остальные исключения, о которых я могу подумать, это то, что «do» все еще является частью синтаксиса цикла (например, «while e1 do e2»), и если вы хотите поместить атрибут уровня сборки или атрибут в метод запуска, вы можете поместить атрибут перед явным «делом» окончательного блока кода в модуле. Часто в образцах F # вы увидите
[<STAThread>]
do Application.Run(form)
как две последние строки файла, и я думаю, что здесь все еще требуется 'do', чтобы иметь возможность прикрепить атрибут в строке над ним.