Add sub-typing for union types