Wed Feb 10 10:15:41 CET 2010

Structure of datatypes

One thing I don't have an intuitive feel for yet is when to use
projections in sum types.  I.e. is one of the alternatives of a sum
type a separate type or not?

The conditions seems to be: there are operations that work only on the
projection, and lifting is straightforward.