anchor.diff:          with e -> 
               Failed e
   
  +let inline mreturn a = 
  +    fun (cmgr: ConnectionManager) -> Commit a
  +
   type TransactionBuilder() =
       member x.Delay f = f()
   
  
positive.code: /// For use within a tx monad.
  let rollback a (mgr: ConnectionManager) = Rollback a
  
  let map f = 
      function
      | Commit a -> f a |> Commit
      | Failed x -> Failed x
      | Rollback x -> Rollback x
negative.code:     member x.Combine(m1, m2) = 
          x.Bind(m1, fun() -> m2)
  
      member x.Return a = mreturn a
  
      member x.Zero() = x.Return ()
  
  