anchor.diff:              | NormalMode, [ "u" ] -> [ run Undo Nothing ]
               | NormalMode, [ "d"; "d" ] -> [ run Delete WholeLine ]
               | NormalMode, [ "c"; "c" ] -> [ run Delete WholeLine; run (SwitchMode InsertMode) Nothing ]
  +            | NormalMode, [ "y"; "y" ] -> [ run Yank WholeLine ]
               | NormalMode, [ "C" ] -> [ run Delete EndOfLine; run (SwitchMode InsertMode) Nothing ]
               | NormalMode, [ "D" ] -> [ run Delete EndOfLine ]
               | NormalMode, [ "x" ] -> [ run Delete CurrentLocation ]
  
positive.code: type CommandType =
      | Move
      | Visual
      | Delete
      | Change
      | Go
  
negative.code:                     | _ -> finish
                  editor.SetSelection(start, finish)
                  ClipboardActions.Cut editor
              | Yank ->
                  let finish =
                      match command.textObject with
                      | ForwardToEndOfWord -> finish + 1
                      | _ -> finish
                  editor.SetSelection(start, finish)
                  ClipboardActions.Copy editor
                  editor.ClearSelection()
              | Visual -> editor.SetSelection(start, finish)
              | Undo -> MiscActions.Undo editor
              | InsertLineBelow -> MiscActions.InsertNewLineAtEnd editor
  