When I've tried porting existing elisp code, I've found that `(defun foo nil 1)` errors out (on Guile 3 and master) , but `(defun foo () 1)` doesn't. The following patch rectifies this by treating `nil` the same as `()` when compiling a lambda.