anchor.diff:          type System.Object with
              member x.GetProperty(nm) =
                  let ty = x.GetType()
  -               let prop = ty.GetProperty(nm, BindingFlags.Instance ||| BindingFlags.Public ||| BindingFlags.NonPublic)
  +               let prop = ty.GetProperty(nm, bindAll)
                  let v = prop.GetValue(x,null)
                  v
   
              member x.GetField(nm) =
                  let ty = x.GetType()
  -               let fld = ty.GetField(nm, BindingFlags.Instance ||| BindingFlags.Public ||| BindingFlags.NonPublic)
  +               let fld = ty.GetField(nm, bindAll)
                  let v = fld.GetValue(x)
                  v
   
              member x.HasProperty(nm) =
                  let ty = x.GetType()
  -               let p = ty.GetProperty(nm, BindingFlags.Instance ||| BindingFlags.Public ||| BindingFlags.NonPublic)
  +               let p = ty.GetProperty(nm, bindAll)
                  p |> isNull |> not
   
              member x.HasField(nm) =
                  let ty = x.GetType()
  -               let fld = ty.GetField(nm, BindingFlags.Instance ||| BindingFlags.Public ||| BindingFlags.NonPublic)
  +               let fld = ty.GetField(nm, bindAll)
                  fld |> isNull |> not
   
              member x.GetElements() = [ for v in (x :?> System.Collections.IEnumerable) do yield v ]
  
positive.code:                      newT
                  | _ ->
                      let msg =
                          if toTgt then sprintf "The type '%O' utilized by a type provider was not found in reference assembly set '%A'. You may be referencing a portable profile which contains fewer types than those needed by the type provider you are using." t (getTargetAssemblies())
                          elif getSourceAssemblies().Length = 0 then sprintf "A failure occured while determining compilation references"
                          else sprintf "The runtime-time type '%O' utilized by a type provider was not found in the compilation-time assembly set '%A'. You may be referencing a portable profile which contains fewer types than those needed by the type provider you are using. Please report this problem to the project site for the type provider." t (getSourceAssemblies())
                      failwith msg
  
  
  
negative.code:                         match pcinfo.GetBaseConstructorCallCode (true) with
                          | None ->
                              ilg.Emit(I_ldarg 0)
                              let cinfo = ptd.BaseType.GetConstructor(bindAll, null, [| |], null)
                              ilg.Emit(mkNormalCall (transCtorSpec cinfo))
                          | Some f ->
                              // argExprs should always include 'this'
  