This removes createEmpty and uses body for sub-expressions.

Yep, looks good.