unOp :: Op -> InterpreterState
runOp Invoke = get >>= (\(dt, _, ft, _) -> runProg $ fromJust $ ft ! fromEnum (focus dt))

runOp :: Op -> InterpreterState
runOp Invoke = get >>= (\(dt, _, ft, _) -> runProg $ fromJust $ ft ! fromEnum (focus dt))
runOp Invoke = get >>= (\(dt, _, ft, _) -> runProg $ fromJust $ ft ! fromEnum (focus dt))