sig exception Error of string type t = int val of_ascii : char -> t val to_ascii : t -> char val of_probability : ?f:(float -> int) -> float -> t val to_probability : t -> float end