-1. **Build a state monad.** Based on the division by zero monad,
+1. **Build a State monad.** Based on the division by zero monad,
build a system that will evaluate arithmetic expressions. Instead of
returning a simple integer as a result, it will deliver the correct
answer along with a count of the number of operations performed during
You'll need to define a computation monad type, unit, bind, and lift2.
We encourage you to consider this hint: [[hints/Assignment 6 Hint 1]].
+ See our [commentary](/hints/assignment_6_commentary) on your solutions.
+
+
2. Prove that your monad satisfies the monad laws. First, give
examples illustrating specific cases in which the monad laws are
obeyed, then explain (briefly, not exhaustively) why the laws hold in