Preserve type parameter types in narrowing
Preserve type parameter types in narrowing

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