t.com/en-us/library/bb383977.aspx">extension methods</a></em> - they&#39;re declared in a top-level, non-nested, static class and the first parameter has a &quot;this&quot; modifier. They can be invoked roughly as if they were instance methods on the type of the first parameter. </li>    <li>They&#39;re <em><a href="http://msdn.microsoft.com/en-us/library/twcad0zb.aspx">generic methods</a></em> - in this case there&#39;s just a single type parameter (TSource) which indicates the type of sequence we&#39;re d