, exoteric wrote

Does this use research results like finger trees?

Is the primary motivation practical in the sense of invariants or also geared towards compiler tricks?

Good question ... if all the types in use are in immutable collections, and all the computations on those immutable collections are within LINQ computations, could the compiler assume purity and therefore allow laziness and referential transparency by default in those cases?