; rather strictly excludes () (define (arc-list? x) (or (pair? x) (eqv? x 'nil))) ; generic +: strings, lists, numbers. (xdef '+ (lambda args (cond ((null? args) 0) ((all string? args) (apply string-append args)) ((all arc-list? args) (ac-niltree (apply append (map ar-nil-terminate args)))) (#t (apply + args)))))
You were right, this might be a bug...