protected virtual Maybe<Expression> GenerateMethodCall(Type type, Expression instance, int errorPos, string id, Lazy<Expression[]> argumentList) { return EnumerableMethod(type, instance, id, argumentList) .OrElse(() => SelfMethod(type, instance, errorPos, id, argumentList)); }