private Maybe<Expression> GenerateMethodCallImpl(Type type, Expression instance, int errorPos, string id, Lazy<Expression[]> argumentList)
{
return base.GenerateMethodCall(type, instance, errorPos, id, argumentList)
.OrElse(() => ExtensionMethod(instance, id, argumentList, errorPos, prefixed: false))
.OrElse(() => ExtensionMethod(instance, id, argumentList, errorPos, prefixed: true))
.OrElse(() => SurrogateExpression(instance, id));
}