anchor.diff:  
     let internal genericParameters (api: Api) = api.Name |> Name.displayName |> Seq.rev |> Seq.collect (fun x -> x.GenericParametersForDisplay) |> Seq.distinct |> Seq.toList
   
  -  let toLower (str: string) = str.ToLower()
  -  let urlEncode (str: string) = HttpUtility.UrlEncode(str)
  +  let internal toLower (str: string) = str.ToLower()
  +  let internal urlEncode (str: string) = HttpUtility.UrlEncode(str)
   
  -  module FSharp =
  -    let internal fullOpReplaceTable =
  +  module internal FSharp =
  +    let fullOpReplaceTable =
         dict [
           "..", "[-..-]"
           ".. ..", "[-..-..-]"
  
positive.code:       return sprintf "%s%s-%s-[fsharp]" namePart genericParamsPart kindPart |> toLower |> urlEncode
      }
  
    module Msdn =
      let isGeneric api = api.Name |> Name.displayName |> List.exists (fun n -> List.isEmpty n.GenericParametersForDisplay = false)
      let canGenerate (api: Api) =
        match api.Signature with
  
negative.code: 
      let isArray (n: NameItem) = n.FSharpName.StartsWith("[")
  
      let generate (api: Api) = option {
        let ns =
          let ns = Name.displayName api.Name
          match api.Signature with
  