in reply to OO design: returning string and/or special value

I have used overloading on several classes with few problems. For your case, try use overload '""' => 'string', fallback => 1; in the class of the object that you return from ->method.