title: Ignoring/filtering nil
body: <p>Is there an operator that can filter <code>nil</code>?  The closest I've come is the solution mentioned here: <a href="https://github.com/ReactiveX/RxSwift/issues/209#issuecomment-150842686" rel="nofollow">https://github.com/ReactiveX/RxSwift/issues/209#issuecomment-150842686</a></p>
  
  <p>Relevant excerpt:</p>
  
  <pre><code>public protocol OptionalType {
      func hasValue() -&gt; Bool
  }
  
  extension Optional: OptionalType {
      public func hasValue() -&gt; Bool {
          return (self != nil)
      }
  }
  
  public extension ObservableType where E: OptionalType {
      @warn_unused_result(message="http://git.io/rxs.uo")
      public func notNil() -&gt; Observable&lt;E&gt; {
          return self.filter { $0.hasValue() }
      }
  }
  </code></pre>
  
  <p>However, after <code>.notNil()</code>, <code>E</code> is still optional, so subsequent chained operators still see <code>self</code> as <code>Observer&lt;E&gt;</code> where <code>E</code> is optional.  So I'm still needing an extra operator that does:</p>
  
  <pre><code>.map { (username: String?) -&gt; String in
      return username!
  }
  </code></pre>
  
  <p>I must be missing something. This seems like it would be a very common need.</p>