Generic Programming in .Net 4.0