generate more union types