(import call-table-generics) (define-generic (plus (list? a) (list? b)) (append a b)) (define-generic (plus (string? a) (string? b)) (string-append a b)) (define-generic (plus (number? a) (number? b)) (+ a b)) (unless (equal? '("1314" 29 32 (a b c 1 2 3)) (list (plus "13" "14") (plus 7 22) (plus 13 19) (plus '(a b c) '(1 2 3)))) (error "(list (plus \"13\" \"14\") (plus 7 22) (plus 13 19) (plus (quote (a b c)) (quote (1 2 3))))"))