CELL is probably the better approach because it is simpler. It is also memory efficient so might be a good idea for embedded systems. However, EX is working, and has support for variable-size vectors. How to abstract substrate? One thing I do not like about EX is the build system. It's dependency on mzscheme is quite annoying.