It seems these references always go inside _vals. Wouldn't it make more sense to use getters/setters or at least a function returning a reference to the specific _vals slot instead of member variables?