allow arbitrary monad to be threaded through simplifications
allow arbitrary monad to be threaded through simplifications

darcs-hash:3186dcdace9daa432c76207e15c22b84e224ac30

dpwright/jhc,dpwright/jhc,dpwright/jhc,dpwright/jhc