I just wanted to say that I'm not ignoring your patch, I'm just not qualified to review it. I hope someone steps up to it--otherwise I can't really tell whether (mbegin %state-monad...) inside a random service procedure is a good idea. Then again, provenance-service-type does it and there it seems to be fine...