I know there is additional information somewhere in the forum on type differences when coercing data between scheme and arc - specifically '() nil (list) aren't equivalent. Worse come to worse - see the source.
For functions returning booleans, there's 'tnil:
(xdef 'exact (lambda (x) (tnil (and (integer? x) (exact? x)))))
(xdef 'system (wrapnil system))
(define (expand-ssyntax sym) (ac-denil ((eval '__ssexpand) sym)))
-----