anchor.diff:      | InnerSentence
       | AParagraph
       | InnerParagraph
  -    | ABlock of char * char
  -    | InnerBlock of char * char
  +    | ABlock of string * string
  +    | InnerBlock of string * string
       | WholeLine
       // motions
       | Up
  
positive.code:         | StartOfLine -> editor.Caret.Offset, line.Offset
          | FirstNonWhitespace -> editor.Caret.Offset, line.Offset + editor.GetLineIndent(editor.Caret.Line).Length
          | WholeLine -> line.Offset, line.EndOffset
          | FindCharBackwards c ->
              match findCharBackwardsOnLine editor line c with
              | Some index -> editor.Caret.Offset, index
              | None -> editor.Caret.Offset, editor.Caret.Offset
  
negative.code: open MonoDevelop.Ide.Editor
  open MonoDevelop.Ide.Editor.Extension
  open Mono.TextEditor
  open MonoDevelop.Core
  
  
  type VimMode =
      | NormalMode
      | VisualMode
      | InsertMode
  
  type CommandType =
      | Move
      | Visual
      | Delete
      | Change
      | SwitchMode of VimMode
      | DoNothing
  
  type TextObject =
  