Improve desugaring to generate less temporary variables.