title: Iterable's whereType method behaviour
body: <p>I am having problem with understanding how <code>iterable</code>'s <code>whereType</code> works.</p>
  
  <p>I have following example and I have no idea why it is behaving this way. Having this code:</p>
  
  <pre><code>List&lt;dynamic&gt; list = ["SomeString", 12];
  print(list);
  print(list.whereType&lt;String&gt;());
  print(list.where((item) =&gt; item is String));
  </code></pre>
  
  <p>The output is:</p>
  
  <pre><code>[SomeString, 12]
  (SomeString, 12)
  (SomeString)
  </code></pre>
  
  <p>I would expect only String in second print. Could someone explain to me why I am wrong?</p>