reflection: add `Base.infer_return_type` utility (#52247)
This commit introduces `Base.infer_return_type`, a new reflection
utility which shares a similar interface with `Base.return_types` but
differs in its output; `Base.infer_return_type` provides a singular
return type taking into account all potential outcomes specified with
the given call signature. This function parallels `Base.infer_effects`
and the newly added `Base.infer_exception_type`, offering some utility,
especially in testing scenarios.