C_GeneralTensorProduct was modifying the function space of the first arg. Now creating a shallow copy and using the copy to avoid this.