Sum is a datatype that contains one of two (or more, since this type could be used inductively) alternatives in runtime. e `S` ee ~ S e ee ~ Sum e ee Sum is a general representation of colimits.