title: EitherT in Scala not working with For Comprehension
body: <p>I have this code:</p>
  
  <pre><code> (for {
        oldResult &lt;- EitherT[Future, A, B](getById(id))
        newResult &lt;- EitherT.right(update(changeOldData(oldResult)))
      } yield newResult).value
  </code></pre>
  
  <p>Where the functions returns</p>
  
  <pre><code> getById       -&gt; Future[Either[A, B]]
   update        -&gt; Future[B]
   changeOldData -&gt; B
  </code></pre>
  
  <p>The entire block is suppose to return:</p>
  
  <pre><code>Future[Either[A, B]]
  </code></pre>
  
  <p>In IntelliJ, there is no complains about the code above, but when compiling, I'm getting the following error:</p>
  
  <pre><code>[error]  found   : B =&gt; cats.data.EitherT[scala.concurrent.Future,Nothing,B]
  [error]  required: B =&gt; cats.data.EitherT[scala.concurrent.Future,A,B]
  [error]           oldResult &lt;- EitherT[Future, A, B](
  </code></pre>
  
  <p>I tried to not include the type and I'm getting the same error as well.
  Any idea why?</p>