I do something like this:
sealed trait Foo[T] {
def getA: Decoder[T]
def getB: Either[Type1, Type2]
}
trait Hello[T] extends Foo[T] {
def getA: Decoder[T]
def getB: Type1
}
trait World[T] extends Foo[T] {
def getA: Decoder[T]
def getB: Type2
}
Currently, Either is wrong way to define all types. How to solve it?