(define impc:ir:split-and-decode-poly-adhoc-name
(lambda (name)
(if (impc:ir:poly-or-adhoc? name)
(let ((split-name (regex:type-split name "(_adhoc_|_poly_)")))
(list (car split-name) (cname-decode (cadr split-name))))
#f)))