Match overloads with restrictions with unions