There are 4 parts of Fulminate's runtime library AFAIU:
- Internals only used for runtime checking of CN stuff
- Functions and types for evaluating CN pure terms
- Used by Bennet and Darcy via code generated by
cn_to_ail.ml
- Functions used by users
- Wildcard ownership (
cn_unsafe_malloc)
- Callbacks for use by testing
cn_failure_callback
Making the interfaces clearer would be good...