Design change: Instance methods don't replace the object, but just return the new one.