Sourcetype nonrec 'a t = ('a, 'a, int, int) t Sourceval create : ?n:int -> unit -> 'a t Sourceval add : 'a t -> 'a -> int -> unit Sourceval tick : 'a t -> 'a -> unit Sourceval stream : 'a t -> ('a * int) Stream.t Sourceval of_stream : 'a Stream.t -> 'a t Sourceval to_alist : 'a t -> ('a * int) list