anchor.diff:  
   let fill_p_attribs,p_attribs = p_hole()
   
  +// In F# 4.5, the type of the "this" pointer for structs is considered to be inref for the purposes of checking the implementation
  +// of the struct.  However for backwards compat reaons we can't serialize this as the type.
  +let checkForInRefStructThisArg st ty = 
  +    let g = st.oglobals
  +    let _, tauTy = tryDestForallTy g ty
  +    isFunTy g tauTy && isFunTy g (rangeOfFunTy g tauTy) && isInByrefTy g (domainOfFunTy g tauTy)
  +
   let p_nonlocal_val_ref (nlv:NonLocalValOrMemberRef) st =
       let a = nlv.EnclosingEntity
       let key = nlv.ItemKey
  
positive.code:         osimpletys=Table<_>.Create "osimpletys"  
          oglobals=g
          ofile=file
          oInMem=inMem }
      p x st1
      let sizes = 
        st1.otycons.Size,
  
negative.code:               p_byte 0 st; p_tys l st
      | TType_app(ERefNonLocal nleref,[]) -> p_byte 1 st; p_simpletyp nleref st
      | TType_app (tc,tinst)              -> p_byte 2 st; p_tup2 (p_tcref "typ") p_tys (tc,tinst) st
      | TType_fun (d,r)                   -> 
          p_byte 3 st
          p_ty d st
          st.isStructThisArgPos <- false
          p_ty r st
      | TType_var r                       -> p_byte 4 st; p_tpref r st
      | TType_forall (tps,r)              -> p_byte 5 st; p_tup2 p_tyar_specs p_ty (tps,r) st
      | TType_measure unt                 -> p_byte 6 st; p_measure_expr unt st
  