anchor.diff:                  getOutliningRanges tree
                   |> Seq.filter (fun sr-> sr.Range.StartLine <> sr.Range.EndLine)
                   |> Seq.map (fun r ->  r.Range.StartLine, r.Range.StartColumn, r.Range.EndLine, r.Range.EndColumn)
  -                |> Seq.iter (printfn "%A")
  +                |> Seq.iter (fun x -> printfn "%s" <| string x)
           | None -> failwithf "Expected there to be a parse tree for source:\n%s" source
       with _ ->
           printfn "Parse of string into AST failed\nAST:\n%+A" ast
  
positive.code:     interface IDisposable with
          member __.Dispose() =
              (docEventListener :> IDisposable).Dispose()
  """
      => [ 2, 10, 10, 55
           8, 25, 10, 55
           (9, 15, 10, 55)
           (9, 27, 10, 55)]
  
  [<Test>]
  let ``type with a do block``() =
  
negative.code:                     (docEventListener :> IDisposable).Dispose()
  """ 
      //|> parseTree
      => [ (2, 15, 27, 63)  // MyModule
           (4, 13, 5, 10)
           (7, 14, 15, 59)  // Color
           (8, 8, 11, 9)
           (13, 29, 15, 59)
           (14, 19, 15, 59)
           (14, 31, 15, 59)  // MyInnerModule
           (17, 24, 27, 63)  // RecordColor
           (19, 24, 27, 63)
           (20, 12, 23, 13)
           (25, 33, 27, 63)
           (26, 23, 27, 63)
           (26, 35, 27, 63)]
      
  