anchor.diff:              let preEstablishedHasDefaultCtor = 
                   members |> List.exists (function 
                       | SynMemberSig.Member (valSpfn,memberFlags,_) -> 
  -                        memberFlags.MemberKind=MemberKind.Constructor  && 
  +                        memberFlags.MemberKind=MemberKind.Constructor && 
                           // REVIEW: This is a syntactic approximation
                           (match valSpfn.SynType, valSpfn.SynInfo.ArgInfos with 
                            | SynType.Fun (SynType.LongIdent (LongIdentWithDots([id],_)), _, _), [[_]] when id.idText = "unit" ->  true
  
positive.code:         CheckMemberFlags cenv.g None newslotsOK overridesOK memberFlags id.idRange
          CheckForNonAbstractInterface declKind tcref memberFlags id.idRange
  
          if tcref.Deref.IsExceptionDecl && 
             (memberFlags.MemberKind = MemberKind.Constructor) then 
              error(Error(FSComp.SR.tcConstructorsDisallowedInExceptionAugmentation(),id.idRange))                  
  
          let isExtrinsic = (declKind = ExtrinsicExtensionBinding)
  
negative.code: 
  let CheckNamespaceModuleOrTypeName (g:TcGlobals) (id:Ident) = 
      // type names '[]' etc. are used in fslib
      if not g.compilingFslib && id.idText.IndexOfAny(IllegalCharactersInTypeAndNamespaceNames) <> -1 then 
          errorR(Error(FSComp.SR.tcInvalidNamespaceModuleTypeUnionName(),id.idRange))
  
  let CheckDuplicates (idf : _ -> Ident) k elems = 
  