Why is the implicit operator so limited on C#?

time to read 1 min | 70 words


Does anyone knows why the implicit operator is so limited? You can use if for interfaces, for instance.
I had this big idea of IoC with generics that would look like:

IEmail email = new IoC<Email>();

But you just can't do that with the implicit operator, and using the explicit one kind of ruins the whole fun, not to mention that it produce cast driven code.