Rewrite either in terms of sum_type.

The reasoning behind this change is the same as for the maybe rewrite.
Just as with that one, this leaves either in a slightly diminished
state, but in this case there are fewer (possibly no) features that
can't be re-implemented eventually.