Generics, Constraints and a simple question - C#