This removes createEmpty and uses body for sub-expressions.