anchor.diff:              | NormalMode, [ "C" ] -> [ run Change EndOfLine ]
               | NormalMode, [ "D" ] -> [ run Delete EndOfLine ]
               | NormalMode, [ "x" ] -> [ run Delete CurrentLocation; run Move EnsureCursorBeforeDelimiter ]
  +            | NormalMode, [ "X" ] -> [ run DeleteLeft Nothing ]
               | NormalMode, [ "s"] -> [ run Delete CurrentLocation; run Move EnsureCursorBeforeDelimiter; switchMode InsertMode ]
               | NormalMode, [ "p" ] -> [ run (Put After) Nothing ]
               | NormalMode, [ "P" ] -> [ run (Put Before) Nothing ]
  
positive.code:                     | _ -> ()
                      vimState
                  | Delete -> delete vimState start finish
                  | Change -> 
                      let state = delete vimState start finish
                      switchToInsertMode state
  
negative.code:     | Yank
      | Put of BeforeOrAfter
      | Delete
      | DeleteLeft
      | BlockInsert
      | Change
      | SwitchMode of VimMode
  