Neil talked about his forthcoming book
Here is the summary:
Inductive types have a well understood theory in terms of initial algebra semantics on a category of types. When it comes to advanced types, like nested datatypes and GADTs, the key idea seems to be that types should be indexed but there is disagreement about what these indexes are.
In the functional world, the Haskell community has swallowed the “practical” benefits of GADTs where indexes are elements of , eg:
The theoretical advantages of using the dependently typed approach, where , are seen as just “academic”. The semantics here is in terms of slice categories where the key constructions are reindexing, dependent sum & product.
Their equivalents in the functional world are functor composition and left and right Kan extensions. So all the practical Haskellers are buying into MacLane’s chapter X.