A nested datatype, also known as a non-regular datatype, is a parametrised datatype whose declaration involves different instances of the accompanying type parameters.
Nested datatypes have been mostly ignored in functional programming until recently, but they are turning out to be both theoretically
important and useful in practice. The aim of this paper is to suggest a functorial semantics for such datatypes, with an associated
calculational theory that mirrors and extends the standard theory for regular datatypes. Though elegant and generic, the proposed
approach appears more limited than one would like, and some of the limitations are discussed.