Imagine yourself staring at this for long periods of time: <div><br></div><div><div>amb := Amb new. </div><div><br></div><div>results := amb allValues:</div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>[x := amb oneOf: (1 to: 10).</div>
<div><span class="Apple-tab-span" style="white-space:pre">                                </span>amb assert: (x &gt; 5).</div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>x].</div></div><div><br></div><div>You say to yourself that it should be easy to change the block to (x isPrime) instead of (x &gt;5). </div>
<div>But no...in 3.10.2 you get an error. You panic. This is proof of some mystery about continuations you don&#39;t grok. </div><div>Then you read the implementation in 3.10.2 and it throws an error if it encounters a 1. </div>
<div><br></div><div><br></div>