This helped solve a few bugs with linear types,
for instance when using automata.
The intermediate code is not well-typed (wrt to
linear types only), after the encoding of automata.
The order switch then reset was wrong, since some reset reset slower inner blocks and equations, to have reset correct after switch it would have been necessary to sample the reset condition correctly (use r when c) using the level_ck... anyway the order seems now irrelevant considering code size.
Warn as error for partial match.
Warn for unused variables : added some TODO to check.
PS : I'll deal with callgraph which is doing things that Modules does.
There are now 3 kinds of nodes: Eprim : primitive
nodes, Enode: nodes with memory, Efun: nodes
without memory.
Typing now sets correct eq_statefull and b_statefull
for equations and blocks. Resets are only added
when a node with memory is called.
The calling convention is the generated code needs
to be modified so that we can remove the context
for nodes without memory.