Conversão implícita de IEnumerable <T> para MyCollection

Estou tentando criar uma conversão implícita que me permita usar um resultado LINQ para retornar diretamenteMyCollection.

public class MyCollection : ICollection<MyType> 
{
    private List<MyType> _list = new List<MyType>();

    public MyCollection(IEnumerable<MyType> collection) 
    {
        _list = new List<MyType>(collection);
    }

    public static implicit operator MyCollection(IEnumerable<MyType> collection) 
    {
        return new MyCollection(collection);
    }

    // collection methods excluded for brevity

    public MyCollection Filter(string filter) 
    {
        return _list.Where(obj => obj.Filter.Equals(filter)); // cannot implicitly convert
    }
}

Eu não usei a conversão implícita definida pelo usuário antes, o que estou fazendo de errado?