Paragraph 5.2.2.4 of mentioned standard says
Sequenced before is an asymmetric, transitive, pair-wise relation between evaluations executed by a single thread...
What does the pair-wise relation mean? Is it a binary operator relation?
C#'s one-dimensional arrays are data-wise isomorphic to Haskell's lists ([]), and thus are a monad (when lazy infinite lists are disregarded).
But what about C#'s multidimensional arrays ([,], [,,], and so on)? The pure method is easy; it injects the inputted value into a singleton ([1,1], [1,1,1...