I wrote this code
import cats.Cartesian
import cats.instances.option._
val x = Some(1)
val y = Some(2)
Cartesian[Option].product(x, y)
This gave me Some((1, 2)). Good!
So I tried again
import cats.Cartesian
import cats.instances.either._
val x : Either[String, Int] = Right(1)
val y : Either[String, Int] = Right(2)
Cartesian[Either].product(x, y)
Now I get an error
cmd11.sc:1: Either takes two type parameters, expected: one
val res11 = Cartesian[Either].product(x, y)
Why didn't I get Right((1, 2))