Optimize the generated decode/2 function
Optimize the generated decode/2 function

Use 'try' instead of 'catch', and don't match anything that
cannot actually be returned from the generated encoding code.

dumbbell/otp,RaimoNiskanen/otp,emile/otp,RichMorin/otp,cobusc/otp,jj1bdx/otp,RGafiyatullin/otp,RGafiyatullin/otp,ferd/otp,ahmedshafeeq/otp,fenollp/otp,emacsmirror/erlang,RoadRunnr/otp,paladim/otp,RJ/otp,stolen/otp,entropiae/otp,paulcager/otp,vinoski/otp,neeraj9/otp,lrascao/otp,aboroska/otp,falkevik/otp,lantti/otp,dumbbell/otp,isvilen/otp,dumbbell/otp,RJ/otp,sdebnath/otp,jj1bdx/otp,enikki/otp,matwey/otp,mujiatong/otp,paladim/otp,stolen/otp,bjorng/otp,awetzel/otp,VincentHHL/otp,jamesruan/otp,schlagert/otp,RaimoNiskanen/otp,dumbbell/otp,basho/otp,fenollp/otp,lantti/otp,psyeugenic/otp,jinshana/otp,schlagert/otp,fenollp/otp,sdebnath/otp,jj1bdx/otp,riverrun/otp,msantos/otp,mujiatong/otp,release-project/otp,kvakvs/otp,vladdu/otp,ahmedshafeeq/otp,rlipscombe/otp,emile/otp,lightcyphers/otp,cobusc/otp,matwey/otp,basho/otp,lucafavatella/otp,electricimp/otp,lianghaivv/otp,jamesruan/otp,ahmedshafeeq/otp,paulcager/otp,lianghaivv/otp,vic/otp,beni55/otp,rlipscombe/otp,saleyn/otp,falkevik/otp,emile/otp,msantos/otp,bernardd/otp,bjorng/otp,yangchengjian/otp,VincentHHL/otp,potatosalad/otp,bugs-erlang-org/otp,legoscia/otp,legoscia/otp,bugs-erlang-org/otp,fenollp/otp,ader1990/otp,lucafavatella/otp,msantos/otp,lrascao/otp,weisslj/otp,emacsmirror/erlang,legoscia/otp,isvilen/otp,aboroska/otp,palas/otp,hairyhum/otp,NOMORECOFFEE/otp,RoadRunnr/otp,marquisthunder/otp,vic/otp,enikki/otp,cnbin/otp,RoadRunnr/otp,tuncer/otp,lrascao/otp,bernardd/otp,bernardd/otp,dumbbell/otp,bugs-erlang-org/otp,hairyhum/otp,matwey/otp,potatosalad/otp,VincentHHL/otp,gjaldon/otp,uabboli/otp,vic/otp,awetzel/otp,haguenau/otp,weisslj/otp,goertzenator/otp,cobusc/otp,rlipscombe/otp,RaimoNiskanen/otp,potatosalad/otp,beni55/otp,platinumthinker/otp,enikki/otp,bsmr-erlang/otp,ader1990/otp,sammoth-wazoku/otp,weisslj/otp,marquisthunder/otp,bugs-erlang-org/otp,RaimoNiskanen/otp,riverrun/otp,lemenkov/otp,GinjaNinja32/otp,bsmr-erlang/otp,klarna/otp,matwey/otp,neeraj9/otp,fenollp/otp,c-rack/otp,vic/otp,legoscia/otp,goertzenator/otp,msantos/otp,dgud/otp,weisslj/otp,emacsmirror/erlang,basho/otp,c-rack/otp,vinoski/otp,bsmr-erlang/otp,dgud/otp,enikki/otp,getong/otp,rlipscombe/otp,basho/otp,jj1bdx/otp,uabboli/otp,lantti/otp,jemsbhai/otp,matwey/otp,jj1bdx/otp,erlang/otp,cnbin/otp,haguenau/otp,tuncer/otp,johanclaesson/otp,bjorng/otp,beni55/otp,VincentHHL/otp,rlipscombe/otp,saleyn/otp,RJ/otp,c-rack/otp,saleyn/otp,electricimp/otp,massemanet/otp,platinumthinker/otp,lucafavatella/otp,sdebnath/otp,riverrun/otp,GinjaNinja32/otp,weisslj/otp,hairyhum/otp,riverrun/otp,Teino1978-Corp/erlang-otp,erlang/otp,dgud/otp,stolen/otp,bjorng/otp,VincentHHL/otp,klarna/otp,electricimp/otp,Teino1978-Corp/otp,gjaldon/otp,RoadRunnr/otp,psyeugenic/otp,NOMORECOFFEE/otp,mujiatong/otp,bernardd/otp,lantti/otp,schlagert/otp,rlipscombe/otp,haguenau/otp,c-rack/otp,aboroska/otp,jemsbhai/otp,NOMORECOFFEE/otp,getong/otp,vladdu/otp,bsmr-erlang/otp,uabboli/otp,klarna/otp,ahmedshafeeq/otp,riverrun/otp,emile/otp,dgud/otp,psyeugenic/otp,vinoski/otp,dgud/otp,RGafiyatullin/otp,hairyhum/otp,falkevik/otp,sdebnath/otp,jinshana/otp,gjaldon/otp,benoitc/otp-1,psyeugenic/otp,uabboli/otp,entropiae/otp,getong/otp,sammoth-wazoku/otp,jinshana/otp,electricimp/otp,erlang/otp,matwey/otp,RJ/otp,bernardd/otp,sammoth-wazoku/otp,legoscia/otp,potatosalad/otp,isvilen/otp,beni55/otp,weisslj/otp,vladdu/otp,falkevik/otp,awetzel/otp,theom/otp,tuncer/otp,palas/otp,lemenkov/otp,ferd/otp,RaimoNiskanen/otp,msantos/otp,sitexa/otp,rlipscombe/otp,lrascao/otp,mujiatong/otp,erlang/otp,g-andrade/otp,lhslll/otp,VincentHHL/otp,lianghaivv/otp,mikpe/otp,neeraj9/otp,lightcyphers/otp,theom/otp,mikpe/otp,bjorng/otp,ferd/otp,lrascao/otp,basho/otp,electricimp/otp,mujiatong/otp,RGafiyatullin/otp,mujiatong/otp,rlipscombe/otp,dgud/otp,kvakvs/otp,theom/otp,benoitc/otp-1,theom/otp,RaimoNiskanen/otp,release-project/otp,dumbbell/otp,dumbbell/otp,awetzel/otp,vladdu/otp,haguenau/otp,erlang/otp,RGafiyatullin/otp,VincentHHL/otp,g-andrade/otp,johanclaesson/otp,vic/otp,lucafavatella/otp,lrascao/otp,mikpe/otp,g-andrade/otp,vinoski/otp,sitexa/otp,emacsmirror/erlang,weisslj/otp,sitexa/otp,saleyn/otp,beni55/otp,RichMorin/otp,paulcager/otp,johanclaesson/otp,jemsbhai/otp,g-andrade/otp,platinumthinker/otp,johanclaesson/otp,lrascao/otp,goertzenator/otp,krishnakumar4a4/otp,goertzenator/otp,mujiatong/otp,electricimp/otp,tuncer/otp,erlang/otp,lhslll/otp,bugs-erlang-org/otp,sitexa/otp,enikki/otp,bsmr-erlang/otp,psyeugenic/otp,RichMorin/otp,hairyhum/otp,lemenkov/otp,krishnakumar4a4/otp,NOMORECOFFEE/otp,matwey/otp,gjaldon/otp,msantos/otp,dgud/otp,massemanet/otp,goertzenator/otp,sdebnath/otp,lianghaivv/otp,palas/otp,massemanet/otp,dgud/otp,jj1bdx/otp,electricimp/otp,klarna/otp,ader1990/otp,legoscia/otp,bernardd/otp,erlang/otp,goertzenator/otp,bjorng/otp,paulcager/otp,lightcyphers/otp,release-project/otp,ferd/otp,fenollp/otp,paulcager/otp,sdebnath/otp,potatosalad/otp,massemanet/otp,krishnakumar4a4/otp,stolen/otp,isvilen/otp,emacsmirror/erlang,lucafavatella/otp,derek121/otp,riverrun/otp,legoscia/otp,lantti/otp,yangchengjian/otp,mujiatong/otp,saleyn/otp,getong/otp,bugs-erlang-org/otp,jemsbhai/otp,lucafavatella/otp,goertzenator/otp,isvilen/otp,lianghaivv/otp,cnbin/otp,bsmr-erlang/otp,johanclaesson/otp,paulcager/otp,lrascao/otp,mikpe/otp,marquisthunder/otp,msantos/otp,benoitc/otp-1,schlagert/otp,lucafavatella/otp,entropiae/otp,palas/otp,sitexa/otp,goertzenator/otp,c-rack/otp,RichMorin/otp,potatosalad/otp,dumbbell/otp,lhslll/otp,yangchengjian/otp,g-andrade/otp,RoadRunnr/otp,bjorng/otp,basho/otp,Teino1978-Corp/otp,release-project/otp,marquisthunder/otp,saleyn/otp,VincentHHL/otp,beni55/otp,kvakvs/otp,getong/otp,Teino1978-Corp/otp,lightcyphers/otp,falkevik/otp,Teino1978-Corp/otp,hairyhum/otp,NOMORECOFFEE/otp,falkevik/otp,RGafiyatullin/otp,getong/otp,lhslll/otp,mikpe/otp,bugs-erlang-org/otp,basho/otp,bjorng/otp,RoadRunnr/otp,uabboli/otp,emile/otp,lhslll/otp,lemenkov/otp,potatosalad/otp,theom/otp,ferd/otp,platinumthinker/otp,beni55/otp,awetzel/otp,paladim/otp,yangchengjian/otp,jj1bdx/otp,benoitc/otp-1,paulcager/otp,lemenkov/otp,lianghaivv/otp,paladim/otp,bsmr-erlang/otp,gjaldon/otp,electricimp/otp,benoitc/otp-1,palas/otp,RGafiyatullin/otp,RJ/otp,saleyn/otp,cnbin/otp,gjaldon/otp,enikki/otp,psyeugenic/otp,ader1990/otp,ahmedshafeeq/otp,emacsmirror/erlang,sammoth-wazoku/otp,vinoski/otp,GinjaNinja32/otp,jamesruan/otp,isvilen/otp,RJ/otp,RaimoNiskanen/otp,cnbin/otp,paladim/otp,psyeugenic/otp,riverrun/otp,kvakvs/otp,krishnakumar4a4/otp,legoscia/otp,Teino1978-Corp/otp,psyeugenic/otp,entropiae/otp,ahmedshafeeq/otp,RichMorin/otp,entropiae/otp,paulcager/otp,derek121/otp,neeraj9/otp,lightcyphers/otp,beni55/otp,c-rack/otp,release-project/otp,potatosalad/otp,cobusc/otp,stolen/otp,vinoski/otp,GinjaNinja32/otp,massemanet/otp,theom/otp,uabboli/otp,c-rack/otp,matwey/otp,dumbbell/otp,cobusc/otp,yangchengjian/otp,matwey/otp,goertzenator/otp,falkevik/otp,bernardd/otp,sitexa/otp,uabboli/otp,theom/otp,bernardd/otp,ferd/otp,derek121/otp,stolen/otp,vinoski/otp,cnbin/otp,ferd/otp,GinjaNinja32/otp,GinjaNinja32/otp,vic/otp,lhslll/otp,lhslll/otp,lightcyphers/otp,bsmr-erlang/otp,lianghaivv/otp,RJ/otp,paladim/otp,riverrun/otp,uabboli/otp,schlagert/otp,ahmedshafeeq/otp,g-andrade/otp,tuncer/otp,vladdu/otp,lemenkov/otp,isvilen/otp,hairyhum/otp,paladim/otp,derek121/otp,kvakvs/otp,cnbin/otp,basho/otp,klarna/otp,legoscia/otp,sdebnath/otp,platinumthinker/otp,dgud/otp,marquisthunder/otp,bsmr-erlang/otp,stolen/otp,entropiae/otp,uabboli/otp,Teino1978-Corp/erlang-otp,Teino1978-Corp/erlang-otp,jinshana/otp,schlagert/otp,RoadRunnr/otp,falkevik/otp,ferd/otp,aboroska/otp,sammoth-wazoku/otp,theom/otp,massemanet/otp,kvakvs/otp,klarna/otp,NOMORECOFFEE/otp,release-project/otp,rlipscombe/otp,Teino1978-Corp/erlang-otp,vinoski/otp,platinumthinker/otp,jinshana/otp,release-project/otp,aboroska/otp,vladdu/otp,massemanet/otp,saleyn/otp,jinshana/otp,hairyhum/otp,dgud/otp,haguenau/otp,jinshana/otp,jamesruan/otp,g-andrade/otp,enikki/otp,mikpe/otp,getong/otp,release-project/otp,aboroska/otp,bjorng/otp,isvilen/otp,lemenkov/otp,sitexa/otp,benoitc/otp-1,paladim/otp,schlagert/otp,emacsmirror/erlang,derek121/otp,sdebnath/otp,Teino1978-Corp/otp,cobusc/otp,tuncer/otp,jemsbhai/otp,stolen/otp,bjorng/otp,krishnakumar4a4/otp,ader1990/otp,palas/otp,kvakvs/otp,Teino1978-Corp/otp,krishnakumar4a4/otp,ader1990/otp,neeraj9/otp,derek121/otp,mikpe/otp,emacsmirror/erlang,release-project/otp,sammoth-wazoku/otp,jamesruan/otp,palas/otp,dumbbell/otp,krishnakumar4a4/otp,vinoski/otp,haguenau/otp,massemanet/otp,yangchengjian/otp,ader1990/otp,jamesruan/otp,tuncer/otp,fenollp/otp,johanclaesson/otp,weisslj/otp,jj1bdx/otp,haguenau/otp,awetzel/otp,marquisthunder/otp,RichMorin/otp,fenollp/otp,derek121/otp,vladdu/otp,Teino1978-Corp/otp,enikki/otp,RichMorin/otp,RoadRunnr/otp,basho/otp,g-andrade/otp,RichMorin/otp,schlagert/otp,lantti/otp,c-rack/otp,kvakvs/otp,rlipscombe/otp,isvilen/otp,jj1bdx/otp,vladdu/otp,jinshana/otp,cobusc/otp,jemsbhai/otp,sammoth-wazoku/otp,derek121/otp,haguenau/otp,Teino1978-Corp/erlang-otp,mikpe/otp,RoadRunnr/otp,lightcyphers/otp,vladdu/otp,aboroska/otp,isvilen/otp,klarna/otp,lianghaivv/otp,neeraj9/otp,entropiae/otp,getong/otp,sammoth-wazoku/otp,potatosalad/otp,g-andrade/otp,yangchengjian/otp,potatosalad/otp,fenollp/otp,mikpe/otp,cnbin/otp,jamesruan/otp,aboroska/otp,marquisthunder/otp,lightcyphers/otp,krishnakumar4a4/otp,erlang/otp,electricimp/otp,lantti/otp,RJ/otp,emacsmirror/erlang,emile/otp,vic/otp,jj1bdx/otp,NOMORECOFFEE/otp,gjaldon/otp,GinjaNinja32/otp,jemsbhai/otp,klarna/otp,platinumthinker/otp,awetzel/otp,massemanet/otp,yangchengjian/otp,Teino1978-Corp/erlang-otp,NOMORECOFFEE/otp,falkevik/otp,lucafavatella/otp,RGafiyatullin/otp,lhslll/otp,lrascao/otp,emile/otp,benoitc/otp-1,emile/otp,GinjaNinja32/otp,ferd/otp,jemsbhai/otp,bernardd/otp,getong/otp,ahmedshafeeq/otp,tuncer/otp,tuncer/otp,ahmedshafeeq/otp,erlang/otp,vinoski/otp,neeraj9/otp,johanclaesson/otp,sitexa/otp,palas/otp,RaimoNiskanen/otp,erlang/otp,weisslj/otp,benoitc/otp-1,platinumthinker/otp,kvakvs/otp,Teino1978-Corp/erlang-otp,ader1990/otp,gjaldon/otp,awetzel/otp,marquisthunder/otp,Teino1978-Corp/erlang-otp,lemenkov/otp,saleyn/otp,getong/otp,cobusc/otp,jamesruan/otp,johanclaesson/otp,emacsmirror/erlang,entropiae/otp,g-andrade/otp,vic/otp,emile/otp,mikpe/otp,lantti/otp,RaimoNiskanen/otp,bugs-erlang-org/otp,neeraj9/otp,msantos/otp,aboroska/otp