You&#39;re correct, you cannot simply thread a function into a computational expression.<div>As you mentioned, the expansion only happens with the known syntatic forms.</div><div>One obvious one is <font face="&#39;courier new&#39;, monospace">return</font> which gets desugared to a call to the <font face="&#39;courier new&#39;, monospace">Return</font> method on the builder object.</div>