I have a complete haskell project with an incomplete rust bytecode runner. I have learned a lot from this. Someone in the haskell chat pointed out a way to handle interpreting in haskell, with a faux heap.