(Оффтоп)
(отвык я от обращения на Вы на других форумах

...)
Насчет let я думал, и даже можно его написать, как и водится - макросом. Но мне кажется это имеет смысл в тех реализациях, где вызов функции на аргументах максимально оптимизирован. У меня же все равно честно создается локальное пространство имен каждой лямбды (замыкания), поэтому можно просто делать def в текущем контексте, и оперировать потом этими связанными переменными, которые еще и останутся в этом контексте до его исчезновения :) К тому же мои def-ы мультиарные и видят предыдущие связи, сделанные в той же форме. В общем, макрос let написать можно, но честно говоря, за все мои игрушки с этим языком он мне ни разу не понадобился - наверное поэтому я его и не написал

В отличие от того же макроса match, к примеру, который осуществляет паттерн-матчинг аргумента с одновременным разбором его составляющих и связыванием их с символами.
ЗЫ но вы можете попробовать написать let. А я вам помогу, если будет нужно.