can log in pure code
move everything from Combinators.hs to Agent.hs
Agent is MonadLogPure instance.

so agents can log.