Do not allowe acceptRecursive to degenerate. Optimize it out if possible.
Generate named case classes instead of anonymous classes