I've got a pretty firm grasp on generics such as when to use them, why they are useful, etc. I'm with the rest of the .Net camp when I echo how extremely useful they are. I've also learned that if you're fighting the compiler on generics for more than a few minutes, there is a reason as to why what you are doing is wrong. The above held true until earlier today when I was left scratching my head over some code that IMO should have compiled just fine. Nothing explains coding problems...