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

e `ML` ee ~ ML e ee

Why is it called ML in code? It’s a reverse of LM (which is called this way cause of limits). So this is a general representation of colimits.