anchor.diff:              //or something went wrong, simply return the str escaped rather than nothing.
               else GLib.Markup.EscapeText str
           //if the tooltip contains invalid xml return the str escaped
  -        with _ -> GLib.Markup.EscapeText str
  +        with exn ->
  +            LoggingService.LogError("Error in Tooltip parsing:\n" + exn.ToString())
  +            GLib.Markup.EscapeText str
          
       let getParameterTip (addStyle: Style -> string) (str:String) (param:String) =
           let xdoc = XElement.Parse("<Root>" + str + "</Root>")
  
positive.code: open System.Linq
  open System.Xml
  open System.Xml.Linq
  open System.Diagnostics
  
  type Style = 
      | Type of string 
  
negative.code:                                                |> Code
                                                 |> addStyle
                                  acc.Append(fragment)
                         | "attribution" -> acc //skip attribution elements
                         | unknown -> LoggingService.LogError("Error in Tooltip parsing, unknown element in summary: " + element.Name.LocalName)
                                      processNodes acc (element.Nodes())
                  | :? XText as xt -> acc.AppendFormat("{0} ", xt.Value |> GLib.Markup.EscapeText |> trim)
                  | _ -> acc )
          processNodes sb (element.Nodes())
  
      let getTooltip (addStyle: Style -> string) (str:string) = 
          try let xdoc =
              //XElement.Parse("<Root>" + str + "</Root>")
                  XElement.Parse(str)
              //if no nodes were found then return the string verbatim
              let anyNodes = xdoc.Descendants() |> Enumerable.Any
              if not anyNodes then str else
  