locations are working, pretty printing, and fixed one bug (wrong applicative instance for state, it requires Monad, not just Applicative for underlying m)