static Iterable<L> getLefts<L, R>(Iterable<Either<L, R>> iterable) sync* { for (var either in iterable) { if (either is Left<L, R>) { yield either.value; } } }