title: Filter types in collection using FilterDefinition
body: <p>The driver complains when I attempt to filter records by type/discriminator:</p>
  
  <pre><code>var types = new List&lt;Type&gt; { typeof (ConcreteClassA), typeof (ConcreteClassB) };
  query &amp;= Builders&lt;AbstractClass&gt;.Filter.Where (obj =&gt; types.Any (type =&gt; obj.GetType ().IsInstanceOfType (type)));
  </code></pre>
  
  <blockquote>
    <p>value(System.Collections.Generic.List`1[System.Type]) is not supported.</p>
  </blockquote>
  
  <p>Even if I try to compare against one type I get an exception:</p>
  
  <pre><code>query &amp;= Builders&lt;AbstractClass&gt;.Filter.Where (obj =&gt; obj.GetType ().IsInstanceOfType (typeof (ConcreteClassA));
  </code></pre>
  
  <p>I know in the 1.x driver I could use an <code>OfType&lt;ConcreteClassA&gt;()</code> solution. Is there any similar method when using a <code>FilterDefinition</code> ?</p>