anchor.diff:      open Fss.Pool // used for database handle pooling
       open Npgsql
   
  -    // http://tomasp.net/blog/dynamic-sql.aspx
       /// SqlDataReader wrapper that provides access to columns 
       /// of the result-set using dynamic access operator
  +    /// See http://tomasp.net/blog/dynamic-sql.aspx for original idea.
       type DynamicSqlDataReader(reader:NpgsqlDataReader) =
         member x.Reader = reader
         member x.Close() = reader.Close()
  
positive.code:         let p = NpgsqlParameter("@" + name, box value)
          cmd.Command.Parameters.Add(p) |> ignore
        // Execute command and wrap returned SqlDataReader
        member x.ExecuteReader() = 
          new DynamicSqlDataReader(cmd.ExecuteReader())
  
        member x.ExecuteNonQuery() = cmd.ExecuteNonQuery()
        member x.ExecuteScalar() = cmd.ExecuteScalar()
  
negative.code:             //use command =  connection.CreateCommand()
              //use command = new DynamicSqlCommand(sql,fun () -> pool.Release(connection))
              //command.CommandText <- sql 
              if x.LogQueries then x.Log(sql)
  
              use command : DynamicSqlCommand = x.Command sql
              /// Determine details of this record's constructor
              let cons = typeof<'T>.UnderlyingSystemType.GetConstructors() |> Array.filter (fun c -> c.IsConstructor) |> Seq.head
  