$ cat foo.scm (define (foo2a x1 x2 #!optional (x3 -3) (x4 -4)) (for-each display (list x3 " " x4 " " (integer? x3) " " (integer? x4) #\newline)) (list x1 x2 x3 x4)) (define (test) (equal? '(1 2 -3 -4) (foo2a 1 2))) (display '(1 2 -3 -4)) (newline) (display (foo2a 1 2)) ;; --> (1 2 -3 -4) (newline) (display (test)) ;; --> #f (newline) $ ./foo1 (1 2 4294967293 4294967292) -3 -4 #t #t (1 2 -3 -4) -3 -4 #t #t #f $ exit