Base: I'm starting to hate C# generics