parser: add syntax for union and intersection types