Distinguish values and computations in the intermediate representation.
Generation of 'external' declarations from types.
Add bigarray support for external declarations.
Basic printer for generated ML code.
Handle external names in generated ML stubs.
Add interface for ml_stubs module.
Generate wrapper functions for ml stubs.
Disable 'noalloc' for the moment.

We need an interface for specifying interaction with callbacks.
Disable the "float" attribute for the moment.
Give views and structured types an identity.
More work on view stub generation.
Extend registry to structured types.
Stub generation tests.
Test for calling atomic builtins via stub generation.
Test calling type-generic macros via generated stubs.
Add str dep to test projects.
Register the string view in the registry.
Add support for generating signatures for ML wrappers. (TODO: split).
Prettier printing of generated ML: omit parentheses where possible.
Free structs and unions returned by value.