anchor.diff:  
     // Type providers don't have their docs dumped into the xml file,
     // so we need to add them to the XmlMemberMap separately
  -  let processTypeProvider (ctx:ReadingContext) (typ:FSharpEntity) =
  +  let registerTypeProviderXmlDocs (ctx:ReadingContext) (typ:FSharpEntity) =
       let xmlDocSig = "T:" + typ.AccessPath + "." + typ.LogicalName
       let xmlDoc = registerXmlDoc ctx xmlDocSig (String.concat "" typ.XmlDoc)
  -    let statParams = 
  -        xmlDoc.Descendants(XName.Get "param")
  -        |> Seq.choose (fun p -> let nameAttr = p.Attribute(XName.Get "name")
  -                                if nameAttr = null
  -                                then None
  -                                else Some (nameAttr.Value, p.Value))
  -        |> Seq.choose (fun (name, xmlDoc) -> 
  -            let xmlDocSig = "P:" + typ.AccessPath + "." + typ.LogicalName + "." + name
  -            registerXmlDoc ctx xmlDocSig (Security.SecurityElement.Escape xmlDoc) |> ignore                
  -            readCommentsInto ctx xmlDocSig (fun cat cmds comment -> 
  -                Member.Create(name,
  -                              MemberKind.StaticParameter, 
  -                              cat,
  -                              MemberOrValue.Create((fun _ -> name), [], [], name, None), 
  -                              comment)))
  -        |> Seq.toList
  -    xmlDocSig, statParams
  +    xmlDoc.Descendants(XName.Get "param")
  +    |> Seq.choose (fun p -> let nameAttr = p.Attribute(XName.Get "name")
  +                            if nameAttr = null
  +                            then None
  +                            else Some (nameAttr.Value, p.Value))
  +    |> Seq.iter (fun (name, xmlDoc) -> 
  +        let xmlDocSig = getFSharpStaticParamXmlSig typ name
  +        registerXmlDoc ctx xmlDocSig (Security.SecurityElement.Escape xmlDoc) |> ignore)
  +    xmlDocSig
   
     let rec readModulesAndTypes ctx (entities:seq<_>) = 
       let modules = readChildren ctx entities readModule (fun x -> x.IsFSharpModule) 
  
positive.code:       let name = readTypeName typ
        let cases = readUnionCases ctx typ
        let fields = readRecordFields ctx typ
          
        let ctors = readAllMembers ctx MemberKind.Constructor cvals 
        let inst = readAllMembers ctx MemberKind.InstanceMember ivals 
        let stat = readAllMembers ctx MemberKind.StaticMember svals 
        Type.Create
          ( name, urlName, comment, cases, fields, statParams, ctors, inst, stat ))
  
  
negative.code:     modules, types
  
    and readType (ctx:ReadingContext) (typ:FSharpEntity) =
      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)
  
  