[serialization] Restructure function template to work around ToT Clang bug.
[serialization] Restructure function template to work around ToT Clang bug.

The bug in question is PR9685, but the code is probably easier to read with
the extra template arg anyway.

Swift SVN r6064

sdulal/swift,manavgabhawala/swift,arvedviehweger/swift,lorentey/swift,harlanhaskins/swift,gmilos/swift,emilstahl/swift,modocache/swift,JaSpa/swift,kperryua/swift,karwa/swift,shahmishal/swift,karwa/swift,tkremenek/swift,tardieu/swift,ahoppen/swift,sschiau/swift,sdulal/swift,brentdax/swift,shajrawi/swift,tinysun212/swift-windows,gribozavr/swift,tjw/swift,natecook1000/swift,lorentey/swift,therealbnut/swift,Jnosh/swift,JGiola/swift,stephentyrone/swift,natecook1000/swift,calebd/swift,gmilos/swift,felix91gr/swift,xedin/swift,devincoughlin/swift,CodaFi/swift,lorentey/swift,sdulal/swift,therealbnut/swift,natecook1000/swift,swiftix/swift,jckarter/swift,brentdax/swift,apple/swift,CodaFi/swift,xwu/swift,danielmartin/swift,hooman/swift,deyton/swift,gottesmm/swift,IngmarStein/swift,jtbandes/swift,brentdax/swift,gribozavr/swift,calebd/swift,jtbandes/swift,practicalswift/swift,bitjammer/swift,devincoughlin/swift,tjw/swift,Ivacker/swift,gmilos/swift,jopamer/swift,KrishMunot/swift,gottesmm/swift,MukeshKumarS/Swift,KrishMunot/swift,IngmarStein/swift,zisko/swift,gottesmm/swift,uasys/swift,roambotics/swift,arvedviehweger/swift,rudkx/swift,johnno1962d/swift,LeoShimonaka/swift,KrishMunot/swift,atrick/swift,kperryua/swift,amraboelela/swift,glessard/swift,glessard/swift,jmgc/swift,dduan/swift,tardieu/swift,kperryua/swift,gottesmm/swift,mightydeveloper/swift,ben-ng/swift,tinysun212/swift-windows,arvedviehweger/swift,parkera/swift,rudkx/swift,ahoppen/swift,kusl/swift,xwu/swift,atrick/swift,codestergit/swift,jtbandes/swift,harlanhaskins/swift,dduan/swift,KrishMunot/swift,djwbrown/swift,russbishop/swift,emilstahl/swift,ken0nek/swift,sschiau/swift,xwu/swift,MukeshKumarS/Swift,IngmarStein/swift,kentya6/swift,deyton/swift,codestergit/swift,KrishMunot/swift,Ivacker/swift,brentdax/swift,zisko/swift,JaSpa/swift,practicalswift/swift,SwiftAndroid/swift,djwbrown/swift,parkera/swift,danielmartin/swift,jmgc/swift,kusl/swift,airspeedswift/swift,therealbnut/swift,alblue/swift,practicalswift/swift,huonw/swift,frootloops/swift,tkremenek/swift,jtbandes/swift,milseman/swift,ahoppen/swift,kusl/swift,djwbrown/swift,jtbandes/swift,kentya6/swift,zisko/swift,russbishop/swift,milseman/swift,gregomni/swift,alblue/swift,devincoughlin/swift,ken0nek/swift,mightydeveloper/swift,modocache/swift,austinzheng/swift,return/swift,russbishop/swift,gregomni/swift,roambotics/swift,natecook1000/swift,natecook1000/swift,jopamer/swift,emilstahl/swift,parkera/swift,CodaFi/swift,dduan/swift,karwa/swift,kperryua/swift,codestergit/swift,benlangmuir/swift,LeoShimonaka/swift,stephentyrone/swift,xedin/swift,parkera/swift,ken0nek/swift,harlanhaskins/swift,tjw/swift,huonw/swift,hughbe/swift,austinzheng/swift,swiftix/swift,huonw/swift,arvedviehweger/swift,cbrentharris/swift,JGiola/swift,jopamer/swift,zisko/swift,modocache/swift,JGiola/swift,modocache/swift,shajrawi/swift,ben-ng/swift,airspeedswift/swift,rudkx/swift,jopamer/swift,glessard/swift,uasys/swift,ahoppen/swift,bitjammer/swift,sdulal/swift,brentdax/swift,apple/swift,gottesmm/swift,hughbe/swift,ben-ng/swift,felix91gr/swift,xedin/swift,MukeshKumarS/Swift,deyton/swift,khizkhiz/swift,airspeedswift/swift,kstaring/swift,felix91gr/swift,emilstahl/swift,huonw/swift,huonw/swift,gribozavr/swift,allevato/swift,manavgabhawala/swift,OscarSwanros/swift,khizkhiz/swift,xwu/swift,SwiftAndroid/swift,adrfer/swift,tjw/swift,amraboelela/swift,tkremenek/swift,OscarSwanros/swift,calebd/swift,kperryua/swift,gregomni/swift,danielmartin/swift,roambotics/swift,roambotics/swift,mightydeveloper/swift,danielmartin/swift,djwbrown/swift,lorentey/swift,russbishop/swift,adrfer/swift,stephentyrone/swift,kusl/swift,djwbrown/swift,harlanhaskins/swift,KrishMunot/swift,nathawes/swift,jtbandes/swift,karwa/swift,return/swift,uasys/swift,MukeshKumarS/Swift,cbrentharris/swift,djwbrown/swift,emilstahl/swift,return/swift,benlangmuir/swift,nathawes/swift,kentya6/swift,OscarSwanros/swift,Ivacker/swift,gmilos/swift,JGiola/swift,kentya6/swift,johnno1962d/swift,johnno1962d/swift,ahoppen/swift,gmilos/swift,gribozavr/swift,bitjammer/swift,modocache/swift,manavgabhawala/swift,LeoShimonaka/swift,rudkx/swift,swiftix/swift.old,shajrawi/swift,Ivacker/swift,harlanhaskins/swift,swiftix/swift.old,IngmarStein/swift,dreamsxin/swift,adrfer/swift,SwiftAndroid/swift,devincoughlin/swift,glessard/swift,sschiau/swift,SwiftAndroid/swift,Ivacker/swift,gribozavr/swift,adrfer/swift,gregomni/swift,Jnosh/swift,amraboelela/swift,xwu/swift,allevato/swift,nathawes/swift,arvedviehweger/swift,OscarSwanros/swift,kentya6/swift,codestergit/swift,tkremenek/swift,glessard/swift,JGiola/swift,slavapestov/swift,shahmishal/swift,hooman/swift,LeoShimonaka/swift,dreamsxin/swift,jmgc/swift,kusl/swift,calebd/swift,MukeshKumarS/Swift,aschwaighofer/swift,kentya6/swift,uasys/swift,MukeshKumarS/Swift,sschiau/swift,calebd/swift,jmgc/swift,harlanhaskins/swift,therealbnut/swift,shahmishal/swift,JaSpa/swift,jckarter/swift,jmgc/swift,shahmishal/swift,swiftix/swift,gottesmm/swift,xwu/swift,return/swift,hooman/swift,shajrawi/swift,russbishop/swift,dduan/swift,swiftix/swift,austinzheng/swift,aschwaighofer/swift,zisko/swift,frootloops/swift,parkera/swift,Jnosh/swift,benlangmuir/swift,djwbrown/swift,atrick/swift,jckarter/swift,sschiau/swift,Jnosh/swift,bitjammer/swift,hooman/swift,arvedviehweger/swift,shajrawi/swift,johnno1962d/swift,practicalswift/swift,khizkhiz/swift,roambotics/swift,alblue/swift,alblue/swift,natecook1000/swift,hughbe/swift,allevato/swift,kentya6/swift,tinysun212/swift-windows,kstaring/swift,swiftix/swift,mightydeveloper/swift,JaSpa/swift,ken0nek/swift,ken0nek/swift,hughbe/swift,karwa/swift,deyton/swift,kusl/swift,cbrentharris/swift,return/swift,kperryua/swift,IngmarStein/swift,swiftix/swift.old,practicalswift/swift,tjw/swift,airspeedswift/swift,cbrentharris/swift,slavapestov/swift,aschwaighofer/swift,apple/swift,jckarter/swift,ben-ng/swift,emilstahl/swift,jckarter/swift,kstaring/swift,cbrentharris/swift,shahmishal/swift,felix91gr/swift,xedin/swift,sdulal/swift,rudkx/swift,tinysun212/swift-windows,cbrentharris/swift,rudkx/swift,nathawes/swift,JaSpa/swift,frootloops/swift,deyton/swift,IngmarStein/swift,mightydeveloper/swift,lorentey/swift,xedin/swift,shajrawi/swift,austinzheng/swift,SwiftAndroid/swift,apple/swift,CodaFi/swift,swiftix/swift.old,ken0nek/swift,allevato/swift,russbishop/swift,adrfer/swift,uasys/swift,alblue/swift,milseman/swift,huonw/swift,benlangmuir/swift,jmgc/swift,kusl/swift,gribozavr/swift,JGiola/swift,tardieu/swift,tkremenek/swift,devincoughlin/swift,allevato/swift,modocache/swift,johnno1962d/swift,stephentyrone/swift,tjw/swift,jopamer/swift,ken0nek/swift,LeoShimonaka/swift,huonw/swift,cbrentharris/swift,therealbnut/swift,kstaring/swift,benlangmuir/swift,parkera/swift,austinzheng/swift,atrick/swift,khizkhiz/swift,swiftix/swift,manavgabhawala/swift,deyton/swift,allevato/swift,JaSpa/swift,swiftix/swift.old,LeoShimonaka/swift,bitjammer/swift,hughbe/swift,hooman/swift,nathawes/swift,milseman/swift,atrick/swift,SwiftAndroid/swift,swiftix/swift.old,stephentyrone/swift,MukeshKumarS/Swift,OscarSwanros/swift,mightydeveloper/swift,slavapestov/swift,nathawes/swift,amraboelela/swift,devincoughlin/swift,parkera/swift,frootloops/swift,manavgabhawala/swift,sschiau/swift,sdulal/swift,slavapestov/swift,hooman/swift,bitjammer/swift,khizkhiz/swift,alblue/swift,lorentey/swift,codestergit/swift,gmilos/swift,amraboelela/swift,frootloops/swift,jopamer/swift,aschwaighofer/swift,airspeedswift/swift,practicalswift/swift,hughbe/swift,dduan/swift,natecook1000/swift,felix91gr/swift,OscarSwanros/swift,swiftix/swift.old,Ivacker/swift,CodaFi/swift,apple/swift,xedin/swift,jmgc/swift,kusl/swift,devincoughlin/swift,Jnosh/swift,frootloops/swift,tardieu/swift,Jnosh/swift,stephentyrone/swift,practicalswift/swift,tjw/swift,ahoppen/swift,CodaFi/swift,shahmishal/swift,codestergit/swift,danielmartin/swift,LeoShimonaka/swift,sdulal/swift,aschwaighofer/swift,brentdax/swift,gregomni/swift,shajrawi/swift,milseman/swift,swiftix/swift.old,xwu/swift,kstaring/swift,russbishop/swift,gribozavr/swift,xedin/swift,apple/swift,austinzheng/swift,lorentey/swift,shahmishal/swift,sschiau/swift,danielmartin/swift,uasys/swift,benlangmuir/swift,tinysun212/swift-windows,frootloops/swift,hooman/swift,gmilos/swift,emilstahl/swift,mightydeveloper/swift,arvedviehweger/swift,uasys/swift,Jnosh/swift,devincoughlin/swift,manavgabhawala/swift,zisko/swift,bitjammer/swift,sdulal/swift,cbrentharris/swift,felix91gr/swift,amraboelela/swift,shahmishal/swift,dduan/swift,deyton/swift,calebd/swift,tkremenek/swift,harlanhaskins/swift,Ivacker/swift,emilstahl/swift,dduan/swift,calebd/swift,slavapestov/swift,parkera/swift,danielmartin/swift,sschiau/swift,amraboelela/swift,aschwaighofer/swift,glessard/swift,xedin/swift,jckarter/swift,johnno1962d/swift,mightydeveloper/swift,CodaFi/swift,ben-ng/swift,airspeedswift/swift,shajrawi/swift,SwiftAndroid/swift,adrfer/swift,allevato/swift,ben-ng/swift,gottesmm/swift,johnno1962d/swift,JaSpa/swift,jtbandes/swift,tkremenek/swift,therealbnut/swift,practicalswift/swift,kperryua/swift,slavapestov/swift,hughbe/swift,khizkhiz/swift,modocache/swift,tardieu/swift,IngmarStein/swift,tardieu/swift,alblue/swift,LeoShimonaka/swift,roambotics/swift,brentdax/swift,adrfer/swift,austinzheng/swift,karwa/swift,therealbnut/swift,felix91gr/swift,gribozavr/swift,karwa/swift,OscarSwanros/swift,KrishMunot/swift,jckarter/swift,tinysun212/swift-windows,ben-ng/swift,kstaring/swift,lorentey/swift,kentya6/swift,manavgabhawala/swift,slavapestov/swift,milseman/swift,Ivacker/swift,aschwaighofer/swift,stephentyrone/swift,milseman/swift,nathawes/swift,atrick/swift,airspeedswift/swift,return/swift,khizkhiz/swift,tinysun212/swift-windows,gregomni/swift,karwa/swift,codestergit/swift,kstaring/swift,return/swift,jopamer/swift,tardieu/swift,zisko/swift,swiftix/swift