def u32.dig
import bend-net-json@0.3.0.0/json.bend as Jsonimport Base
539def u32.dig(s: String, +acc: U32, bad: Bool) -> Maybe<&2, U32>:
540 match s:
541 case SNil{}:
542 match bad:
543 case True{}:
544 None{}
545 case False{}:
546 Some{acc}
547 case SCon{Chr{+c}, t}:
548 u32.dig(t, (acc * 10 + (c - 48 : U32) : U32), Bool.or(bad, Bool.or(Bool.not(digit(c)), u32.over(acc, c))))