Rewrite the functional test harness in terms of the State monad
Summary: Reading into
the State Monad, I find that the functional tests have entirely reinvented the wheel.
Really, the tests should probably be rewritten seriously, in terms of State and with effects captured even more thoroughly than they already are.
Open question of whether to do this in terms of Scalaz or Cats. I lean towards Cats, but it is new and incomplete.