anchor.diff:                          let sql = sprintf "insert into %s(%s) values(%s) %s"  
                                       table 
                                       (String.Join(",",colNames|> Array.map(fun x -> x.ToLower()))) 
  -                                    (String.Join(",",[| for i in 1..fields.Length -> sprintf ":p%d"i |]))
  +                                    (String.Join(",",[| for i in 1..fields.Length  -> sprintf ":p%d"i |]))
                                       returningClause
                               
                           /// Transaction to wrap the insertion into    
  
positive.code:             /// db column names
              let dbColNames = cols |> Array.map (fun z -> z.cname ) |> Set.ofSeq
              // Determine which columns were mentioned in the item being inserted.  May
              // be a subset of the available column names, but can't include non columns
              let fields = typeof<'T>.UnderlyingSystemType.GetProperties()
              let colNames = fields |> Array.map (fun z -> z.Name)
              match colNames |> Array.tryFind (fun z-> not  (dbColNames.Contains(z.ToLower()))) with
                      | Some(problem) -> 
                          failwithf "ERROR: record field '%s' does not match a table column in %s [%s]" problem table (String.Join(",",dbColNames))
  
negative.code:                             (trans :> IDisposable).Dispose()
                          ret
  
            member x.InsertOne<'T,'R> (item : 'T,?table:string,?transProvided:DynamicSqlTransaction,?ignoredColumns:string seq) = 
              match table,transProvided,ignoredColumns with
                  | None,None,None -> x.InsertMany<'T,'R>([item]).[0]
                  | Some(t),None,None -> x.InsertMany<'T,'R>([item],table=t).[0]
                  | None,Some(t),None -> x.InsertMany<'T,'R>([item],transProvided=t).[0]
                  | Some(ta),Some(tr),None -> x.InsertMany<'T,'R>([item],table=ta,transProvided=tr).[0]
                  | None,None,Some(cols) -> x.InsertMany<'T,'R>([item],ignoredColumns=cols).[0]
                  | Some(t),None,Some(cols) -> x.InsertMany<'T,'R>([item],table=t,ignoredColumns=cols).[0]
                  | None,Some(t),Some(cols) -> x.InsertMany<'T,'R>([item],transProvided=t,ignoredColumns=cols).[0]
                  | Some(ta),Some(tr),Some(cols) -> x.InsertMany<'T,'R>([item],table=ta,transProvided=tr,ignoredColumns=cols).[0]
  
            member x.Query<'T>(sql:string) : seq<'T> =
              //let connection = pool.Take()
  