CodeReview feedback, and some tests.
CodeReview feedback, and some tests.

samuelhorwitz/typescript,weswigham/TypeScript,TukekeSoft/TypeScript,webhost/TypeScript,Viromo/TypeScript,yukulele/TypeScript,suto/TypeScript,germ13/TypeScript,SimoneGianni/TypeScript,progre/TypeScript,ropik/TypeScript,erikmcc/TypeScript,suto/TypeScript,hoanhtien/TypeScript,rodrigues-daniel/TypeScript,weswigham/TypeScript,erikmcc/TypeScript,ropik/TypeScript,ionux/TypeScript,DanielRosenwasser/TypeScript,DanielRosenwasser/TypeScript,evgrud/TypeScript,minestarks/TypeScript,SmallAiTT/TypeScript,blakeembrey/TypeScript,SimoneGianni/TypeScript,weswigham/TypeScript,thr0w/Thr0wScript,mauricionr/TypeScript,gonifade/TypeScript,gonifade/TypeScript,MartyIX/TypeScript,OlegDokuka/TypeScript,zmaruo/TypeScript,MartyIX/TypeScript,jteplitz602/TypeScript,ZLJASON/TypeScript,vilic/TypeScript,enginekit/TypeScript,yazeng/TypeScript,vilic/TypeScript,ziacik/TypeScript,keir-rex/TypeScript,suto/TypeScript,pcan/TypeScript,fabioparra/TypeScript,rodrigues-daniel/TypeScript,samuelhorwitz/typescript,sassson/TypeScript,matthewjh/TypeScript,synaptek/TypeScript,jeremyepling/TypeScript,mihailik/TypeScript,Mqgh2013/TypeScript,jdavidberger/TypeScript,RReverser/TypeScript,jeremyepling/TypeScript,donaldpipowitch/TypeScript,samuelhorwitz/typescript,mihailik/TypeScript,erikmcc/TypeScript,Viromo/TypeScript,jteplitz602/TypeScript,Viromo/TypeScript,RyanCavanaugh/TypeScript,msynk/TypeScript,yortus/TypeScript,moander/TypeScript,jwbay/TypeScript,RReverser/TypeScript,Raynos/TypeScript,SaschaNaz/TypeScript,TukekeSoft/TypeScript,HereSinceres/TypeScript,rgbkrk/TypeScript,minestarks/TypeScript,wangyanxing/TypeScript,nojvek/TypeScript,zhengbli/TypeScript,enginekit/TypeScript,tempbottle/TypeScript,billti/TypeScript,donaldpipowitch/TypeScript,yortus/TypeScript,microsoft/TypeScript,jnetterf/typescript-react-jsx,AbubakerB/TypeScript,moander/TypeScript,fdecampredon/jsx-typescript,chocolatechipui/TypeScript,DLehenbauer/TypeScript,nojvek/TypeScript,chuckjaz/TypeScript,nycdotnet/TypeScript,nojvek/TypeScript,Microsoft/TypeScript,ionux/TypeScript,fearthecowboy/TypeScript,DanielRosenwasser/TypeScript,bpowers/TypeScript,mcanthony/TypeScript,matthewjh/TypeScript,keir-rex/TypeScript,plantain-00/TypeScript,msynk/TypeScript,jteplitz602/TypeScript,jbondc/TypeScript,HereSinceres/TypeScript,shanexu/TypeScript,evgrud/TypeScript,shiftkey/TypeScript,fdecampredon/jsx-typescript,erikmcc/TypeScript,jamesrmccallum/TypeScript,nojvek/TypeScript,samuelhorwitz/typescript,mszczepaniak/TypeScript,microsoft/TypeScript,Viromo/TypeScript,germ13/TypeScript,chuckjaz/TypeScript,kitsonk/TypeScript,Eyas/TypeScript,jeremyepling/TypeScript,tinganho/TypeScript,nycdotnet/TypeScript,impinball/TypeScript,thr0w/Thr0wScript,rgbkrk/TypeScript,alexeagle/TypeScript,shovon/TypeScript,mmoskal/TypeScript,abbasmhd/TypeScript,mmoskal/TypeScript,rodrigues-daniel/TypeScript,billti/TypeScript,kumikumi/TypeScript,kpreisser/TypeScript,JohnZ622/TypeScript,plantain-00/TypeScript,DLehenbauer/TypeScript,mcanthony/TypeScript,chuckjaz/TypeScript,Mqgh2013/TypeScript,fabioparra/TypeScript,impinball/TypeScript,Mqgh2013/TypeScript,Raynos/TypeScript,jdavidberger/TypeScript,TukekeSoft/TypeScript,jwbay/TypeScript,nagyistoce/TypeScript,jnetterf/typescript-react-jsx,AbubakerB/TypeScript,DLehenbauer/TypeScript,synaptek/TypeScript,JohnZ622/TypeScript,tinganho/TypeScript,tinganho/TypeScript,fabioparra/TypeScript,yazeng/TypeScript,fearthecowboy/TypeScript,kimamula/TypeScript,mcanthony/TypeScript,billti/TypeScript,Eyas/TypeScript,alexeagle/TypeScript,basarat/TypeScript,OlegDokuka/TypeScript,impinball/TypeScript,minestarks/TypeScript,evgrud/TypeScript,HereSinceres/TypeScript,blakeembrey/TypeScript,yortus/TypeScript,jwbay/TypeScript,mszczepaniak/TypeScript,jbondc/TypeScript,ropik/TypeScript,chuckjaz/TypeScript,mszczepaniak/TypeScript,mihailik/TypeScript,mihailik/TypeScript,chocolatechipui/TypeScript,bpowers/TypeScript,hoanhtien/TypeScript,sassson/TypeScript,hitesh97/TypeScript,pcan/TypeScript,progre/TypeScript,mmoskal/TypeScript,shiftkey/TypeScript,donaldpipowitch/TypeScript,Raynos/TypeScript,kingland/TypeScript,hitesh97/TypeScript,nycdotnet/TypeScript,DanielRosenwasser/TypeScript,MartyIX/TypeScript,gdi2290/TypeScript,fdecampredon/jsx-typescript,sassson/TypeScript,keir-rex/TypeScript,ZLJASON/TypeScript,basarat/TypeScript,shiftkey/TypeScript,JohnZ622/TypeScript,evgrud/TypeScript,pcan/TypeScript,abbasmhd/TypeScript,jamesrmccallum/TypeScript,fabioparra/TypeScript,microsoft/TypeScript,fdecampredon/jsx-typescript,plantain-00/TypeScript,kimamula/TypeScript,ropik/TypeScript,shovon/TypeScript,SaschaNaz/TypeScript,SmallAiTT/TypeScript,ziacik/TypeScript,kumikumi/TypeScript,Microsoft/TypeScript,webhost/TypeScript,ziacik/TypeScript,nagyistoce/TypeScript,kimamula/TypeScript,kpreisser/TypeScript,kitsonk/TypeScript,enginekit/TypeScript,kingland/TypeScript,RyanCavanaugh/TypeScript,synaptek/TypeScript,gonifade/TypeScript,jwbay/TypeScript,wangyanxing/TypeScript,kpreisser/TypeScript,jbondc/TypeScript,webhost/TypeScript,DLehenbauer/TypeScript,tempbottle/TypeScript,mauricionr/TypeScript,wangyanxing/TypeScript,nagyistoce/TypeScript,blakeembrey/TypeScript,tempbottle/TypeScript,shanexu/TypeScript,jdavidberger/TypeScript,msynk/TypeScript,basarat/TypeScript,moander/TypeScript,AbubakerB/TypeScript,zmaruo/TypeScript,mmoskal/TypeScript,synaptek/TypeScript,ZLJASON/TypeScript,basarat/TypeScript,rgbkrk/TypeScript,RReverser/TypeScript,MartyIX/TypeScript,fearthecowboy/TypeScript,progre/TypeScript,kumikumi/TypeScript,rodrigues-daniel/TypeScript,zmaruo/TypeScript,ziacik/TypeScript,germ13/TypeScript,mauricionr/TypeScript,kingland/TypeScript,RyanCavanaugh/TypeScript,vilic/TypeScript,jnetterf/typescript-react-jsx,ionux/TypeScript,JohnZ622/TypeScript,Eyas/TypeScript,OlegDokuka/TypeScript,Raynos/TypeScript,alexeagle/TypeScript,SaschaNaz/TypeScript,SimoneGianni/TypeScript,blakeembrey/TypeScript,shanexu/TypeScript,Microsoft/TypeScript,zhengbli/TypeScript,matthewjh/TypeScript,SaschaNaz/TypeScript,yukulele/TypeScript,mcanthony/TypeScript,yukulele/TypeScript,kimamula/TypeScript,ionux/TypeScript,SmallAiTT/TypeScript,thr0w/Thr0wScript,hitesh97/TypeScript,zhengbli/TypeScript,bpowers/TypeScript,thr0w/Thr0wScript,jamesrmccallum/TypeScript,kitsonk/TypeScript,vilic/TypeScript,nycdotnet/TypeScript,Eyas/TypeScript,abbasmhd/TypeScript,yortus/TypeScript,chocolatechipui/TypeScript,shovon/TypeScript,moander/TypeScript,yazeng/TypeScript,mauricionr/TypeScript,hoanhtien/TypeScript,shanexu/TypeScript,plantain-00/TypeScript,donaldpipowitch/TypeScript,AbubakerB/TypeScript