`sig type discrete val to_int : BatNumber.Discrete.discrete -> int val succ : BatNumber.Discrete.discrete -> BatNumber.Discrete.discrete val pred : BatNumber.Discrete.discrete -> BatNumber.Discrete.discrete val ( -- ) : BatNumber.Discrete.discrete -> BatNumber.Discrete.discrete -> BatNumber.Discrete.discrete BatEnum.t val ( --- ) : BatNumber.Discrete.discrete -> BatNumber.Discrete.discrete -> BatNumber.Discrete.discrete BatEnum.t end`