anchor.diff:          itype.Fields.Value
           |> Seq.choose (fun field ->
               if field.Args.Length = 0
  -            then (genProperty ctx itype field) :> MemberInfo |> Some
  +            then (genProperty ctx field) :> MemberInfo |> Some
               else None //TODO: upcast genMethod ctx itype field
           )
           |> Seq.toList
  
positive.code:         itype.Fields.Value
          |> Array.map (fun field ->
              if field.Args.Length = 0
              then (genProperty ctx itype field) :> MemberInfo
              else upcast genMethod ctx itype field)
          |> Array.toList
          |> t.AddMembers
  
negative.code:         member x.UnderlyingType =
              match x with
              | NativeType t -> t
              | ProvidedType (t, _) -> upcast t
  
      type ProviderSessionContext = 
          { Assembly: Assembly
  