Sum is a datatype that contains one of two (or more, since this type could be used inductively) alternatives in runtime.

Sum is a general representation of colimits.