We keep type sums in this normalised format instead of joining them
together with a binary operator (like (+)). This makes sums easier to work
with, as a given sum type often only has a single physical representation.