type extraction fixxed union and enum with *, *