title: Sequence generator as extension function call fails with "receiver type mismatch"
body: <p>I'm playing around with trying to generate a sequence out of a single <code>Long</code> value prepended to a <code>LongRange</code>. This works:</p>
  
  <pre><code>val seq = buildSequence&lt;Long&gt; {
      yield(2)
      yieldAll(3L..5)
  }
  </code></pre>
  
  <p>But trying to generalize it, I can't seem to structure an extension function that I can call successfully:</p>
  
  <pre><code>infix fun Long.join(R: LongRange): Sequence&lt;Long&gt; {
      val start = this
      return buildSequence&lt;Long&gt; {
          yield(start)
          yieldAll(R)
      }
  }
  </code></pre>
  
  <p>When I attempt to call it:</p>
  
  <pre><code>(2 join 3..5).forEach { /* do something */ }
  </code></pre>
  
  <p>I get </p>
  
  <blockquote>
    <p>Error:(26, 20) Kotlin: Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: 
    public infix fun Long.join(R: LongRange): Sequence defined in main.kotlin</p>
  </blockquote>
  
  <p>It seems as though the compiler recognizes that the signature of the function is <em>close</em> to what I'm trying to achieve, but I'm clearly fuzzy on what "receiver type mismatch" means.</p>