alot of return types could be mixed in php. you have to be really careful as we don't have true overloading in php. some well known methods, you really don't even have to think about the return type. IsBlah()...HasBlah(), most likely will be boolean.
php4 doesn't have the keyword interface, but it doesn't mean that one can't operate with the concept. Have a look at WACT DataSource interface for an example of that.
I hate to repeat myself, but I insist that returntype is part of an interface, even if php doesn't support this on an implementation-level.
We could decide that only features which are supported on a language-level should be used. I think it's rather radical stand, but there may be some sort of logic to it. More importantly, I really think we should decide on which route to take before proceeding, or we're bound to fail.