title: RxSwift generic `Cannot convert value of type '(_) -> [Any]' to expected argument type '(String) -> _'`
body: <p>I want to create an extension of <code>ObservableType</code>, but the following code doesn't compile.</p>
  
  <pre><code>public extension ObservableType {
    public func foo&lt;C: Collection&gt;(_ calls: @escaping (E) -&gt; C) -&gt; Observable&lt;[Any]&gt; where C.Iterator.Element: ObservableType {
      return flatMap { input in Observable.zip(calls(input)) { objects in objects }
      }
    }
  }
  
  // compile error
  Observable.just("foo")
    .foo { foo in
      [Observable.just(User()), Observable.just(Repo())]
    }
  </code></pre>
  
  <p>It throws an error: <code>Cannot convert value of type '(_) -&gt; [Any]' to expected argument type '(String) -&gt; _'</code></p>
  
  <p>I have no idea where the problem is. Thanks in advance</p>