(define-syntax CaseMettaHelper (syntax-rules (else) ((_ else bi) (list else bi)) ((_ ai bi) (list (list ai) bi)))) (define-syntax CaseMetta (syntax-rules (else) ((_ var ((pat body ...) ...)) (case var (CaseMettaHelper pat body ...) ...)))) (display (CaseMetta 3 ((1 2) (else 4)))) ;bad argument type - not a list: CaseMettaHelper356