ICollection / ICollection <T> проблема неоднозначности

Просто хочу сделать простое расширение длясинтаксический сигар :

public static bool IsNotEmpty(this ICollection obj)
{
    return ((obj != null)
        && (obj.Count > 0));
}

public static bool IsNotEmpty<T>(this ICollection<T> obj)
{
    return ((obj != null)
        && (obj.Count > 0));
}

Он отлично работает, когда я работаю с некоторыми коллекциями, но при работе с другими я получаю

Вызов неоднозначен между следующими методами или свойствами: «PowerOn.ExtensionsBasic.IsNotEmpty (System.Collections.IList)» и «PowerOn.ExtensionsBasic.IsNotEmpty (System.Collections.Generic.ICollection)».

Есть ликанонический решение этой проблемы?

Нет, я не хочу выполнять приведение перед вызовом этого метода;)

Ответы на вопрос(2)

Ваш ответ на вопрос