More stuff on type level composition

Doing combinators with A & B typedefs it really satisfying as afaict it’s completely open ended.

This here allows you to compose an open ended, automatically typed partial function (like a fold), and it just requires that each switch case be structurally typed.



discriminating structural types trace type