Y now defines its own types to avoid ambiguity