Even something as simple as this needs logical const
class MyMathClass
{
invariant int multiply(int x, int y) /* logically const */
{
debug logfile.writeLine("multiply.called");
return x * y;
}
debug private Stream logfile;
}
You can't tell me that's not a real world need.