isa provides types for all instructions of ripeg VM. aka Instruction Set Architecture.
A Program is a Vector of Instructions. struct used here because type does not allow to use impl.
Instruction Pointer Can get either next instruction address to be executed or None (failure state)
List of Instructions