Index: src/tests/.expect/functions.x64.txt
===================================================================
--- src/tests/.expect/functions.x64.txt	(revision d8cb7dfd7bcdf4edc5b326d58a7b25556335f902)
+++ src/tests/.expect/functions.x64.txt	(revision 364d70c21f07c6c27eb498425a33375d6221ba33)
@@ -31,6 +31,6 @@
     __attribute__ ((unused)) signed int **_X10_retval_f8PPi_1;
 }
-signed int *const *_X2f9FPCPi___1(){
-    __attribute__ ((unused)) signed int *const *_X10_retval_f9PCPi_1;
+signed int *const *_X2f9FPKPi___1(){
+    __attribute__ ((unused)) signed int *const *_X10_retval_f9PKPi_1;
 }
 signed int (*_X3f10FPA0i___1())[]{
@@ -47,5 +47,5 @@
 }
 const signed int _X4fII2Fi_i__1(signed int _X1ii_1){
-    __attribute__ ((unused)) const signed int _X12_retval_fII2Ci_1;
+    __attribute__ ((unused)) const signed int _X12_retval_fII2Ki_1;
 }
 extern signed int _X4fII3Fi_i__1(signed int _X1ii_1){
@@ -53,5 +53,5 @@
 }
 extern const signed int _X4fII4Fi_i__1(signed int _X1ii_1){
-    __attribute__ ((unused)) const signed int _X12_retval_fII4Ci_1;
+    __attribute__ ((unused)) const signed int _X12_retval_fII4Ki_1;
 }
 signed int *_X4fII5FPi___1(){
@@ -59,14 +59,14 @@
 }
 signed int *const _X4fII6FPi___1(){
-    __attribute__ ((unused)) signed int *const _X12_retval_fII6CPi_1;
-}
-const signed long int *_X4fII7FPCl___1(){
-    __attribute__ ((unused)) const signed long int *_X12_retval_fII7PCl_1;
-}
-static const signed long int *_X4fII8FPCl___1(){
-    __attribute__ ((unused)) const signed long int *_X12_retval_fII8PCl_1;
-}
-static const signed long int *_X4fII9FPCl___1(){
-    __attribute__ ((unused)) const signed long int *_X12_retval_fII9PCl_1;
+    __attribute__ ((unused)) signed int *const _X12_retval_fII6KPi_1;
+}
+const signed long int *_X4fII7FPKl___1(){
+    __attribute__ ((unused)) const signed long int *_X12_retval_fII7PKl_1;
+}
+static const signed long int *_X4fII8FPKl___1(){
+    __attribute__ ((unused)) const signed long int *_X12_retval_fII8PKl_1;
+}
+static const signed long int *_X4fII9FPKl___1(){
+    __attribute__ ((unused)) const signed long int *_X12_retval_fII9PKl_1;
 }
 signed int _X3fO1Fi_i__1(signed int _X1ii_1){
@@ -77,5 +77,5 @@
 }
 const signed int _X3fO3Fi_i__1(signed int _X1ii_1){
-    __attribute__ ((unused)) const signed int _X11_retval_fO3Ci_1;
+    __attribute__ ((unused)) const signed int _X11_retval_fO3Ki_1;
 }
 extern signed int _X3fO4Fi_i__1(signed int _X1ii_1){
@@ -83,5 +83,5 @@
 }
 extern const signed int _X3fO5Fi_i__1(signed int _X1ii_1){
-    __attribute__ ((unused)) const signed int _X11_retval_fO5Ci_1;
+    __attribute__ ((unused)) const signed int _X11_retval_fO5Ki_1;
 }
 signed int _X1fFi___1(void);
@@ -96,16 +96,16 @@
 struct _tuple2_ {
 };
-static inline void _layoutof__tuple2_(unsigned long int *_sizeof__tuple2_, unsigned long int *_alignof__tuple2_, unsigned long int *_offsetof__tuple2_, unsigned long int _sizeof_t15tuple_param_2_0, unsigned long int _alignof_t15tuple_param_2_0, unsigned long int _sizeof_t15tuple_param_2_1, unsigned long int _alignof_t15tuple_param_2_1){
+static inline void _layoutof__tuple2_(unsigned long int *_sizeof__tuple2_, unsigned long int *_alignof__tuple2_, unsigned long int *_offsetof__tuple2_, unsigned long int _sizeof_Y15tuple_param_2_0, unsigned long int _alignof_Y15tuple_param_2_0, unsigned long int _sizeof_Y15tuple_param_2_1, unsigned long int _alignof_Y15tuple_param_2_1){
     ((void)((*_sizeof__tuple2_)=0));
     ((void)((*_alignof__tuple2_)=1));
     ((void)(_offsetof__tuple2_[0]=(*_sizeof__tuple2_)));
-    ((void)((*_sizeof__tuple2_)+=_sizeof_t15tuple_param_2_0));
-    if ( ((*_alignof__tuple2_)<_alignof_t15tuple_param_2_0) ) ((void)((*_alignof__tuple2_)=_alignof_t15tuple_param_2_0));
-
-    if ( ((*_sizeof__tuple2_)&(_alignof_t15tuple_param_2_1-1)) ) ((void)((*_sizeof__tuple2_)+=(_alignof_t15tuple_param_2_1-((*_sizeof__tuple2_)&(_alignof_t15tuple_param_2_1-1)))));
+    ((void)((*_sizeof__tuple2_)+=_sizeof_Y15tuple_param_2_0));
+    if ( ((*_alignof__tuple2_)<_alignof_Y15tuple_param_2_0) ) ((void)((*_alignof__tuple2_)=_alignof_Y15tuple_param_2_0));
+
+    if ( ((*_sizeof__tuple2_)&(_alignof_Y15tuple_param_2_1-1)) ) ((void)((*_sizeof__tuple2_)+=(_alignof_Y15tuple_param_2_1-((*_sizeof__tuple2_)&(_alignof_Y15tuple_param_2_1-1)))));
 
     ((void)(_offsetof__tuple2_[1]=(*_sizeof__tuple2_)));
-    ((void)((*_sizeof__tuple2_)+=_sizeof_t15tuple_param_2_1));
-    if ( ((*_alignof__tuple2_)<_alignof_t15tuple_param_2_1) ) ((void)((*_alignof__tuple2_)=_alignof_t15tuple_param_2_1));
+    ((void)((*_sizeof__tuple2_)+=_sizeof_Y15tuple_param_2_1));
+    if ( ((*_alignof__tuple2_)<_alignof_Y15tuple_param_2_1) ) ((void)((*_alignof__tuple2_)=_alignof_Y15tuple_param_2_1));
 
     if ( ((*_sizeof__tuple2_)&((*_alignof__tuple2_)-1)) ) ((void)((*_sizeof__tuple2_)+=((*_alignof__tuple2_)-((*_sizeof__tuple2_)&((*_alignof__tuple2_)-1)))));
@@ -126,22 +126,22 @@
 struct _tuple3_ {
 };
-static inline void _layoutof__tuple3_(unsigned long int *_sizeof__tuple3_, unsigned long int *_alignof__tuple3_, unsigned long int *_offsetof__tuple3_, unsigned long int _sizeof_t15tuple_param_3_0, unsigned long int _alignof_t15tuple_param_3_0, unsigned long int _sizeof_t15tuple_param_3_1, unsigned long int _alignof_t15tuple_param_3_1, unsigned long int _sizeof_t15tuple_param_3_2, unsigned long int _alignof_t15tuple_param_3_2){
+static inline void _layoutof__tuple3_(unsigned long int *_sizeof__tuple3_, unsigned long int *_alignof__tuple3_, unsigned long int *_offsetof__tuple3_, unsigned long int _sizeof_Y15tuple_param_3_0, unsigned long int _alignof_Y15tuple_param_3_0, unsigned long int _sizeof_Y15tuple_param_3_1, unsigned long int _alignof_Y15tuple_param_3_1, unsigned long int _sizeof_Y15tuple_param_3_2, unsigned long int _alignof_Y15tuple_param_3_2){
     ((void)((*_sizeof__tuple3_)=0));
     ((void)((*_alignof__tuple3_)=1));
     ((void)(_offsetof__tuple3_[0]=(*_sizeof__tuple3_)));
-    ((void)((*_sizeof__tuple3_)+=_sizeof_t15tuple_param_3_0));
-    if ( ((*_alignof__tuple3_)<_alignof_t15tuple_param_3_0) ) ((void)((*_alignof__tuple3_)=_alignof_t15tuple_param_3_0));
-
-    if ( ((*_sizeof__tuple3_)&(_alignof_t15tuple_param_3_1-1)) ) ((void)((*_sizeof__tuple3_)+=(_alignof_t15tuple_param_3_1-((*_sizeof__tuple3_)&(_alignof_t15tuple_param_3_1-1)))));
+    ((void)((*_sizeof__tuple3_)+=_sizeof_Y15tuple_param_3_0));
+    if ( ((*_alignof__tuple3_)<_alignof_Y15tuple_param_3_0) ) ((void)((*_alignof__tuple3_)=_alignof_Y15tuple_param_3_0));
+
+    if ( ((*_sizeof__tuple3_)&(_alignof_Y15tuple_param_3_1-1)) ) ((void)((*_sizeof__tuple3_)+=(_alignof_Y15tuple_param_3_1-((*_sizeof__tuple3_)&(_alignof_Y15tuple_param_3_1-1)))));
 
     ((void)(_offsetof__tuple3_[1]=(*_sizeof__tuple3_)));
-    ((void)((*_sizeof__tuple3_)+=_sizeof_t15tuple_param_3_1));
-    if ( ((*_alignof__tuple3_)<_alignof_t15tuple_param_3_1) ) ((void)((*_alignof__tuple3_)=_alignof_t15tuple_param_3_1));
-
-    if ( ((*_sizeof__tuple3_)&(_alignof_t15tuple_param_3_2-1)) ) ((void)((*_sizeof__tuple3_)+=(_alignof_t15tuple_param_3_2-((*_sizeof__tuple3_)&(_alignof_t15tuple_param_3_2-1)))));
+    ((void)((*_sizeof__tuple3_)+=_sizeof_Y15tuple_param_3_1));
+    if ( ((*_alignof__tuple3_)<_alignof_Y15tuple_param_3_1) ) ((void)((*_alignof__tuple3_)=_alignof_Y15tuple_param_3_1));
+
+    if ( ((*_sizeof__tuple3_)&(_alignof_Y15tuple_param_3_2-1)) ) ((void)((*_sizeof__tuple3_)+=(_alignof_Y15tuple_param_3_2-((*_sizeof__tuple3_)&(_alignof_Y15tuple_param_3_2-1)))));
 
     ((void)(_offsetof__tuple3_[2]=(*_sizeof__tuple3_)));
-    ((void)((*_sizeof__tuple3_)+=_sizeof_t15tuple_param_3_2));
-    if ( ((*_alignof__tuple3_)<_alignof_t15tuple_param_3_2) ) ((void)((*_alignof__tuple3_)=_alignof_t15tuple_param_3_2));
+    ((void)((*_sizeof__tuple3_)+=_sizeof_Y15tuple_param_3_2));
+    if ( ((*_alignof__tuple3_)<_alignof_Y15tuple_param_3_2) ) ((void)((*_alignof__tuple3_)=_alignof_Y15tuple_param_3_2));
 
     if ( ((*_sizeof__tuple3_)&((*_alignof__tuple3_)-1)) ) ((void)((*_sizeof__tuple3_)+=((*_alignof__tuple3_)-((*_sizeof__tuple3_)&((*_alignof__tuple3_)-1)))));
@@ -182,36 +182,36 @@
 const double _X3fooFd_i__1(signed int __anonymous_object19);
 const double _X3fooFd_d__1(double __anonymous_object20){
-    __attribute__ ((unused)) const double _X11_retval_fooCd_1;
-    ((void)((*((double *)(&_X11_retval_fooCd_1)))=3.0) /* ?{} */);
-    return _X11_retval_fooCd_1;
+    __attribute__ ((unused)) const double _X11_retval_fooKd_1;
+    ((void)((*((double *)(&_X11_retval_fooKd_1)))=3.0) /* ?{} */);
+    return _X11_retval_fooKd_1;
 }
 struct S {
     signed int _X1ii_1;
 };
-static inline void _X12_constructorFv_s1S_autogen___1(struct S *_X4_dsts1S_1);
-static inline void _X12_constructorFv_s1Ss1S_autogen___1(struct S *_X4_dsts1S_1, struct S _X4_srcs1S_1);
-static inline void _X11_destructorFv_s1S_autogen___1(struct S *_X4_dsts1S_1);
-static inline struct S _X16_operator_assignFs1S_s1Ss1S_autogen___1(struct S *_X4_dsts1S_1, struct S _X4_srcs1S_1);
-static inline void _X12_constructorFv_s1Si_autogen___1(struct S *_X4_dsts1S_1, signed int _X1ii_1);
-static inline void _X12_constructorFv_s1S_autogen___1(struct S *_X4_dsts1S_1){
-    ((void)((*_X4_dsts1S_1)._X1ii_1) /* ?{} */);
-}
-static inline void _X12_constructorFv_s1Ss1S_autogen___1(struct S *_X4_dsts1S_1, struct S _X4_srcs1S_1){
-    ((void)((*_X4_dsts1S_1)._X1ii_1=_X4_srcs1S_1._X1ii_1) /* ?{} */);
-}
-static inline void _X11_destructorFv_s1S_autogen___1(struct S *_X4_dsts1S_1){
-    ((void)((*_X4_dsts1S_1)._X1ii_1) /* ^?{} */);
-}
-static inline struct S _X16_operator_assignFs1S_s1Ss1S_autogen___1(struct S *_X4_dsts1S_1, struct S _X4_srcs1S_1){
-    struct S _X4_rets1S_1;
-    ((void)((*_X4_dsts1S_1)._X1ii_1=_X4_srcs1S_1._X1ii_1));
-    ((void)_X12_constructorFv_s1Ss1S_autogen___1((&_X4_rets1S_1), (*_X4_dsts1S_1)));
-    return _X4_rets1S_1;
-}
-static inline void _X12_constructorFv_s1Si_autogen___1(struct S *_X4_dsts1S_1, signed int _X1ii_1){
-    ((void)((*_X4_dsts1S_1)._X1ii_1=_X1ii_1) /* ?{} */);
-}
-struct S _X3rtnFs1S_i__1(signed int __anonymous_object21){
-    __attribute__ ((unused)) struct S _X11_retval_rtns1S_1;
+static inline void _X12_constructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1);
+static inline void _X12_constructorFv_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1);
+static inline void _X11_destructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1);
+static inline struct S _X16_operator_assignFS1S_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1);
+static inline void _X12_constructorFv_S1Si_autogen___1(struct S *_X4_dstS1S_1, signed int _X1ii_1);
+static inline void _X12_constructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1){
+    ((void)((*_X4_dstS1S_1)._X1ii_1) /* ?{} */);
+}
+static inline void _X12_constructorFv_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1){
+    ((void)((*_X4_dstS1S_1)._X1ii_1=_X4_srcS1S_1._X1ii_1) /* ?{} */);
+}
+static inline void _X11_destructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1){
+    ((void)((*_X4_dstS1S_1)._X1ii_1) /* ^?{} */);
+}
+static inline struct S _X16_operator_assignFS1S_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1){
+    struct S _X4_retS1S_1;
+    ((void)((*_X4_dstS1S_1)._X1ii_1=_X4_srcS1S_1._X1ii_1));
+    ((void)_X12_constructorFv_S1SS1S_autogen___1((&_X4_retS1S_1), (*_X4_dstS1S_1)));
+    return _X4_retS1S_1;
+}
+static inline void _X12_constructorFv_S1Si_autogen___1(struct S *_X4_dstS1S_1, signed int _X1ii_1){
+    ((void)((*_X4_dstS1S_1)._X1ii_1=_X1ii_1) /* ?{} */);
+}
+struct S _X3rtnFS1S_i__1(signed int __anonymous_object21){
+    __attribute__ ((unused)) struct S _X11_retval_rtnS1S_1;
 }
 signed int _X1fFi_Fi_ii_Fi_i___1(signed int (*__anonymous_object22)(signed int __anonymous_object23, signed int _X1pi_1), signed int (*__anonymous_object24)(signed int __anonymous_object25)){
@@ -221,12 +221,12 @@
     signed int (*(*_X1pPA0Fi_i__2)[])(signed int __anonymous_object26);
 }
-static const signed int *_X2f1FPCi___1(){
-    __attribute__ ((unused)) const signed int *_X10_retval_f1PCi_1;
-}
-static const signed int *_X2f2FPCi___1(void){
-    __attribute__ ((unused)) const signed int *_X10_retval_f2PCi_1;
+static const signed int *_X2f1FPKi___1(){
+    __attribute__ ((unused)) const signed int *_X10_retval_f1PKi_1;
+}
+static const signed int *_X2f2FPKi___1(void){
+    __attribute__ ((unused)) const signed int *_X10_retval_f2PKi_1;
 }
 static inline signed int *const _X2f3FPi___1(void){
-    __attribute__ ((unused)) signed int *const _X10_retval_f3CPi_1;
+    __attribute__ ((unused)) signed int *const _X10_retval_f3KPi_1;
 }
 struct _conc__tuple2_3 {
@@ -235,11 +235,11 @@
 };
 static inline const struct _conc__tuple2_3 _X2f4FT2Pii___1(void){
-    __attribute__ ((unused)) const struct _conc__tuple2_3 _X10_retval_f4CT2Pii_1;
-}
-static const struct _conc__tuple2_3 _X2f5FT2PiCi___1(void){
-    __attribute__ ((unused)) const struct _conc__tuple2_3 _X10_retval_f5CT2PiCi_1;
-}
-signed int _X1fFi_Fi__FPi__FPPi__FPCPi__FPCPi__PiPiPPiPPiPPPiPPPiPPCPiPPCPiPCPCPiPCPCPi__1(signed int (*__anonymous_object27)(), signed int *(*__anonymous_object28)(), signed int **(*__anonymous_object29)(), signed int *const *(*__anonymous_object30)(), signed int *const *const (*__anonymous_object31)(), signed int *__anonymous_object32, signed int __anonymous_object33[((unsigned long int )10)], signed int **__anonymous_object34, signed int *__anonymous_object35[((unsigned long int )10)], signed int ***__anonymous_object36, signed int **__anonymous_object37[((unsigned long int )10)], signed int *const **__anonymous_object38, signed int *const *__anonymous_object39[((unsigned long int )10)], signed int *const *const *__anonymous_object40, signed int *const *const __anonymous_object41[((unsigned long int )10)]);
-signed int _X1fFi_Fi__FPi__FPPi__FPCPi__FPCPi__PiPiPPiPPiPPPiPPPiPPCPiPPCPiPCPCPiPCPCPi__1(signed int (*__anonymous_object42)(), signed int *(*__anonymous_object43)(), signed int **(*__anonymous_object44)(), signed int *const *(*__anonymous_object45)(), signed int *const *const (*__anonymous_object46)(), signed int *__anonymous_object47, signed int __anonymous_object48[((unsigned long int )10)], signed int **__anonymous_object49, signed int *__anonymous_object50[((unsigned long int )10)], signed int ***__anonymous_object51, signed int **__anonymous_object52[((unsigned long int )10)], signed int *const **__anonymous_object53, signed int *const *__anonymous_object54[((unsigned long int )10)], signed int *const *const *__anonymous_object55, signed int *const *const __anonymous_object56[((unsigned long int )10)]){
+    __attribute__ ((unused)) const struct _conc__tuple2_3 _X10_retval_f4KT2Pii_1;
+}
+static const struct _conc__tuple2_3 _X2f5FT2PiKi___1(void){
+    __attribute__ ((unused)) const struct _conc__tuple2_3 _X10_retval_f5KT2PiKi_1;
+}
+signed int _X1fFi_Fi__FPi__FPPi__FPKPi__FPKPi__PiPiPPiPPiPPPiPPPiPPKPiPPKPiPKPKPiPKPKPi__1(signed int (*__anonymous_object27)(), signed int *(*__anonymous_object28)(), signed int **(*__anonymous_object29)(), signed int *const *(*__anonymous_object30)(), signed int *const *const (*__anonymous_object31)(), signed int *__anonymous_object32, signed int __anonymous_object33[((unsigned long int )10)], signed int **__anonymous_object34, signed int *__anonymous_object35[((unsigned long int )10)], signed int ***__anonymous_object36, signed int **__anonymous_object37[((unsigned long int )10)], signed int *const **__anonymous_object38, signed int *const *__anonymous_object39[((unsigned long int )10)], signed int *const *const *__anonymous_object40, signed int *const *const __anonymous_object41[((unsigned long int )10)]);
+signed int _X1fFi_Fi__FPi__FPPi__FPKPi__FPKPi__PiPiPPiPPiPPPiPPPiPPKPiPPKPiPKPKPiPKPKPi__1(signed int (*__anonymous_object42)(), signed int *(*__anonymous_object43)(), signed int **(*__anonymous_object44)(), signed int *const *(*__anonymous_object45)(), signed int *const *const (*__anonymous_object46)(), signed int *__anonymous_object47, signed int __anonymous_object48[((unsigned long int )10)], signed int **__anonymous_object49, signed int *__anonymous_object50[((unsigned long int )10)], signed int ***__anonymous_object51, signed int **__anonymous_object52[((unsigned long int )10)], signed int *const **__anonymous_object53, signed int *const *__anonymous_object54[((unsigned long int )10)], signed int *const *const *__anonymous_object55, signed int *const *const __anonymous_object56[((unsigned long int )10)]){
     __attribute__ ((unused)) signed int _X9_retval_fi_1;
 }
