anchor.diff:  // Predicates on types
   //------------------------------------------------------------------------- 
   
  -let rec isNativeIntegerTy  g ty =
  +let rec isNativeIntegerTy g ty =
       typeEquivAux EraseMeasures g g.nativeint_ty ty || 
       typeEquivAux EraseMeasures g g.unativeint_ty ty ||
       (isEnumTy g ty && isNativeIntegerTy g (underlyingTypeOfEnumTy g ty))
   
  -let isSignedIntegerTy  g ty =
  +let isSignedIntegerTy g ty =
       typeEquivAux EraseMeasures g g.sbyte_ty ty || 
       typeEquivAux EraseMeasures g g.int16_ty ty || 
       typeEquivAux EraseMeasures g g.int32_ty ty || 
       typeEquivAux EraseMeasures g g.nativeint_ty ty || 
       typeEquivAux EraseMeasures g g.int64_ty ty 
   
  -let isUnsignedIntegerTy  g ty =
  +let isUnsignedIntegerTy g ty =
       typeEquivAux EraseMeasures g g.byte_ty ty || 
       typeEquivAux EraseMeasures g g.uint16_ty ty || 
       typeEquivAux EraseMeasures g g.uint32_ty ty || 
  
positive.code:             CompleteD
          else
              if GetIntrinsicConstructorInfosOfType csenv.InfoReader m ty 
                 |> List.exists (fun x -> IsMethInfoAccessible amap m AccessibleFromEverywhere x && x.IsNullary)
              then 
                  match tryDestAppTy g ty with
                  | Some tcref when HasFSharpAttribute g g.attrib_AbstractClassAttribute tcref.Attribs ->
  
negative.code:                 | true, false, 2 -> 
                          // If we resolve to an instance field on a struct and we haven't yet taken 
                          // the address of the object then go do that 
                          if rfref.Tycon.IsStructOrEnumTycon && not (isByrefTy g (tyOfExpr g argExprs.[0])) then 
                              let h = List.head argExprs
                              let wrap,h' = mkExprAddrOfExpr g true false DefinitelyMutates h None m 
                              Some (wrap (mkRecdFieldSetViaExprAddr (h', rfref, tinst, argExprs.[1], m)))
  