anchor.diff:  open Microsoft.FSharp.Core.LanguagePrimitives.IntrinsicOperators
   open Microsoft.FSharp.Collections
   open Microsoft.FSharp.Primitives.Basics
  +open System.Linq.Expressions
   
   module internal ReflectionUtils =
   
  
positive.code:     static member PreComputeRecordReader(recordType: Type, ?bindingFlags) : (obj -> obj[]) =
          let bindingFlags = defaultArg bindingFlags BindingFlags.Public
          checkRecordType ("recordType", recordType, bindingFlags)
          getRecordReader (recordType, bindingFlags)
  
      static member PreComputeRecordConstructor(recordType: Type, ?bindingFlags) =
          let bindingFlags = defaultArg bindingFlags BindingFlags.Public
  
negative.code:         let props = fieldPropsOfRecordType(typ, bindingFlags)
          (fun (obj: obj) -> props |> Array.map (fun prop -> prop.GetValue (obj, null)))
  
      let getRecordReaderFromFuncs(typ: Type, bindingFlags) =
          let props = fieldPropsOfRecordType(typ, bindingFlags) |> Array.map compilePropGetterFunc
          (fun (obj: obj) -> props |> Array.map (fun prop -> prop.Invoke obj))
  
      let getRecordConstructorMethod(typ: Type, bindingFlags) =
          let props = fieldPropsOfRecordType(typ, bindingFlags)
          let ctor = typ.GetConstructor(BindingFlags.Instance ||| bindingFlags, null, props |> Array.map (fun p -> p.PropertyType), null)
  