anchor.diff:    let (|SimpleKey|_|) (key:string) = 
        if key.StartsWith "P:" || key.StartsWith "F:" || key.StartsWith "E:" then 
            let name = key.[2..]
  -        // printfn "AAA name = %A" name
            match name with 
            | MemberName(typeName,elemName) -> Some (typeName, elemName)
            | _ -> None
  
positive.code:   /// Return the XmlDocumentationProvider for an assembly
    let findXmlDocProviderForAssembly file  = 
        let tryExists s = try if File.Exists s then Some s else None with _ -> None
        let e = 
            match tryExists (Path.ChangeExtension(file,"xml")) with 
            | Some x -> Some x 
            | None -> tryExists (Path.ChangeExtension(file,"XML"))
        match e with 
        | None -> None
        | Some xmlFile ->
        let docReader = xmlDocProvider xmlFile
  
negative.code: 
    let trySelectOverload (nodes: XmlNodeList, argsFromKey:string[]) =
  
        if (nodes.Count = 1) then Some nodes.[0] else
        
        let result = 
          [ for x in nodes -> x ] |> Seq.tryFind (fun curNode -> 
            let paramList = curNode.SelectNodes ("Parameters/*")
            (paramList <> null) && (argsFromKey.Length = paramList.Count) )
  
        match result with 
        | None -> None
  