title: Map or match a Scalaz.EitherT
body: <p>I have this for-comprehension:</p>
  
  <pre><code> val seq = for {
          accessToken &lt;- EitherT(getAccessToken(code))
          data &lt;- EitherT(getDefaultData(accessToken))
          user &lt;- EitherT(mapUser(data.getResponseBody))
        } yield {
          if (Users.getUserByOriginId(user.origin).isEmpty) {
            Users.register(user)
            OAuthProvider.redirectToSignUp(user.userId.get)
          } else {
            OAuthProvider.redirectToAuthentication(user.userId.get)
          }
        }
  </code></pre>
  
  <p>It chains <code>com.twitter.util.Future</code> operations, each of the methods returning a <code>Future[\/[InvalidResponse, CorrectResponse]]</code></p>
  
  <p>I now want to <code>map</code> or <code>match</code> over the result.</p>
  
  <pre><code>val response = seq.run match {
      case x.left =&gt; "something"
      case y.right =&gt; "something else"
  }// this syntax is invalid
  </code></pre>
  
  <p>What is the correct syntax to <code>match</code> between <code>left</code> and <code>right</code>?</p>