anchor.diff:      cmd.Parameters.Add par |> ignore
       cmd
   
  -let internal prepareCommand (connection: #IDbConnection) (sql: string) (cmdType: CommandType) (parameters: Parameter list) =
  +let internal prepareCommand (connection: #IDbConnection) (sql: string) (cmdType: CommandType) (parameters: #seq<Parameter>) =
       let cmd = connection.CreateCommand()
       cmd.CommandText <- sql
       cmd.CommandType <- cmdType
  
positive.code:     Parameter.make(fst p, snd p)
  
  /// Creates a list of parameters
  let parameters (p: (string * obj) list) = 
      p |> List.map inferParameterDbType
  
  /// Executes a query and returns a data reader
  let execReader (cmgr: ConnectionManager) (sql: string) (parameters: Parameter list) =
      let create,dispose = cmgr
      let connection = create()
      use cmd = prepareCommand connection sql CommandType.Text parameters
  
negative.code:     new DataReaderWrapper(cmd.ExecuteReader(), dispose) :> IDataReader    
  
  /// Executes a SQL statement and returns the number of rows affected
  let execNonQuery (cmgr: ConnectionManager) (sql: string) (parameters: #seq<Parameter>) =
      let execNonQuery' connection = 
          use cmd = prepareCommand connection sql CommandType.Text parameters
          cmd.ExecuteNonQuery()
  