(define-macro (register-lib-func library symname type zone-size docstring body)
`(begin
;; bind scheme function
(impc:ti:register-new-closure ,(symbol->string symname)
(impc:ir:get-type-from-pretty-str ,(symbol->string type))
,zone-size
,docstring
,body)
(impc:compiler:print-binding-details-to-log "Lib Registered:"
,(symbol->string symname)
,(symbol->string type))
(impc:ti:initialize-closure-with-new-zone ,(symbol->string symname) ,zone-size)))