anchor.diff:           
           | _ ->
               ToolTips.EmptyTip
  +
  +    let getTooltipInformation symbol =
  +      async {
  +          let tip = getTooltipFromSymbolUse symbol
  +          match tip  with
  +          | ToolTips.ToolTip (signature, xmldoc) ->
  +              let toolTipInfo = new TooltipInformation(SignatureMarkup = signature)
  +              let result = 
  +                match xmldoc with
  +                | Full(summary) -> toolTipInfo.SummaryMarkup <- summary
  +                                   toolTipInfo
  +                | Lookup(key, potentialFilename) ->
  +                    let summary = 
  +                      maybe {let! filename = potentialFilename
  +                             let! markup = TooltipXmlDoc.findDocForEntity(filename, key)
  +                             let summary = TooltipsXml.getTooltipSummary Styles.simpleMarkup markup
  +                             return summary }
  +                    summary |> Option.iter (fun summary -> toolTipInfo.SummaryMarkup <- summary)
  +                    toolTipInfo
  +                | EmptyDoc -> toolTipInfo
  +              return result
  +          | _ -> return TooltipInformation() }
  
positive.code:         let start, finish = Symbol.trimSymbolRegion symbolUse lastIdent
          let startOffset = editor.LocationToOffset (start.Line, start.Column+1)
          let endOffset = editor.LocationToOffset (finish.Line, finish.Column+1)
          filename, startOffset, endOffset
  
      let getTextSpanTrimmed lastIdent (symbolUse:FSharpSymbolUse) =
          let filename, start, finish = getOffsetsTrimmed lastIdent symbolUse
  
negative.code:       | _ -> None
  
      let (|Module|_|) = function
        | Entity symbol when symbol.IsFSharpModule -> Some symbol
        | _ -> None
  
      let (|Namespace|_|) = function
        | Entity symbol when symbol.IsNamespace -> Some symbol
        | _ -> None
  
      let (|Record|_|) = function
        | Entity symbol when symbol.IsFSharpRecord -> Some symbol
        | _ -> None
  
      let (|Union|_|) = function
        | Entity symbol when symbol.IsFSharpUnion -> Some symbol
        | _ -> None
  
      let (|ValueType|_|) = function
        | Entity symbol when symbol.IsValueType && not symbol.IsEnum -> Some symbol
        | _ -> None
  
      let (|ComputationExpression|_|) (symbol:FSharpSymbolUse) =
        if symbol.IsFromComputationExpression then Some symbol
  