The below tests show that it is not the cases that you just need to move few codes into FlattenSyntax. I guess We should merge FlattenTerms with FlattenSyntax completely. I cannot see the advantage to do that instead of putting FlattenTermsTwo before FlattenSyntax.