evalOneStep :: ProgramState -> Either String ProgramState
evalOneStep p@ProgramState { programStack = [] } = Right p
evalOneStep :: ProgramState -> Either String ProgramState
evalOneStep p@ProgramState { programStack = [] } = Right p
evalOneStep p@ProgramState { programStack = [] } = Right p