Richard Gibson
03/08/2019, 12:35 AMfun <A, B, C> Kind<F, Either<A, B>>.branch(fl: Kind<F, (A) -> C>, fr: Kind<F, (B) -> C>): Kind<F, C> =
map { it.fold(
{l -> just(Left(l)).select(fl)},
{ r -> just(Left(r)).select(fr) } )
}
current not compiling as it returns Kind<F, Kind<F, C>>