Return types

This is a pull request to implement the return type RFC: https://wiki.php.net/rfc/returntypehinting

Presently not ready for merge (there are a few bug fixes still needed).
With your current code that should already be detected, as you also call this function for the implicit return at the end of every function.