Matches only decimal digits; how many (hi -1: no limit).
digit_run :: (node: *Node) -> (ok: bool, lo: int, hi: int)