(define impc:ti:strip-named-type
  (lambda (t)
    (if (symbol? t) (set! t (symbol->string t)))
    (if (not (string? t))
        (impc:compiler:print-bad-type-error t "Should be named type!")
        (let ((ptrdepth (impc:ir:get-ptr-depth t)))
          (if (regex:match? t "^[A-Za-z0-9]*:")
              (apply string-append (car (regex:type-split t ":")) (make-list ptrdepth "*"))
              (if (regex:match? t "^[A-Za-z0-9]*{")
                  (apply string-append (car (regex:type-split t "{")) (make-list ptrdepth "*")))
              t)))))