Bug fix: updating local variables was not working as I expected because of two things. (1) The right-hand side of the update expression was not being dereferenced. (2) The instance of 'Dao.Interpreter.Store' 'Dao.Interpreter.LocalStore', which makes use of the instance of 'Dao.Interpreter.Store' (ref 'Dao.Stack.Stack'), was using 'Dao.Stack.stackUpdateTopM' instead of 'Dao.Stack.stackUpdateM' to update local variables. This had the effect of forcing the updated variable value to the top of the stack, which was deleted when the stack was popped. The 'Dao.Stack.stackUpdateM' function behaves correctly, and this is what is now used, and the bug has been fixed.
Bug fix: updating local variables was not working as I expected because of two things. (1) The right-hand side of the update expression was not being dereferenced. (2) The instance of 'Dao.Interpreter.Store' 'Dao.Interpreter.LocalStore', which makes use of the instance of 'Dao.Interpreter.Store' (ref 'Dao.Stack.Stack'), was using 'Dao.Stack.stackUpdateTopM' instead of 'Dao.Stack.stackUpdateM' to update local variables. This had the effect of forcing the updated variable value to the top of the stack, which was deleted when the stack was popped. The 'Dao.Stack.stackUpdateM' function behaves correctly, and this is what is now used, and the bug has been fixed.

printedheart/Dao