Product is a datatype that contains two (or more, since this type could be used inductively) types at runtime. e `P` ee ~ P e ee Product is a general representation of limits.