diff --git a/include/lang.h b/include/lang.h
index 8c4b86e..0e8db21 100644
--- a/include/lang.h
+++ b/include/lang.h
@@ -177,8 +177,7 @@
 
 // ** Exclude start. **
 BcStatus bc_func_init(BcFunc *func);
-BcStatus bc_func_insertParam(BcFunc *func, char *name, bool var);
-BcStatus bc_func_insertAuto(BcFunc *func, char *name, bool var);
+BcStatus bc_func_insert(BcFunc *func, char *name, bool var, BcVec *vec);
 void bc_func_free(void *func);
 
 BcStatus bc_var_init(void *var);
diff --git a/src/bc/bc.c b/src/bc/bc.c
index 0159a8d..5c9f1d4 100644
--- a/src/bc/bc.c
+++ b/src/bc/bc.c
@@ -99,8 +99,7 @@
   BcStatus status;
   BcVm vm;
 
-  if (flags & BC_FLAG_INTERACTIVE ||
-      (isatty(STDIN_FILENO) && isatty(STDOUT_FILENO)))
+  if (flags & BC_FLAG_INTERACTIVE || (isatty(STDIN_FILENO) && isatty(STDOUT_FILENO)))
   {
     bcg.bc_interactive = 1;
   }
diff --git a/src/bc/lang.c b/src/bc/lang.c
index 83912ae..6de78db 100644
--- a/src/bc/lang.c
+++ b/src/bc/lang.c
@@ -26,7 +26,7 @@
 
 #include <lang.h>
 
-static BcStatus bc_func_insert(BcFunc *func, char *name, bool var, BcVec *vec) {
+BcStatus bc_func_insert(BcFunc *func, char *name, bool var, BcVec *vec) {
 
   BcStatus status;
   BcAuto a;
@@ -97,14 +97,6 @@
   return status;
 }
 
-BcStatus bc_func_insertParam(BcFunc *func, char *name, bool var) {
-  return bc_func_insert(func, name, var, &func->params);
-}
-
-BcStatus bc_func_insertAuto(BcFunc *func, char *name, bool var) {
-  return bc_func_insert(func, name, var, &func->autos);
-}
-
 void bc_func_free(void *func) {
 
   BcFunc *f;
diff --git a/src/bc/parse.c b/src/bc/parse.c
index 3659909..3e2ae2e 100644
--- a/src/bc/parse.c
+++ b/src/bc/parse.c
@@ -1308,7 +1308,7 @@
     }
     else comma = false;
 
-    status = bc_func_insertParam(fptr, name, var);
+    status = bc_func_insert(fptr, name, var, &fptr->params);
 
     if (status) goto err;
 
@@ -1404,7 +1404,7 @@
     }
     else comma = false;
 
-    status = bc_func_insertAuto(func, name, var);
+    status = bc_func_insert(func, name, var, &func->autos);
 
     if (status) goto err;
 
