Было бы весьма разумно сделать Method
универсальным для стертого возвращаемого типа. Тем не менее, это будет много усилий с небольшой прибылью. Природа отражения заключается в том, что вы не знаете типы во время компиляции - в противном случае вы могли бы статически связать.
Полагаю, в некоторых случаях вы могли бы даже добавить новые API, чтобы возвращался общий тип. Информация по-прежнему находится в методе, но не в экземпляре, который вы передаете ему.