Why is the plus from Right bad here? If this is some kind of buffering and the Right type is Set then plus is actually faster because we don't need to materialize lists of elements to pass to sumOption. They just get added to the Set by plus. Then 
Also with this approach we keep several Right instances around at once when ```mustConvert``` assumes there's only one around to decide if we should move to the Left type.

So actually my proposal above need to be changed because we don't want to stop iterating only when we get a Left but the first time that we either get a Left or mustConvert returns true.

Let me propose something else and start from there.