I see your point. If that is the intention though, why not make the function protected or private? I strongly agree with the cref / ref business. We really should avoid needing that. I don't think modifyState needs to return a value, but if we can generically define a notion of success vs failure, returning bool would be nice.