Proof that "algebraic datatypes" are algebraic