functor (N : Numeric.S) -> sig type t = N.t val gen : ?g:g -> t -> t val gen_r : ?g:g -> t -> t -> t val gen_bits : ?g:g -> ?msb:int -> int -> t end