anchor.diff:          | "c" -> Some Change
           | "v" -> Some Visual
           | "y" -> Some Yank
  -        | "g" -> Some Go
           | _ -> None
   
       let (|ModeChange|_|) character =
  
positive.code: open MonoDevelop.Ide.Editor.Extension
  open Mono.TextEditor
  open MonoDevelop.Core
  
  type BeforeOrAfter = Before | After
  
  
negative.code:             | InsertLine Before -> MiscActions.InsertNewLineAtEnd editor
              | InsertLine After -> editor.Caret.Column <- 1; MiscActions.InsertNewLine editor; CaretMoveActions.Up editor
              | GoToDeclaration -> dispatch "MonoDevelop.Refactoring.RefactoryCommands.GotoDeclaration"
              | NextTab -> dispatch WindowCommands.PrevDocument
              | PreviousTab -> dispatch WindowCommands.NextDocument
              | _ -> ()
  
          match command.commandType with
  