I liked the article.  Maybe a bit about how the LinQ methods are (or could be) implemented under the hood to show how easy this can actually be?<p>I&#x27;ve always like the good old fibonacci sequence for this too, because it shows off some simple logic that we all know, but it touches on some non-intuitive aspects (like yields being anywhere, and infinitely long IEnumerables).<p><pre><code>    public IEnumerable&lt;int&gt; Fib() {
      yield return 1;
      yield return 1;

      int a = 1, b = 1;
      while (true) {
        b = a + b;
        a = b - a;
        yield return b;
      }
    }
</code></pre>
Then the 500th fibonachi number is:<p><pre><code>    Fib().Skip(499).Next()</code></pre>