@moodmosaic 
Let me tell you something more to explain what I mean.

Let's suppose that we want select the `GenericMethod<T>(T)` method.
```
public class ClassWithMethods
{
    public void GenericMethod<T>(T arg)
    {
    }
}
```

In this case, because `Type.GetMethod(string name, Type[])` is based on the unclosed generic method, we cannot specify certain parameter types. So your implementation returns null for this case.

```
methodCallExp.Object.Type.GetMethod(
              calledMethod.Name, 
              calledMethod.GetParameters()
                          .Select(x => x.ParameterType)
                          .ToArray());
````