A generic theory of datatypes by P.F. Hoogendijk