Fix bug in error handling where __sub would be clobbered.
diff --git a/src/lisp/compiler.h b/src/lisp/compiler.h
index 67c03e6..75abe33 100644
--- a/src/lisp/compiler.h
+++ b/src/lisp/compiler.h
@@ -166,7 +166,7 @@
 /**
  * Walk `body` and reserve space in `local` for any variable declarations.
  */
-void walk_and_alloc(struct local *local, value_t body);
+struct error walk_and_alloc(struct environment *env, struct local *local, value_t *body);
 
 /**
  * Compile a top level definition