Understanding the differences between mutating and non-mutating objects