Логичность шаблона «объявили и вызвали» в JS

Вчера в комменариях возникло обсуждение семантики синтаксиса «!function () {}()». Мне так кажется, что семантика здесь побоку, использовать функцию для создания зоны видимости — уже костыль (в JS 1.7 есть конструкция «let» для этого), но мне тут подумалось, что ведь можно сделать эту конструкцию семантичной, если использовать забытую конструкцию «with»:

with (function () {
    // тело функции
}) call();

На мой взгляд, весьма и весьма семантично. Что скажете?

Комментарии 5

art № 1
The with statement is forbidden in strict mode (see §5.7.3) and should be considered
deprecated in non-strict mode: avoid using it whenever possible. JavaScript code that
uses with is difficult to optimize and is likely to run more slowly than the equivalent
code written without the with statement.

David Flanagan — Javascript The Definitive Guide 6th Ed.

Евгений Степанищев (bolknote.ru) автор № 2
Это просто потому, что вот таким образом его ещё не использовали. С «with» действительно есть проблемы в общем случае. В частностях по-разному может быть.
PastorGL № 3
Остроумно на грани гениальности. Вполне достойно прямиком отправиться в комитет по стандартизации JS :)