Iffy Indecisive Either types for java. Either<String, Integer> foo = Either.ofLeft("Hello"); Either<Integer, Integer> bar = foo.mapLeft(Integer::parseInt); float fizz = bar.fold(Float.class::cast, Float.class::cast);