val create : ?max_history:int ‑> (unit ‑> 'a Async.Pipe.Reader.t Async.Deferred.t) ‑> 'a t
val prev : 'a t ‑> 'a Core.Or_error.t Async.Deferred.t
val next : 'a t ‑> 'a Core.Or_error.t Async.Deferred.t
val zip : 'a t ‑> [ `next | `prev ] ‑> int ‑> 'a Core.Or_error.t Async.Deferred.t
val find : 'a t ‑> f:('a ‑> bool) ‑> 'a Core.Or_error.t Async.Deferred.t
val find_rev : 'a t ‑> f:('a ‑> bool) ‑> 'a Core.Or_error.t Async.Deferred.t
val find_first_larger_or_equal : 'a t ‑> compare_with_target:('a ‑> int) ‑> 'a Core.Or_error.t Async.Deferred.t