(define impc:compiler:print-type-mismatch-error
(lambda (got expected . name)
(if *impc:compiler:top-level-generic-error*
(begin
(set! name (list (car *impc:compiler:top-level-generic-error*)))))
(if (and (not (null? name))
(list? (car name))
(symbol? (caar name)))
(set! name (list (car (regex:type-split (symbol->string (caar name)) "_poly_")))))