Remove some unnecessary bindings from generated stubs to avoid warnings.
Add an interface file for the Type_printing module.
Expose the inner format_typ function.
Replace let x = e in (t')e' with let x = e in e' in generated code where possible.
Replace let x = e in x with e in generated C.
Change `Arg/`Ret to the more general In/Out in the ML generation code.
Expose Type_printing.format_name
Add a representation for function declarations.
Add C expression nodes for indexing e[i].
C representation: introduce assignment; actions subsume expressions.

 * introduce assignment, and hence lvalues.  Currently lvalues are
   variables or index expressions:

     lvalue ::= local-variable
                lvalue [ expression ]

 * Expressions can now appear wherever effectful computations can appear.
WIP.