e
    (_:Token Numeral NumeralData{TNumeral.value = v}:_) ->
      double $ 1000 + v*100
    _ -> Nothing
  }

ruleTenThousandPrefix :: Rule
ruleTenThousandPrefix = Rule
  { name = "ten thousand and <integer> (short form)"
  , pattern =
    [ regex "万|萬"
    , numberBetween 1 10
    ]
  , prod = 
ruleThousandPrefix :: Rule
ruleThousandPrefix = Rule
  { name = "one thousand and <integer> (short form)"
  , pattern =
    [ regex "千|仟"
    , numberBetween 1 10
    ]
  , prod = \case
    (_:Token Numeral NumeralData{TNumeral.value = v}:_) ->
      double $ 1000 + v*100
    _ -> Nothing
  }
ruleThousandPrefix = Rule
  { name = "one thousand and <integer> (short form)"
  , pattern =
    [ regex "千|仟"
    , numberBetween 1 10
    ]
  , prod = \case
    (_:Token Numeral NumeralData{TNumeral.value = v}:_) ->
      double $ 1000 + v*100
    _ -> Nothing
  }