title: Odd return syntax statement
body: <p>I know this may sound strange but I don't know even how to search this syntax in internet and also I am not sure what exactly means.</p>
  
  <p>So I've watched over some MoreLINQ code and then I noticed this method</p>
  
  <pre><code>public static IEnumerable&lt;TSource&gt; DistinctBy&lt;TSource, TKey&gt;(this IEnumerable&lt;TSource&gt; source,
          Func&lt;TSource, TKey&gt; keySelector, IEqualityComparer&lt;TKey&gt; comparer)
  {
      if (source == null) throw new ArgumentNullException(nameof(source));
      if (keySelector == null) throw new ArgumentNullException(nameof(keySelector));
  
      return _(); IEnumerable&lt;TSource&gt; _()
      {
          var knownKeys = new HashSet&lt;TKey&gt;(comparer);
          foreach (var element in source)
          {
              if (knownKeys.Add(keySelector(element)))
                  yield return element;
          }
      }
  }
  </code></pre>
  
  <p>What is this odd return statement? <code>return _();</code> ?</p>