 in this case we have a &quot;no-op&quot; select projection; we&#39;re not actually performing a real transformation. In that case - and so long as there&#39;s <em>something</em> else in the query, in this case our &quot;where&quot; clause - the compiler effectively omits the &quot;select&quot; clause, so it doesn&#39;t matter that we haven&#39;t implemented it. If you changed &quot;select x&quot; to &quot;select x * 2&quot;, it would fail to compile against our Where-only LINQ implementation.</p>  <p>The f