Minor tweaks, potential MonadFix stuff
Toying with some ideas for reverse state
Add EitherT dependency