> So PHPDoc treats false (and true) as types, in which case this is fine.

Yup. Anyways I find this code kinda confusing, in my opinion an exception should be thrown and not false returned :-)