(define impc:ti:callback
(lambda (ast)
`(let ((zold (llvm_peek_zone_stack))
(znew (create_zone (* 1024 4))))
(llvm_callback ,(car ast)
,(cadr ast)
znew
,@(map (lambda (x)
(impc:ti:first-transform `(zcopy ,x zold znew) #t))
(cddr ast)))
void)))