[exists] is currently defined like this:
proc exists generator { expr {[llength [info commands $generator]] != 0} }
this could fail if $generator contains interpreted [string match] characters. Also, the following fix is more performant (thanks kbk):
proc exists generator { expr {[namespace which $generator] ne {}} }