anchor.diff:      values |> Seq.iteri createParam
       cmd
   
  -let sqlProcessorToDataReader a b = 
  +let internal sqlProcessorToDataReader a b = 
       let cmd = sqlProcessor a b
       cmd.ExecuteReader()
   
  -let sqlProcessorToUnit a b =
  +let internal sqlProcessorToUnit a b =
       let cmd = sqlProcessor a b
       cmd.ExecuteNonQuery() |> ignore
   
   let execReaderF connectionFactory a = PrintfFormatProc (sqlProcessorToDataReader connectionFactory) a
   let execNonQueryF connectionFactory a = PrintfFormatProc (sqlProcessorToUnit connectionFactory) a
   
  -let prepareCommand (connection: #IDbConnection) (sql: string) (cmdType: CommandType) (parameters: (string * DbType * obj) list) =
  +let internal prepareCommand (connection: #IDbConnection) (sql: string) (cmdType: CommandType) (parameters: (string * DbType * obj) list) =
       let cmd = connection.CreateCommand()
       cmd.CommandText <- sql
       cmd.CommandType <- cmdType
  
positive.code:     parameters |> Seq.iter addParam
      cmd
  
  let inferParameterDbType (p: string * obj) = 
      fst p, Unchecked.defaultof<DbType>, snd p
  
  let inferParameterDbTypes (p: (string * obj) list) = 
  
negative.code: 
  let writeOption = 
      function
      | None -> box DBNull.Value
      | Some x -> box x
  
  let findOne mapper query id =
  