sig
  module Array : sig val set : 'a array -> int -> 'a -> unit end
  module Hashtbl :
    sig
      type ('a, 'b) t
      val create : int -> ('a, 'b) Facile.Data.Hashtbl.t
      val get : ('a, 'b) Facile.Data.Hashtbl.t -> ('a, 'b) Hashtbl.t
      val add : ('a, 'b) Facile.Data.Hashtbl.t -> 'a -> 'b -> unit
      val find : ('a, 'b) Facile.Data.Hashtbl.t -> 'a -> 'b
      val mem : ('a, 'b) Facile.Data.Hashtbl.t -> 'a -> bool
      val remove : ('a, 'b) Facile.Data.Hashtbl.t -> 'a -> unit
      val replace : ('a, 'b) Facile.Data.Hashtbl.t -> 'a -> 'b -> unit
      val iter : ('a -> 'b -> unit) -> ('a, 'b) Facile.Data.Hashtbl.t -> unit
      val fold :
        ('a -> 'b -> 'c -> 'c) -> ('a, 'b) Facile.Data.Hashtbl.t -> 'c -> 'c
    end
end