title: What is the correct syntax for using Publishers.debounce() in Swift Combine?
body: <p>In Apple's 2019 WWDC video <code>Swift Combine in Practice</code>, they demonstrate using a <code>debounce</code> publisher to slow down the rate of messages. </p>
  
  <pre><code>return $username
    .debounce(for: 0.5, scheduler: RunLoop.main)
    .removeDuplicates()
    .eraseToAnyPublisher()
  </code></pre>
  
  <p>However, anytime I attempt to use it in a similar fashion, I get the following error: </p>
  
  <blockquote>
    <p>Cannot invoke 'debounce' with an argument list of type '(for: Double, scheduler: RunLoop)'</p>
  </blockquote>
  
  <p>The <code>debounce()</code> signature is: </p>
  
  <pre><code>public func debounce&lt;S&gt;(for dueTime: S.SchedulerTimeType.Stride, 
                            scheduler: S,
                              options: S.SchedulerOptions? = nil) -&gt; 
                                      Publishers.Debounce&lt;Self, S&gt; where S : Scheduler
  </code></pre>
  
  <p><code>SchedulerTimeType.Stride</code> appears to be initializable with a numeric but it's not working for me or my inexperience with Swift Generics is on display. </p>
  
  <p>What is the correct way to call this? </p>
  
  <p><strong>Edit</strong></p>
  
  <p>Duplicate of <a href="https://stackoverflow.com/questions/56564967">this question...</a></p>
  
  <p>Searching for generic words like "Combine" is, for now, rather challenging... </p>
  
  <p><em>macOS 10.15, Xcode 11</em></p>