anchor.diff:      let conn = cmgr.create()
       let cmd = conn.CreateCommand()
       cmd.Transaction <- Option.getOrDefault cmgr.tx
  +    cmgr.setupCommand cmd
       let dispose () = cmgr.dispose conn
       new DbCommandWrapper(cmd, dispose) :> IDbCommand
   
  
positive.code:         logf "creating connection from const %s" id
          conn
      let dispose c = logf "disposing connection (but not really) %s" id
      { create = create; dispose = dispose; tx = None }
  
  /// Creates a <see cref="ConnectionManager"/> with an externally-owned transaction
  let withTransaction (tx: IDbTransaction): ConnectionManager =
  
negative.code:     let dispose (c: IDisposable) = 
          c.Dispose()
          logf "disposing connection %s" id
      ConnectionManager.make(create, dispose)
  
  let internal withCreateConnection (create: unit -> IDbConnection) : ConnectionManager = 
      let dispose x = ()
      ConnectionManager.make(create, dispose)
  
  let internal doWithConnection (cmgr: ConnectionManager) f =
      withResource cmgr.create cmgr.dispose f
  