sig
  type ('a, 'b) t = ('a, 'b) Biocaml_accu.relation
  val create : ?n:int -> unit -> ('a, 'b) Biocaml_accu.Relation.t
  val add : ('a, 'b) Biocaml_accu.Relation.t -> '-> '-> unit
  val stream : ('a, 'b) Biocaml_accu.relation -> ('a * 'b list) Stream.t
  val of_stream : ('a * 'b) Stream.t -> ('a, 'b) Biocaml_accu.relation
end