Implicitly resolve generic type args based on parameter types

Fixes the GenericMethodInvoke unit tests