the cases where the interface explicitly wants that any and all
derived classes should have no side-effects
It is currently possible in CPP. Declaring a base class interface method as const ensures that a derived overridden method won't have side effects,
however that is in contradiction to my argument, claiming that it is not necessary nor necessarily correct.
Occasionally that leads to reluctantly declare variables in derived classes as mutables or use const cast.
Backward compatibility should be preserved, compiling an existing code should result in identical results having this new 'mutable' keyword opted-in.