anchor.diff:              | NormalMode, [ ModeChange mode ] -> [ run (SwitchMode mode) Nothing ]
               | NormalMode, [ "a" ] -> [ run Move Right; run (SwitchMode InsertMode) Nothing ]
               | NormalMode, [ "A" ] -> [ run Move EndOfLine; run (SwitchMode InsertMode) Nothing ]
  +            | NormalMode, [ "o" ] -> [ run InsertLineBelow Nothing; run (SwitchMode InsertMode) Nothing ]
               | NormalMode, [ Action action ] -> wait
               | NormalMode, ["g"; "d"] -> wait
               | _ -> []
  
positive.code:     | Change
      | SwitchMode of VimMode
      | Undo
      | DoNothing
  
  type TextObject =
  
negative.code:                         newState, true
              performActions actions newState false
  
      let mutable vimState = { keys=[]; mode=NormalMode; desiredColumn=0; findChar=None }
  
      override x.Initialize() =
  