Rewrite the functional test harness in terms of the State monad

(Incomplete Feature, Investigate , Priority: High, Test Status: No automated tests yet , Reported By Justin du Coeur, )
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.