Sum is a datatype that contains one of two (or more, since this type could be used inductively) alternatives in runtime.
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.