Arrange the let expansion, add letrec expansion