Now allowing overlap of constructor and production names, checking for ambiguity is still local and needs type hinting