Less temporary variables in desugaring

This change is probably in the wrong commit.