sig
module T : DATA
type t = T.t
val create : cnt:int -> exp:float -> Data.S.t
val count : Data.S.t -> int
val expect : Data.S.t -> float
val update :
cnt:int ->
exp:float ->
update_rule:Update_rules.Update_fn.t ->
prior_count:('a -> int) ->
prior_exp:('a -> float) -> 'a -> Data.S.t option -> Data.S.t
end