This makes me think, is there a guarantee that `data.flags.C_CONTIGUOUS` is always true or can it be platform or numpy version dependent? Maybe we could add an if/else and do the copy if `data.flags.C_CONTIGUOUS` is false, this solution would be guaranteed to always work.