Decoder<Either<A, B>> either<B>(Decoder<B> decodeB) => map<Either<A, B>>(left).recoverWith(decodeB.map(right));