(define impc:ti:block:check-for-free-syms
(lambda (ast esyms)
;(print 'check: 'ast: ast 'esyms: esyms)
(cl:remove-duplicates (let loop ((lst ast))
(cond ((pair? lst)
(append (loop (car lst))
(loop (cdr lst))))
((atom? lst)
(if (member lst esyms)
(list lst)
'())))))))