Здравствуйте, FDSC, Вы писали:
FDS>Спасибо, теперь я уверен, что понимаю всё правильно. Некоторые вопросы сразу сняты.
Классно!

(в преподаватели, что ли, податься?

)
FDS>Но в таком случае может возникнуть куча проблем с тем, что пользователь не сообщив никак исполняющему методу выходит в другой метод: проектирование методов усложняется, нужно всё время помнить, что человек может передать возврат в исполняемом блоке, который ты никак не перехватишь.
Ну, это отчасти верно. Но, если учесть, что
1) это надо учитывать только при явном вызове методов "value", "value:", "value:value:" и т.д. (и нигде больше)
и 2) выход из блока во время его исполнения — штатная и достаточно часто использующаяся функция (соответственно, не требует особых усилий по запоминанию, в отличии от случая, если бы это было редкой нештатной особенностью)
— то всё не так уж страшно.