This takes an `Observable<T>`, instead it would have take an `Observable<? extends T>` to ensure covariance of `Observable`. Normally, the return type shouldn't be affected.