diff --git a/lib/init-7.scm b/lib/init-7.scm
index 035bb36c..4a4c5321 100644
--- a/lib/init-7.scm
+++ b/lib/init-7.scm
@@ -1105,7 +1105,11 @@
              _or
              (append
               (map
-               (lambda (clause) (expand-pattern (car clause) (cadr clause)))
+               (lambda (clause)
+                 (if (and (list? clause) (= (length clause) 2))
+                     (expand-pattern (car clause) (cadr clause))
+                     (error "invalid syntax-rules clause, which must be of the form (pattern template) (note fenders are not supported)"
+                            clause)))
                forms)
               (list
                (list _cons
diff --git a/tools/chibi-ffi b/tools/chibi-ffi
index bc728ac2..cd3f9ac9 100755
--- a/tools/chibi-ffi
+++ b/tools/chibi-ffi
@@ -195,8 +195,7 @@
   (syntax-rules ()
     ((define-c-int-type type)
      (if (not (memq 'type *c-int-types*))
-         (set! *c-int-types* (cons 'type *c-int-types*)))
-     #f)))
+         (set! *c-int-types* (cons 'type *c-int-types*))))))
 
 (define-syntax define-c-enum
   ;; TODO: support conversion to/from symbolic names
@@ -640,7 +639,7 @@
                       (let ((e (x->string errno)))
                         (string-append "    case " e ": return \"" e "\";\n")))
                     errnos)
-             
+
              "  }
   snprintf(buf, 64, \"unknown error: %d\", err);
   return buf;