Update copy:

Details:
 - copy no longer requires that the strides be equal to 1 if y is not provided; instead, y is constructed with the effective length of x based on stride