I think both should be fine. Since transpose is done without changing memory, we dont loose speed here. So OK for first version