float f(16*float):(0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.1,1.2,1.3,1.4,1.5,1.6,1.7)->14.3
float f(16*float):(0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.1,1.2,1.3,1.4,0,1.6,1.7)->12.8
double f(16*double):(0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.1,1.2,1.3,1.4,1.5,1.6,1.7)->14.3
double f(16*double):(0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.1,1.2,1.3,1.4,0,1.6,1.7)->12.8
Float f(Float,float,double):({0.1},0.2,0.3)->{0.6}
Float f(Float,float,double):({0},0.1,0.2)->{0.3}
Double f(float,Double,double):(0.1,{0.2},0.3)->{0.6}
Double f(float,Double,double):(0.1,{0},0.2)->{0.3}
T f(T,char,T):({"the"},' ',{"fox"})->{"box"}
T f(T,char,T):({"heX"},' ',{"oxo"})->{"bxo"}
X f(B,char,double,B):({0.1,{1,2,3}},'',0.3,{0.2,{5,4,3}})->{"return val",''}
X f(B,char,double,B):({-2.35344e-185,{2,3,0}},'	',0.3,{1.061e-313,{3,0,0}})->{"return val",'	'}
