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:             | NotInsertMode, [ Action _; FindChar _; ] -> wait
              | NormalMode, [ "g"; "g" ] -> [ run Move StartOfDocument ]
              | NormalMode, [ "g"; "d" ] -> [ run GoToDeclaration Nothing ]
              | NormalMode, [ "g"; "t" ] -> [ run NextTab Nothing ]
              | NormalMode, [ "g"; "T" ] -> [ run PreviousTab Nothing ]
              | NormalMode, [ "g" ] -> wait
              | NormalMode, [ "." ] -> [ run RepeatLastAction Nothing ]
              | NormalMode, [ ";" ] -> match state.findCharCommand with Some command -> [ command ] | None -> []
  