anchor.diff:      modules, types
   
     and readType (ctx:ReadingContext) (typ:FSharpEntity) =
  -    let xmlDocSig, statParams =
  -        if typ.XmlDocSig <> "" then typ.XmlDocSig, []
  -        elif typ.XmlDoc.Count = 0 then "", []
  -        // assume is a type provider
  -        else processTypeProvider ctx typ
  +    let xmlDocSig =
  +        if typ.XmlDocSig = "" && typ.XmlDoc.Count > 0 && typ.IsProvided
  +        then registerTypeProviderXmlDocs ctx typ
  +        else typ.XmlDocSig
       readCommentsInto ctx xmlDocSig (fun cat cmds comment ->
         let urlName = ctx.UniqueUrlName (sprintf "%s.%s" typ.AccessPath typ.CompiledName)
   
  
positive.code:     let location = formatSourceLocation ctx.SourceFolderRepository loc
      MemberOrValue.Create(usage, modifiers, typeparams, signature, location)
  
  module Reader =
    open FSharp.Markdown
    open System.IO
  
negative.code:       readCommentsInto ctx field.XmlDocSig (fun cat _ comment ->
          Member.Create(field.Name, MemberKind.RecordField, cat, readFSharpField ctx field, comment)))
  
    let readStaticParams ctx (typ:FSharpEntity) =
      typ.StaticParameters
      |> List.ofSeq
      |> List.choose (fun staticParam ->
        readCommentsInto ctx (getFSharpStaticParamXmlSig typ staticParam.Name) (fun cat _ comment ->
          Member.Create(staticParam.Name, MemberKind.StaticParameter, cat, readFSharpStaticParam ctx staticParam, comment)))
  
    // ----------------------------------------------------------------------------------------------
    // Reading modules types (mutually recursive, because of nesting)
    // ----------------------------------------------------------------------------------------------
  