anchor.diff:          else
               None
   
  +    let (|OneToNine|_|) character =
  +        if character > '1' && character < '9' then
  +            Some (CharUnicodeInfo.GetDecimalDigitValue character)
  +        else
  +            None
  +
       let (|Movement|_|) character =
           match character with
           | 'h' -> Some Left
           | 'j' -> Some Down
           | 'k' -> Some Up
           | 'l' -> Some Right
  +        | '$' -> Some EndOfLine
  +        | '^' -> Some StartOfLine
  +        | '0' -> Some StartOfLine
  +        | '_' -> Some FirstNonWhitespace
           | _ -> None
   
       let (|Action|_|) character =
  
positive.code: 
          let multiplier, keyList =
              match keyList with
              | Digit d1 :: Digit d2 :: Digit d3 :: Digit d4 :: t -> Some(d1 * 1000 + d2 * 100 + d3 * 10 + d4), t
              | Digit d1 :: Digit d2 :: Digit d3 :: t -> Some (d1 * 100 + d2 * 10 + d3), t
              | Digit d1 :: Digit d2 :: t -> Some (d1 * 10 + d2), t
              | Digit d :: t -> Some d,t
              | _ -> None, keyList
  
          let action =
  
negative.code:     | Down
      | Left
      | Right
      | FirstNonWhitespace
      | StartOfLine
      | EndOfLine
      | ToCharInclusive of c:char
      | ToCharExclusive of c:char
      | WordForwards of c:char
  