When a callback is called it goes through all the implementations for that callback and makes a list of the results. It checks is the result from a particular implement is empty or not using [llength $ret] > 0
This breaks is the callback in fact returned a string. Particularly if the string contains an unmatched " or {, etc...
Any objections to just changing the check to
![string equal $ret ""]
I found this working on search where we were generating a summary for the search results page and truncated the content at a cetain length.