So the main important idea I think this paper does is articulate and name a construct that appears in a lot of high level compilers already!
In functional languages, you want a sort of lexically scoped basic block that doesn’t need closure allocation to represent each branch/right hand side of a case/match expression.
In oop compilers, you’re gonna want a very similar internal to represent object methods, because again your methods all share the same object/closure environment.
They then are also useful to represent mutually recursive /goto basic blocks
I thought it was interesting that this construct is linked in the paper to a slight variant of System F, which tells me that (a) it's probably pretty rigorously rationalized (b) it can be utilized in future formal work, so (c) future formal work doesn't have to do closure allocation as much.
In functional languages, you want a sort of lexically scoped basic block that doesn’t need closure allocation to represent each branch/right hand side of a case/match expression.
In oop compilers, you’re gonna want a very similar internal to represent object methods, because again your methods all share the same object/closure environment.
They then are also useful to represent mutually recursive /goto basic blocks