anchor.diff:                    config, 
                     allowRecentTypeCheckResults=true,
                     timeout = ServiceSettings.blockingTimeout)
  -            
           Debug.WriteLine (sprintf "Resolver: Getting tool tip")
           // Get tool-tip from the language service
           let tip = tyRes.GetToolTip(offset, doc.Editor.Document)
  
positive.code:   inherit LocalResolveResult(ivar)
    member x.DataTip = tip
  
  type FSharpLanguageItemTooltipProvider() = 
      inherit Mono.TextEditor.TooltipProvider()
      
  
negative.code:                 result.RepositionWindow ()                  
                  result :> Gtk.Window
              | _ -> Debug.WriteLine("** not a FSharpLocalResolveResult!"); null
      
      override x.ShowTooltipWindow (editor, offset, modifierState, mouseX, mouseY, item) =
          let titem = item.Item :?> FSharpLocalResolveResult
          let tipWindow = x.CreateTooltipWindow (editor, offset, modifierState, item) :?> TooltipInformationWindow
          if tipWindow = null then null else
  
          let positionWidget = editor.TextArea
  
          let p1 = offset |> editor.OffsetToLocation |> editor.LocationToPoint
    
          //we never set the end dom region so use a single character '1' as the end offset for now otherwise it will be negative
          let caret = new Gdk.Rectangle (p1.X - positionWidget.Allocation.X, p1.Y - positionWidget.Allocation.Y, 1, int editor.LineHeight)
          tipWindow.ShowPopup(positionWidget, caret, MonoDevelop.Components.PopupPosition.Top)
          tipWindow :> Gtk.Window
  
      
  /// Implements "resolution" - looks for tool-tips at current locations
  type FSharpResolverProvider() =
  