Less temporary variables in desugaring

Oh... true... Then you'd have to track pureness and whether a later block references something, right?