anchor.diff:      let finallyRun = ref false
       let tran() = tx {
           try
  -            do! Tx.execNonQueryi "insert into person (id,name) values (@id, @name)" [P("@id",3);P("@name", "juan")]
  +            do! txInsert 3
               failwith "Error!"
           finally
               finallyRun := true
  
positive.code:     let c = withMemDb()
      let tran() = tx {
          try
              do! Tx.execNonQueryi "insert into person (id,name) values (@id, @name)" [P("@id",1);P("@name", "juan")]
              failwith "bye"
              do! Tx.execNonQueryi "insert into person (id,name) values (@id, @name)" [P("@id",3);P("@name", "juan")]
          with e ->
              do! Tx.execNonQueryi "insert into person (id,name) values (@id, @name)" [P("@id",2);P("@name", "juan")]
      }
      let result = tran() c
      match result with
  
negative.code: let ``tx monad rollback and zero`` () = 
      let c = withMemDb()
      let tran() = tx {
          do! txInsert 3
          if 1 = 1
              then do! Tx.rollback 4
          return 0
  