After reading this, it is my understanding that declaring a method as
const should always be used, when appropriate.
It lets your compiler check your application logic, statically asserting const-correctness for free!
Some people even say that
const should be the default, and you should be forced to use
mutable for what is non-constant.