Modify copy to allow y to not be provided

Details:
 - Providing y is now optional. Failing to provide y requires both strides to be 1.
 - y is now returned by the function