title: C#: yield return range/collection
body: <p>I use the <code>yield return</code> keyword quite a bit, but I find it lacking when I want to add a range to the <code>IEnumerable</code>. Here's a quick example of what I would like to do:</p>
  
  <pre><code>IEnumerable&lt;string&gt; SomeRecursiveMethod()
  {
      // some code 
      // ...
      yield return SomeRecursiveMethod();
  }
  </code></pre>
  
  <p>Naturally this results in an error, which can be resolved by doing a simple loop. Is there a better way to do this? A loop feels a bit clunky.</p>