Notes on extensibility
The choice of parameters seems somewhat ad-hoc, but is presumably based on some
foreseen need for extensibility.
- Identifiers are not a parameter in the types, and they are not manipulated
by the general map, acc & seq functions.
- The do syntax is not a parameter in the types, so e.g. the O'Haskell
extensions of the do notation can not be accomodated in an elegant way.
- The type for the do syntax,
HsStmt
, is recursive...