Try to recover some immutability info from debug events. (currently assuming modules are immutable, need to check what happens with recursive modules
Use this info to compute an approximated shape for registered globals.
Use shape info to compute function arity across compilation units (this is currently only done when compiling cma files as we know the shape of previously compiled units inside the library)
TODOs/Questions:
[x] check the behavior with recursive modules
[x] fix with effects
[ ] update global_flow ?
[x] better mechanism for shape propagation ?-
[x] store shape in a different file ? yes
[x] should the "shape" file be given jsoo on the command line or should it look for it on the file system ? both
PoC for #550
TODOs/Questions: