anchor.diff:              | NormalMode, [ "g"; "g" ] -> [ run Move StartOfDocument ]
               | NormalMode, [ "." ] -> [ run RepeatLastAction Nothing ]
               | NormalMode, [ "g"; "d" ] -> wait
  +            | NormalMode, [ ";" ] -> [ run RepeatLastFindCommand Nothing ]
               | NormalMode, [ _; _; _; _ ] -> [ run ResetKeys Nothing ]
               | _ -> []
  -        multiplier, action
  +        multiplier, action, newState
   
       let handleKeyPress state (keyPress:KeyDescriptor) editorData =
           let newKeys =
  
positive.code:     | InsertLineAbove
      | InsertLineBelow
      | RepeatLastAction
      | ResetKeys
      | DoNothing
  
  
negative.code:     keys: string list
      mode: VimMode
      desiredColumn: int // If we move up/down, which column did we start at?
      findCharCommand: VimAction option
      lastAction: VimAction list // used by . command to repeat the last action
  }
  
  