>>597
590 の「違います」の意図が分かりかねるのですが、無名メソッドコンテキストがブロックコンテキストを
指しているなら、私は「ブロッククロージャの実行環境は無名メソッドコンテキスト」ということで
いいような気がします。そうならば #valueWithExit は成り立ちそうですか?

7. については BlockClosure にたとえば #valueWithExitValue を

valueWithExitValue
 ^self value: [:val | ^val]

…のように定義すれば、次のようにして nil 以外の任意の値を戻り値にすることができます。

[:exit | (1 to: 10) do: [:each | each = 5 ifTrue: [exit value: each]]] valueWithExitValue

このことは両者に違いのないことの参考になりますか?