https://blog.subnetzero.io/project/iridium-vm/building-language-vm-part-18b/