sameEither :: Either a b -> Either c d -> Bool
x `sameEither` y = isLeft x == isLeft y
sameEither :: Either a b -> Either c d -> Bool
x `sameEither` y = isLeft x == isLeft y
x `sameEither` y = isLeft x == isLeft y