anchor.diff:                      resultType, getExecuteBody
   
                   | ResultSetType.DataTable ->
  -                    //let rowType = typeof<DataRow>
                       let rowType = ProvidedTypeDefinition("Row", Some typeof<DataRow>)
                       for name, propertyTypeName, columnOrdinal  in columns do
                           if name = "" then failwithf "Column #%i doesn't have name. Only columns with names accepted. Use explicit alias." columnOrdinal
  
positive.code: ﻿namespace FSharp.Data.SqlClient
  
  open Microsoft.FSharp.Core.CompilerServices
  open Samples.FSharp.ProvidedTypes
  open System
  open System.Configuration
  open System.Threading
  open System.Data
  open System.Data.SqlClient
  open System.Reflection
  open System.IO
  open Microsoft.FSharp.Quotations
  open Microsoft.FSharp.Reflection
  
  type ResultSetType =
      | Tuples = 0
  
negative.code:                         rowType.AddMember property
  
                      let resultType = typedefof<_ DataTable>.MakeGenericType rowType 
                      commandType.AddMembers [ rowType :> Type; resultType ]
  
                      let getExecuteBody(args : Expr list) = 
                          let impl = this.GetType().GetMethod("GetTypedDataTable", BindingFlags.NonPublic ||| BindingFlags.Static).MakeGenericMethod([| typeof<DataRow> |])
                          impl.Invoke(null, [| args.[0]; singleRow |]) |> unbox
  
                      resultType, getExecuteBody
  