in reply to Contextual::Return blocks: can they be made to return the actual result?
If you have code that uses ref to check the input parameters, you won't have luck using Contextual::Return. The easy approach would be to remove the ref checks in the receiving code.
Out of curiosity, what does Contextual::Return provide to you that "normal" Perl code does not? Do you reallly make so much use of overloaded stringification that using overload is too much hassle?
Personally, I find most of DCONWAYs modules very interesting but of little practical use.