migrated to new SDF3
templates to context-free syntax
generated pp rules not complete
introduce type signatures as sugar for full TS type rules (after an idea by Pierre Neron)

Some example rules from PCF:

Param : _ * a -> a
Fun : a * b -> FunType(a, b)
App : FunType(a, b) * a -> b
Ifz : IntType() * a * a -> a