anchor.diff:          CheckMemberFlags cenv.g None newslotsOK overridesOK memberFlags id.idRange
           CheckForNonAbstractInterface declKind tcref memberFlags id.idRange
   
  -        if tcref.Deref.IsExceptionDecl && 
  -           (memberFlags.MemberKind = MemberKind.Constructor) then 
  +        if memberFlags.MemberKind = MemberKind.Constructor && tcref.Deref.IsExceptionDecl then
               error(Error(FSComp.SR.tcConstructorsDisallowedInExceptionAugmentation(),id.idRange))                  
   
           let isExtrinsic = (declKind = ExtrinsicExtensionBinding)
  
positive.code:                             let envNonRec = (envNonRec,binds) ||> List.fold (fun acc bind -> AddLocalValPrimitive bind.Var acc)
  
                              // Check to see that local bindings and members don't have the same name and check some other adhoc conditions
                              for bind in binds do 
  
                                  if HasFSharpAttributeOpt cenv.g cenv.g.attrib_DllImportAttribute bind.Var.Attribs && not isStatic then 
                                      errorR(Error(FSComp.SR.tcDllImportNotAllowed(),bind.Var.Range))
                                      
                                  let nm = bind.Var.DisplayName
  
negative.code:         if isVolatile then 
              error(Error(FSComp.SR.tcVolatileOnlyOnClassLetBindings(),m))
  
          if isIncrClass && (not zeroInit || not isMutable) then errorR(Error(FSComp.SR.tcUninitializedValFieldsMustBeMutable(),m))
          if isStatic && (not zeroInit || not isMutable || vis <> Some SynAccess.Private ) then errorR(Error(FSComp.SR.tcStaticValFieldsMustBeMutableAndPrivate(),m))
          let konst = if zeroInit then Some Const.Zero else None
          let rfspec = MakeRecdFieldSpec cenv env parent  (isStatic,konst,ty',attrsForProperty,attrsForField,id,isMutable,isVolatile,xmldoc,vis,m)
  