raulraja
Either
sealed class Either<L, R> { data class Left<L, R>(val l: L) : Either<L, R>() data class Right<L, R>(val r: R) : Either<L, R>() }