Not strictly necessary, but my thinking was that whether or not this function makes a copy of the data should not depend on the contents of the data.