title: Generic syntactic sugar or true improvement
body: <p>I have a question regarding the following method calls:</p>
  
  <pre><code>var ctl1 = this.FindControlRecursively("SomeField") as HiddenField;
  var ctl = this.FindControlRecursively&lt;HiddenField&gt;("SomeField");
  </code></pre>
  
  <p>Here's IL for these two calls:</p>
  
  <pre><code>IL_0010:  ldstr      "AsyncReset"
  IL_0015:  call       class [System.Web]System.Web.UI.Control   [Amc.WebG081.MethodExtensions]Amc.WebG081.ControlExtensions::FindControlRecursively(class [System.Web]System.Web.UI.Control,string)
  
  IL_001a:  isinst     [System.Web]System.Web.UI.WebControls.HiddenField
  IL_001f:  stloc.0
  IL_0020:  ldarg.0
  IL_0021:  ldstr      "AsyncReset"
  IL_0026:  call       !!0 [Amc.WebG081.MethodExtensions]Amc.WebG081.ControlExtensions::FindControlRecursively&lt;class [System.Web]System.Web.UI.WebControls.HiddenField&gt;(class [System.Web]System.Web.UI.Control,string)
  </code></pre>
  
  <p>I've always thought in this situation, the generic version of this method was more "syntactic sugar" vs. true improvement.  Is the IL telling a different story?</p>