anchor.diff:  //------------------------------------------------------------------------- 
   
   let mkThatAddrLocal g m ty = mkCompGenLocal m "obj" (mkThisTy g ty)     
  +let mkThatAddrLocalIfNeeded g m tcve ty = 
  +    if isStructTy g ty then 
  +        let thataddrv, thataddre = mkCompGenLocal m "obj" (mkThisTy g ty) 
  +        Some thataddrv, thataddre
  +    else None,tcve
           
   let mkThisVarThatVar g m ty =
       let thisv,thise = mkThisVar g m ty
  
positive.code:                (mkUnionCaseTagGetViaExprAddr (thataddre,tcref,tinst,m))
                 tagsEqTested) 
  
      let expr = if tycon.IsStructOrEnumTycon then expr else mkBindNullComparison g m thise thate expr
      let expr = mkBindThatAddr g m ty thataddrv tcv tce expr
      // will be optimized away if not necessary
      let expr = mkCompGenLet m tcv thate expr
      expr
      
      
  
negative.code:     let fields = tycon.AllInstanceFieldsAsList
      let tinst,ty = mkMinimalTy g tcref
      let tcv,tce = mkCompGenLocal m "objTemp" ty    // let tcv = thate
      let thataddrv,thataddre = mkThatAddrLocal g m tce ty      // let thataddrv = &tcv, if a struct
      
      let mkTest (fspec:RecdField) = 
          let fty = fspec.FormalType 
  