Improve type inference for types with same generic type alias
Improve type inference for types with same generic type alias

TukekeSoft/TypeScript,DLehenbauer/TypeScript,jwbay/TypeScript,chuckjaz/TypeScript,weswigham/TypeScript,Eyas/TypeScript,erikmcc/TypeScript,mihailik/TypeScript,thr0w/Thr0wScript,kitsonk/TypeScript,microsoft/TypeScript,basarat/TypeScript,kpreisser/TypeScript,thr0w/Thr0wScript,donaldpipowitch/TypeScript,Eyas/TypeScript,TukekeSoft/TypeScript,DLehenbauer/TypeScript,thr0w/Thr0wScript,synaptek/TypeScript,basarat/TypeScript,mihailik/TypeScript,basarat/TypeScript,kitsonk/TypeScript,synaptek/TypeScript,weswigham/TypeScript,donaldpipowitch/TypeScript,nojvek/TypeScript,Microsoft/TypeScript,RyanCavanaugh/TypeScript,Eyas/TypeScript,weswigham/TypeScript,jwbay/TypeScript,nojvek/TypeScript,donaldpipowitch/TypeScript,chuckjaz/TypeScript,mihailik/TypeScript,synaptek/TypeScript,RyanCavanaugh/TypeScript,chuckjaz/TypeScript,minestarks/TypeScript,chuckjaz/TypeScript,donaldpipowitch/TypeScript,microsoft/TypeScript,Microsoft/TypeScript,kpreisser/TypeScript,basarat/TypeScript,synaptek/TypeScript,RyanCavanaugh/TypeScript,kitsonk/TypeScript,nojvek/TypeScript,alexeagle/TypeScript,thr0w/Thr0wScript,alexeagle/TypeScript,TukekeSoft/TypeScript,SaschaNaz/TypeScript,SaschaNaz/TypeScript,alexeagle/TypeScript,SaschaNaz/TypeScript,microsoft/TypeScript,DLehenbauer/TypeScript,DLehenbauer/TypeScript,minestarks/TypeScript,kpreisser/TypeScript,nojvek/TypeScript,jwbay/TypeScript,SaschaNaz/TypeScript,minestarks/TypeScript,erikmcc/TypeScript,erikmcc/TypeScript,mihailik/TypeScript,erikmcc/TypeScript,Microsoft/TypeScript,Eyas/TypeScript,jwbay/TypeScript