title: Slick where/filter/withFilter
body: <p>In slick (1.0), what is the difference between doing <code>.where()</code>, <code>.filter()</code> and <code>.withFilter()</code> on a Table?  </p>
  
  <p>In the <a href="http://slick.typesafe.com/doc/1.0.1/api/#scala.slick.lifted.Query">API</a> they have similar signature but it's not clear how they differ:</p>
  
  <pre><code>def filter[T]            (f: (E) ⇒ T)(implicit wt:   CanBeQueryCondition[T]): Query[E, U]
  def where[T &lt;: Column[_]](f: (E) ⇒ T)(implicit arg0: CanBeQueryCondition[T]): Query[E, U]
  def withFilter[T]        (f: (E) ⇒ T)(implicit arg0: CanBeQueryCondition[T]): Query[E, U]
  </code></pre>