I feel like it should not. I mean, I like my stuff to be loosely coupled, but I cannot achieve this goal with such requirement. It doesn’t allow me to write fully generics components.
Perhaps I might be missing something? Or there is some concept behind given requirement?