Infer option types from the default when possible.
Infer option types from the default when possible.

Closes #248.

erichuang1994/tornado,elijah513/tornado,frtmelody/tornado,tianyk/tornado-research,BencoLee/tornado,takeshineshiro/tornado,AlphaStaxLLC/tornado,bufferx/tornado,djt5019/tornado,gitchs/tornado,sunjeammy/tornado,insflow/tornado,ifduyue/tornado,ydaniv/tornado,Batterfii/tornado,djt5019/tornado,ydaniv/tornado,chenxiaba/tornado,liqueur/tornado,obsh/tornado,yangkf1985/tornado,fengshao0907/tornado,anjan-srivastava/tornado,jonashagstedt/tornado,felixonmars/tornado,takeshineshiro/tornado,lilydjwg/tornado,jarrahwu/tornado,lsanotes/tornado,dsseter/tornado,AlphaStaxLLC/tornado,noxiouz/tornado,felixonmars/tornado,frtmelody/tornado,mlyundin/tornado,gwillem/tornado,ajdavis/tornado,BencoLee/tornado,pombredanne/tornado,Geoion/tornado,shashankbassi92/tornado,elelianghh/tornado,cyrusin/tornado,MjAbuz/tornado,zguangyu/tornado,Lancher/tornado,kangbiao/tornado,jarrahwu/tornado,ListFranz/tornado,LTD-Beget/tornado,nbargnesi/tornado,pombredanne/tornado,lujinda/tornado,Snamint/tornado,mr-ping/tornado,Snamint/tornado,jehiah/tornado,Geoion/tornado,lujinda/tornado,erichuang1994/tornado,chenxiaba/tornado,noxiouz/tornado,takeshineshiro/tornado,xinyu7/tornado,mehmetkose/tornado,elijah513/tornado,kippandrew/tornado,ZhuPeng/tornado,andyaguiar/tornado,cyrilMargaria/tornado,mivade/tornado,felixonmars/tornado,liqueur/tornado,mlyundin/tornado,importcjj/tornado,xinyu7/tornado,ZhuPeng/tornado,mlyundin/tornado,kippandrew/tornado,elelianghh/tornado,LTD-Beget/tornado,Batterfii/tornado,gitchs/tornado,xinyu7/tornado,jarrahwu/tornado,Acidburn0zzz/tornado,zguangyu/tornado,Lancher/tornado,NoyaInRain/tornado,Polyconseil/tornado,kangbiao/tornado,elijah513/tornado,chenxiaba/tornado,importcjj/tornado,wujuguang/tornado,legnaleurc/tornado,eklitzke/tornado,Snamint/tornado,eklitzke/tornado,Snamint/tornado,obsh/tornado,allenl203/tornado,nbargnesi/tornado,shashankbassi92/tornado,Fydot/tornado,Polyconseil/tornado,0x73/tornado,lilydjwg/tornado,wxhzk/tornado-1,gitchs/tornado,andyaguiar/tornado,jsjohnst/tornado,kangbiao/tornado,elijah513/tornado,kangbiao/tornado,allenl203/tornado,nbargnesi/tornado,zhuochenKIDD/tornado,erichuang1994/tornado,nephics/tornado,ms7s/tornado,0xkag/tornado,ListFranz/tornado,shaohung001/tornado,sxfmol/tornado,liqueur/tornado,lujinda/tornado,kaushik94/tornado,304471720/tornado,ms7s/tornado,wxhzk/tornado-1,drewmiller/tornado,icejoywoo/tornado,coderhaoxin/tornado,Windsooon/tornado,nbargnesi/tornado,pombredanne/tornado,Callwoola/tornado,ms7s/tornado,ovidiucp/tornado,wujuguang/tornado,cyrusin/tornado,ymero/tornado,Callwoola/tornado,fengsp/tornado,fengsp/tornado,ubear/tornado,takeshineshiro/tornado,kevinge314gh/tornado,ubear/tornado,wxhzk/tornado-1,lujinda/tornado,QuanZag/tornado,arthurdarcet/tornado,sevenguin/tornado,legnaleurc/tornado,whip112/tornado,nordaux/tornado,gwillem/tornado,yuezhonghua/tornado,futurechallenger/tornado,andyaguiar/tornado,Aaron1992/tornado,takeshineshiro/tornado,leekchan/tornado_test,bywbilly/tornado,BencoLee/tornado,xinyu7/tornado,shaohung001/tornado,jampp/tornado,MjAbuz/tornado,nordaux/tornado,whip112/tornado,sevenguin/tornado,zguangyu/tornado,liqueur/tornado,johan--/tornado,nbargnesi/tornado,nordaux/tornado,InverseLina/tornado,Callwoola/tornado,andyaguiar/tornado,jehiah/tornado,icejoywoo/tornado,jarrahwu/tornado,legnaleurc/tornado,QuanZag/tornado,bdarnell/tornado,Polyconseil/tornado,jampp/tornado,fengshao0907/tornado,eXcomm/tornado,lsanotes/tornado,bywbilly/tornado,allenl203/tornado,insflow/tornado,nbargnesi/tornado,yuyangit/tornado,ovidiucp/tornado,jparise/tornado,jsjohnst/tornado,mehmetkose/tornado,andyaguiar/tornado,fengsp/tornado,bdarnell/tornado,zguangyu/tornado,dsseter/tornado,Geoion/tornado,kangbiao/tornado,futurechallenger/tornado,VShangxiao/tornado,tianyk/tornado-research,yangkf1985/tornado,coderhaoxin/tornado,ColorFuzzy/tornado,Fydot/tornado,Callwoola/tornado,Geoion/tornado,mivade/tornado,pombredanne/tornado,insflow/tornado,drewmiller/tornado,bdarnell/tornado,NoyaInRain/tornado,ifduyue/tornado,VShangxiao/tornado,jampp/tornado,codeb2cc/tornado,bywbilly/tornado,dsseter/tornado,wechasing/tornado,shaohung001/tornado,icejoywoo/tornado,0x73/tornado,allenl203/tornado,ZhuPeng/tornado,bufferx/tornado,shashankbassi92/tornado,anjan-srivastava/tornado,ymero/tornado,codecov/tornado,ListFranz/tornado,dongpinglai/my_tornado,jonashagstedt/tornado,InverseLina/tornado,noxiouz/tornado,sunjeammy/tornado,z-fork/tornado,mivade/tornado,anandology/tornado,ColorFuzzy/tornado,ajdavis/tornado,cyrusin/tornado,ColorFuzzy/tornado,importcjj/tornado,ifduyue/tornado,LTD-Beget/tornado,djt5019/tornado,elijah513/tornado,bdarnell/tornado,eklitzke/tornado,coderhaoxin/tornado,obsh/tornado,ymero/tornado,shaohung001/tornado,drewmiller/tornado,VShangxiao/tornado,lsanotes/tornado,nephics/tornado,304471720/tornado,yuyangit/tornado,akalipetis/tornado,SuminAndrew/tornado,nordaux/tornado,yuyangit/tornado,ColorFuzzy/tornado,sxfmol/tornado,yuyangit/tornado,Fydot/tornado,dongpinglai/my_tornado,jsjohnst/tornado,kaushik94/tornado,akalipetis/tornado,anandology/tornado,wujuguang/tornado,yuyangit/tornado,304471720/tornado,arthurdarcet/tornado,Callwoola/tornado,pombredanne/tornado,codeb2cc/tornado,frtmelody/tornado,zhuochenKIDD/tornado,kaushik94/tornado,Acidburn0zzz/tornado,anjan-srivastava/tornado,z-fork/tornado,mehmetkose/tornado,djt5019/tornado,lsanotes/tornado,Aaron1992/tornado,ms7s/tornado,jampp/tornado,Drooids/tornado,yangkf1985/tornado,gwillem/tornado,jarrahwu/tornado,felixonmars/tornado,NoyaInRain/tornado,ajdavis/tornado,jonashagstedt/tornado,hhru/tornado,ifduyue/tornado,mehmetkose/tornado,obsh/tornado,zhuochenKIDD/tornado,akalipetis/tornado,Windsooon/tornado,importcjj/tornado,hhru/tornado,frtmelody/tornado,dongpinglai/my_tornado,whip112/tornado,erichuang1994/tornado,Aaron1992/tornado,QuanZag/tornado,icejoywoo/tornado,SuminAndrew/tornado,sunjeammy/tornado,NoyaInRain/tornado,LTD-Beget/tornado,arthurdarcet/tornado,ColorFuzzy/tornado,wsyzxcn/tornado,z-fork/tornado,Windsooon/tornado,sevenguin/tornado,yuezhonghua/tornado,mr-ping/tornado,anandology/tornado,ovidiucp/tornado,shaohung001/tornado,codeb2cc/tornado,lujinda/tornado,insflow/tornado,jparise/tornado,0xkag/tornado,fengshao0907/tornado,legnaleurc/tornado,hzruandd/tornado,anjan-srivastava/tornado,z-fork/tornado,fengsp/tornado,obsh/tornado,jparise/tornado,gwillem/tornado,ListFranz/tornado,ms7s/tornado,kippandrew/tornado,futurechallenger/tornado,Lancher/tornado,Acidburn0zzz/tornado,VShangxiao/tornado,Fydot/tornado,jampp/tornado,dongpinglai/my_tornado,futurechallenger/tornado,ubear/tornado,chenxiaba/tornado,fengshao0907/tornado,tianyk/tornado-research,AlphaStaxLLC/tornado,erichuang1994/tornado,gwillem/tornado,djt5019/tornado,wechasing/tornado,codecov/tornado,leekchan/tornado_test,wujuguang/tornado,bdarnell/tornado,cyrilMargaria/tornado,kevinge314gh/tornado,jehiah/tornado,ubear/tornado,Batterfii/tornado,sxfmol/tornado,akalipetis/tornado,MjAbuz/tornado,InverseLina/tornado,leekchan/tornado_test,kevinge314gh/tornado,Windsooon/tornado,noxiouz/tornado,Drooids/tornado,yuezhonghua/tornado,zhuochenKIDD/tornado,sunjeammy/tornado,codeb2cc/tornado,wsyzxcn/tornado,anjan-srivastava/tornado,Aaron1992/tornado,ymero/tornado,jehiah/tornado,ubear/tornado,tianyk/tornado-research,lsanotes/tornado,LTD-Beget/tornado,mehmetkose/tornado,hzruandd/tornado,shaohung001/tornado,jehiah/tornado,SuminAndrew/tornado,bywbilly/tornado,sxfmol/tornado,insflow/tornado,codecov/tornado,0x73/tornado,liqueur/tornado,elelianghh/tornado,cyrusin/tornado,frtmelody/tornado,elelianghh/tornado,kippandrew/tornado,anjan-srivastava/tornado,gitchs/tornado,ydaniv/tornado,ZhuPeng/tornado,dsseter/tornado,Acidburn0zzz/tornado,kevinge314gh/tornado,wujuguang/tornado,jarrahwu/tornado,bufferx/tornado,eXcomm/tornado,futurechallenger/tornado,jsjohnst/tornado,liqueur/tornado,icejoywoo/tornado,lilydjwg/tornado,Polyconseil/tornado,Drooids/tornado,jparise/tornado,obsh/tornado,hzruandd/tornado,zhuochenKIDD/tornado,mlyundin/tornado,yangkf1985/tornado,kippandrew/tornado,ovidiucp/tornado,nephics/tornado,cyrusin/tornado,fengshao0907/tornado,xinyu7/tornado,InverseLina/tornado,0x73/tornado,eXcomm/tornado,zhuochenKIDD/tornado,bywbilly/tornado,fengsp/tornado,AlphaStaxLLC/tornado,codeb2cc/tornado,importcjj/tornado,drewmiller/tornado,insflow/tornado,nephics/tornado,MjAbuz/tornado,dongpinglai/my_tornado,ydaniv/tornado,drewmiller/tornado,ListFranz/tornado,lilydjwg/tornado,ajdavis/tornado,ubear/tornado,mr-ping/tornado,hzruandd/tornado,Fydot/tornado,whip112/tornado,VShangxiao/tornado,zguangyu/tornado,ajdavis/tornado,hhru/tornado,elelianghh/tornado,ovidiucp/tornado,Batterfii/tornado,Drooids/tornado,NoyaInRain/tornado,wechasing/tornado,anandology/tornado,elijah513/tornado,tornadoweb/tornado,eklitzke/tornado,kaushik94/tornado,BencoLee/tornado,ms7s/tornado,eklitzke/tornado,elelianghh/tornado,Snamint/tornado,304471720/tornado,Polyconseil/tornado,Geoion/tornado,nordaux/tornado,Windsooon/tornado,cyrilMargaria/tornado,coderhaoxin/tornado,Polyconseil/tornado,nephics/tornado,kevinge314gh/tornado,0xkag/tornado,johan--/tornado,SuminAndrew/tornado,zguangyu/tornado,andyaguiar/tornado,gitchs/tornado,yuezhonghua/tornado,Snamint/tornado,QuanZag/tornado,LTD-Beget/tornado,yuezhonghua/tornado,jampp/tornado,VShangxiao/tornado,InverseLina/tornado,bufferx/tornado,wxhzk/tornado-1,jparise/tornado,kangbiao/tornado,arthurdarcet/tornado,bufferx/tornado,mr-ping/tornado,eXcomm/tornado,jonashagstedt/tornado,304471720/tornado,djt5019/tornado,AlphaStaxLLC/tornado,BencoLee/tornado,mivade/tornado,wsyzxcn/tornado,MjAbuz/tornado,shashankbassi92/tornado,hhru/tornado,johan--/tornado,ymero/tornado,akalipetis/tornado,ydaniv/tornado,ymero/tornado,shashankbassi92/tornado,Acidburn0zzz/tornado,lujinda/tornado,eXcomm/tornado,dsseter/tornado,anandology/tornado,wsyzxcn/tornado,sevenguin/tornado,ZhuPeng/tornado,mlyundin/tornado,BencoLee/tornado,johan--/tornado,anandology/tornado,sxfmol/tornado,Batterfii/tornado,kaushik94/tornado,ZhuPeng/tornado,tornadoweb/tornado,coderhaoxin/tornado,Geoion/tornado,hzruandd/tornado,gwillem/tornado,mivade/tornado,johan--/tornado,mlyundin/tornado,ifduyue/tornado,drewmiller/tornado,pombredanne/tornado,codecov/tornado,wxhzk/tornado-1,lsanotes/tornado,whip112/tornado,bywbilly/tornado,Acidburn0zzz/tornado,chenxiaba/tornado,frtmelody/tornado,hhru/tornado,akalipetis/tornado,Aaron1992/tornado,wechasing/tornado,QuanZag/tornado,jparise/tornado,SuminAndrew/tornado,Drooids/tornado,felixonmars/tornado,kevinge314gh/tornado,dsseter/tornado,sxfmol/tornado,tianyk/tornado-research,gitchs/tornado,arthurdarcet/tornado,Batterfii/tornado,MjAbuz/tornado,mr-ping/tornado,cyrilMargaria/tornado,xinyu7/tornado,cyrusin/tornado,Lancher/tornado,cyrilMargaria/tornado,ovidiucp/tornado,jonashagstedt/tornado,takeshineshiro/tornado,yangkf1985/tornado,ydaniv/tornado,jsjohnst/tornado,mr-ping/tornado,ListFranz/tornado,icejoywoo/tornado,QuanZag/tornado,noxiouz/tornado,eXcomm/tornado,yuezhonghua/tornado,coderhaoxin/tornado,Callwoola/tornado,Drooids/tornado,InverseLina/tornado,sevenguin/tornado,Windsooon/tornado,wsyzxcn/tornado,NoyaInRain/tornado,wechasing/tornado,chenxiaba/tornado,wxhzk/tornado-1,z-fork/tornado,ColorFuzzy/tornado,AlphaStaxLLC/tornado,wsyzxcn/tornado,sevenguin/tornado,fengsp/tornado,kippandrew/tornado,0xkag/tornado,dongpinglai/my_tornado,johan--/tornado,futurechallenger/tornado,legnaleurc/tornado,fengshao0907/tornado,wechasing/tornado,0xkag/tornado,noxiouz/tornado,allenl203/tornado,erichuang1994/tornado,304471720/tornado,Lancher/tornado,arthurdarcet/tornado,shashankbassi92/tornado,sunjeammy/tornado,leekchan/tornado_test,tornadoweb/tornado,importcjj/tornado,whip112/tornado,0x73/tornado,z-fork/tornado,codeb2cc/tornado,wsyzxcn/tornado,mehmetkose/tornado,leekchan/tornado_test,cyrilMargaria/tornado,hzruandd/tornado,Fydot/tornado,tornadoweb/tornado,yangkf1985/tornado,jsjohnst/tornado