(define-macro (register-lib-type library name type docstring)
(if (impc:aot:currently-compiling?)
(set! *impc:ti:suppress-ir-generation* #t)
(set! *impc:ti:suppress-ir-generation* #f))
(let* ((a (impc:ir:get-pretty-tuple-arg-strings (symbol->string type)))
(namestr (symbol->string name))
(typestr (symbol->string type)))
`(begin
(impc:ti:register-new-namedtype ,namestr
',(impc:ir:get-type-from-pretty-str typestr namestr)
,docstring)
(set! *impc:ti:suppress-ir-generation* #f))))