Rip-off of a rip-off of a rip-off of a rip-off. Go upvote those!
Your task, if you wish to accept it, is to write a program/function that outputs/returns its input/argument¹. The tricky part is that if I transpose your source code², the output/result must be transposed too.
You may choose which kind of 2D data your solution can accept. For example a list of lists, a matrix, a list of strings, etc. State which one(s) it handles. You may assume that the input will always be rectangular and will have a length of 1 or more along each dimension.
For the purposes of transposing, short lines in your source code will be considered as padded with trailing spaces until it is rectangular, however, these padded trailing spaces do not contribute to your code length.
Since this is code-golf, the target is to optimize the byte count of the original source code (not the transposed version).
Examples
Let's say your solution takes a numeric matrix and your source code is
AB
DEF
and its input/argument is [[1,2],[3,4],[5,6]]
. If I write
AD
BE
F
instead and run it, the output/result must be [[1,3,5],[2,4,6]]
.
Let's say your solution takes a linefeed-separated string and your source code is
ABC
and its input/argument is "96\n"
. If I write
A
B
C
instead and run it, the output/result must be "9\n6\n"
.