Partly this is just to make the IR more readable. But it might have some compile-time performance advantages too. Linearization can produce intermediate telescopes with hundreds of components. Indexing these as nested pairs means an "atom" can have hundreds ProjectElt layers. I wouldn't be surprised if some operations like type checking end up being quadratic in that depth.
Partly this is just to make the IR more readable. But it might have some compile-time performance advantages too. Linearization can produce intermediate telescopes with hundreds of components. Indexing these as nested pairs means an "atom" can have hundreds
ProjectElt
layers. I wouldn't be surprised if some operations like type checking end up being quadratic in that depth.