const methods shouldn't invalidate the object unless mutable fields kick in.
They sometimes were invalidating the object when we accidentally failed to retrieve the record type to see if there are mutable fields in it.
We failed to retrieve it because this-expression is sometimes of pointer type and sometimes of object type, and we only handled the latter.