title: Scala: shorthand for types parameterised with two types
body: <p>Scala allows using the following type:</p>
  
  <pre><code>=:=[Int, String] 
  </code></pre>
  
  <p>as: </p>
  
  <pre><code>Int=:=String
  </code></pre>
  
  <p>This feature doesn't seem to be limited to this type and I can also have for example:</p>
  
  <pre><code>type Or[A,B] = Either[A,B]
  val x: Int Or String = Right("value")
  </code></pre>
  
  <p>How is this working?</p>