anchor.diff:              let types =
                   info.GetFields()
                   |> Array.map (fun field -> field.PropertyType)
  -            info.Tag, info.Name, types, values)
  +            let names =
  +                info.GetFields()
  +                |> Array.map (fun field -> field.Name)
  +            info.Tag, info.Name, types, names, values)
   
       let canMakeSameUnionCases =
           unbox<TestUnion> (FSharpValue.MakeUnion(unionCase1Info, unionCase1ValueFields)) = unionCase1
  
positive.code:     let unionCaseInfos = [| unionCase1Info; unionCase2Info |]
      let unionCaseValueFields = [| unionCase1ValueFields; unionCase2ValueFields |]
  
      let expectedUnionCase1Fields = 0, "StringCase", [| typeof<string>; typeof<string> |], [| box "a"; box "b" |]
      let expectedUnionCase2Fields = 1, "IntCase", [| typeof<int> |], [| box 1 |]
      let expectedUnionFields = [| expectedUnionCase1Fields; expectedUnionCase2Fields |]
  
      let unionFields =
  
negative.code: type TestType4 = class end
  type TestType5 = class end
  
  type TestType6 =
      | CaseA of string
      | CaseB of SomeField: string
      | CaseC of string * SomeField: string
  
  type GenericRecord<'A,'B> = { a: 'A; b: 'B }
  
  type MyEnum =
  