I\'m having lots of Funcy fun (fun intended) with generic methods. In most cases C# type inference is smart enough to find out what generic arguments it must use on my gener
C# will not infer generic types based on the return type of a generic method, only the arguments to the method.
It also doesn't use the constraints as part of the type inference, which eliminates the generic constraint from supplying the type for you.
For details, see Eric Lippert's post on the subject.