This is a utility method and so really needs unit tests.

Is Object really the minimum superset of all the possible return types?