anchor.diff:          | info -> (info :> MemberInfo)
   
       let isUnionCaseNullary (typ:Type, tag:int, bindingFlags) = 
  -        let props = fieldsPropsOfUnionCase(typ, tag, bindingFlags) 
  -        emptyArray props
  +        fieldsPropsOfUnionCase(typ, tag, bindingFlags).Length = 0
   
       let getUnionCaseConstructorMethod (typ:Type,tag:int,bindingFlags) = 
           let constrname = getUnionTagConverter (typ,bindingFlags) tag 
           let methname = 
  -            if isUnionCaseNullary (typ, tag, bindingFlags) then "get_"+constrname 
  +            if isUnionCaseNullary (typ, tag, bindingFlags) then "get_" + constrname 
               elif isListType typ || isOptionType typ then constrname
  -            else "New"+constrname 
  +            else "New" + constrname
  +
           match typ.GetMethod(methname, BindingFlags.Static  ||| bindingFlags) with
           | null -> raise <| System.InvalidOperationException (SR.GetString1(SR.constructorForUnionCaseNotFound, methname))
           | meth -> meth
  
positive.code:                 invalidArg "unionType" (SR.GetString1(SR.privateUnionType, unionType.FullName))
              else
                  invalidArg "unionType" (SR.GetString1(SR.notAUnionType, unionType.FullName))
      let emptyObjArray : obj[] = [| |]
  
      //-----------------------------------------------------------------
      // TUPLE DECOMPILATION
  
negative.code: 
  type DynamicFunction<'T1,'T2>() =
      inherit FSharpFunc<obj -> obj, obj>()
      override __.Invoke(impl: obj -> obj) : obj = 
          box<('T1 -> 'T2)> (fun inp -> unbox<'T2>(impl (box<'T1>(inp))))
  
  [<AbstractClass; Sealed>]
  