Let's avoid modifying the objects passed in.