Changed Object#with to Object#clone_with so it doesn't interfere with future work on pattern matching.