IEnumerable <T> Extensión de fusión nula

on frecuencia me enfrento al problema para verificar si unIEnumerable<T> es nulo antes de iterar sobre él a través de consultas foreach o LINQ, luego a menudo aparece en códigos como este:

var myProjection = (myList ?? Enumerable.Empty<T>()).Select(x => x.Foo)...

Hence, pensé agregar este método de extensión a una clase de Extensiones:

public static class MyExtensions 
{
    public static IEnumerable<T> AsEmptyIfNull<T>(this IEnumerable<T> source)
    {
        return source ?? Enumerable.Empty<T>();
    }
}

Un pequeño problema viene inmediatamente a mi mente al mirar este código, es decir, dado el "aspecto de métodos de instancia" de los métodos de extensión, debe implementarse como un mero método estático, de lo contrario, algo como esto sería perfectamente legal:

IEnumerable<int> list = null;
list.AsEmptyIfNull();

¿Ves algún otro inconveniente al usarlo?
¿Puede esta extensión dar lugar a algún tipo de mala tendencia en los desarrolladores, si se usa de forma masiva?

Pregunta extra

¿Puedes sugerirle un nombre mejor? @:)
(El inglés no es mi primer idioma, entonces no soy tan bueno nombrando ...)

Gracias por adelantado

Respuestas a la pregunta(2)

Su respuesta a la pregunta