Check return type of argument function to Future::recover

The G template parameter is removed since it does not have to be part of
the signature.