reject duplicate names in mutually recursively generated type definitions