In the lazy evaluation page it says:
bool scase(bool b, lazy void dg)
{
if (b)
{ dg();
return true;
}
return false;
}
That is somehow unnecessary doubled precision. The following code
should do the same:
bool scase(bool b, lazy void dg)
{
if (b) dg();
return b;
}