sig
  val create : int -> ('a, 'b) Sprite.table
  val add : ('a, 'b) Sprite.table -> 'a -> 'b Sprite.t -> unit
  val del : ('a, 'b) Sprite.table -> 'a -> unit
  val clear : ('a, 'b) Sprite.table -> unit
  val iter : ('a -> 'b Sprite.t -> unit) -> ('a, 'b) Sprite.table -> unit
  val iter_data :
    ('a -> 'b Sprite.t -> 'b -> unit) -> ('a, 'b) Sprite.table -> unit
  val fold :
    ('a -> 'b Sprite.t -> 'c -> 'c) -> ('a, 'b) Sprite.table -> 'c -> 'c
  val fold_data :
    ('a -> 'b Sprite.t -> 'b -> 'c -> 'c) ->
    ('a, 'b) Sprite.table -> 'c -> 'c
  val find : ('a, 'b) Sprite.table -> 'a -> 'b Sprite.t
  val set : ('a, 'b) Sprite.table -> 'b Sprite.set
end