anchor.diff:      inherit IShapeTuple
       abstract Accept : ITuple4Visitor<'R> -> 'R
   
  -type ShapeTuple<'T1, 'T2, 'T3, 'T4> () =
  +type private ShapeTuple<'T1, 'T2, 'T3, 'T4> () =
       inherit TypeShape<'T1 * 'T2 * 'T3 * 'T4> ()
       interface IShapeTuple4 with
           member __.Accept v = v.Visit<'T1, 'T2, 'T3, 'T4> ()
  
positive.code: type IShapeEnum =
      abstract Accept : IEnumVisitor<'R> -> 'R
  
  type ShapeEnum<'Enum, 'Underlying when 'Enum : enum<'Underlying>>() =
      inherit TypeShape<'Enum> ()
      interface IShapeEnum with
          member __.Accept v = v.Visit<'Enum, 'Underlying> ()
  
negative.code:                         let uReader = FSharpValue.PreComputeUnionReader(uci, allMembers)
                          let tupleCtor = FSharpValue.PreComputeTupleConstructor tupleType
                          let tupleReader = FSharpValue.PreComputeTupleReader tupleType
                          { UnionCaseInfo = uci ; PayloadType = tupleType ;
                              UCtor = tupleReader >> uctor ;
                              UProj = uReader >> tupleCtor }
  
  