">do</span>
       <span class="constructor">Condition</span>.wait c m
     <span class="keyword">done</span>;
     <span class="comment">(* Modify D *)</span>
     <span class="keyword">if</span> <span class="comment">(* the predicate P over D is now satisfied *)</span> <span class="keyword">then</span> <span class="constructor">Condition</span>.signal c;
     <span class="constructor">Mutex</span>.unlock m
   </code></pre></div>
</div>
<hr width="100%">

<pre><span id="TYPEt"><span class="keyword">type</s