Here are some more unsorted thoughts on generics to continue this post (which has some interesting comments too). Preserving types with generic type inference To reiterate, instead of having a method like: void Process( object instance) { } one can write: