Don't mutate passed-in props, take 2

This reverts 12e765dd and adds a necessary clone and a new test.