std.range.transposed() has been in Phobos for over a year. It works (at least for rectangular ranges of range; the handling of the non-rectangular case is arbitrary and confusing) and I find it quite useful, but it's completely undocumented.
https://github.com/D-Programming-Language/phobos/pull/1138
Commits pushed to master at https://github.com/D-Programming-Language/phobos https://github.com/D-Programming-Language/phobos/commit/9caa23a682992c4fe1c847c9d65545009b1cd1d5 Document std.range.transposed (issue 4330). Add unittested example as well. https://github.com/D-Programming-Language/phobos/commit/4f8d08145421dbab67dd12a23bd9edd2f02f9b1d Merge pull request #1138 from quickfur/transposed Fix issue 4330 and issue 8764