Less temporary variables in desugaring