anchor.diff:              | NormalMode, [ Action action ] -> wait
               | NormalMode, [ "g"; "g" ] -> [ run Move StartOfDocument ]
               | NormalMode, [ "." ] -> [ run RepeatLastAction Nothing ]
  -            | NormalMode, [ "g"; "d" ] -> wait
  +            | NormalMode, [ "g" ] -> wait
               | NormalMode, [ ";" ] -> [ run RepeatLastFindCommand Nothing ]
  -
  -            | NormalMode, [ _; _; _; _ ] -> [ run ResetKeys Nothing ]
  +            | _         , _ :: _ :: _ :: _ :: t -> [ run ResetKeys Nothing ]
               | _ -> []
           multiplier, action, newState
   
  
positive.code:             match mode with
              | NormalMode -> 
                  textEditorData.Caret.Mode <- CaretMode.Block
                  { vimState with mode = mode }
              | VisualMode -> 
                  textEditorData.Caret.Mode <- CaretMode.Block
                  { vimState with mode = mode }
              | InsertMode ->
                  textEditorData.Caret.Mode <- CaretMode.Insert
                  { vimState with mode = mode; keys = [] }
          | _ -> vimState
  
  
negative.code:         let action =
              match state.mode, keyList with
              | InsertMode, [ "<esc>" ] -> [ run (SwitchMode NormalMode) Nothing ]
              | VisualMode, [ "<esc>" ] -> [ run (SwitchMode NormalMode) Nothing ]
              | NormalMode, [ Movement m ] -> [ run Move m ]
              | VisualMode, [ Movement m ] -> [ run Move m ]
              | NormalMode, [ FindChar m; c ] -> [ run Move (m c) ]
              | NormalMode, [ ";" ] -> match state.findCharCommand with Some command -> [ command ] | None -> []
              | NormalMode, [ "c"; Movement m ] -> [ run Delete m; run (SwitchMode InsertMode) Nothing ]
  