ну, я сильно испорчен сишечкой и немножко геймдевом (вот тут все нормальные люди прекратили читать мои сообщения навсегда; ну, как минимум те, которые знают геймдев изнутри). соответственно, о накладных расходах я беспокоюсь на уровне рефлексов уже.

но на самом деле: на практике я почти не помню случаев, когда мне не надо было бы вместе с указателем на процедуру передавать ещё и какой-то контекст. то есть, в большинстве случаев я просто эмулирую объект с полями и методом, получается.

в принципе, процедурный тип получается такой же избыточностью, как и FOR, да. но поскольку у нас язык не только для «верхнего уровня», но ещё и так называемого «системного программирования», то процедурный тип в нём таки нужен для мелкооптимизаций совсем-совсем внизу. однако, возможно, его стоит разрешить только при импорте SYSTEM, например.

p.s.: даёшь делегаты!