anchor.diff:       (defineExtractAndCreate t emitCtor props products >>= fun () ->
         defineRest)
   
  -/////////////////////////////////////////////////////////////////////////
  +////////////////////////////////////////////////////////////////////////////////
   
   module Unions =
     let choices ts = build typedefof<Choice<_, _>> ts
  
positive.code:       elif FSharpType.IsTuple t then
          let elems = FSharpType.GetTupleElements t
          if 7 < elems.Length then
            failwith "XXX: Tuples with more than 7 elements are not yet supported."
  
          let props =
            Array.init elems.Length <| fun i ->
  
negative.code: 
          Builder.metaType typeof<Union<'t>> [|box cases.Length|]
           ((match FSharpValue.PreComputeUnionTagMemberInfo
                    (t, BindingFlags.Any) with
              | :? PropertyInfo as prop ->
                Builder.overrideGetMethod "Tag" t prop
              | :? MethodInfo as meth when meth.IsStatic ->
  