Possibly strongly-pure functions could be marked as pure in the 'C' sense, but only if they are also nothrow, eg to add to the above example:---pure nothrow int baz (Foo f){ return f.bar(2) + f.bar(2); }---