sig
  type dom
  type cod
  val f : Memo.Tabulate.Fun.dom -> (Memo.Tabulate.Fun.cod -> unit) -> unit
  val hash : Memo.Tabulate.Fun.dom -> int
  val join :
    Memo.Tabulate.Fun.cod -> Memo.Tabulate.Fun.cod -> Memo.Tabulate.Fun.cod
  val bottom : Memo.Tabulate.Fun.cod
  val dom_equal : Memo.Tabulate.Fun.dom -> Memo.Tabulate.Fun.dom -> bool
  val cod_equal : Memo.Tabulate.Fun.cod -> Memo.Tabulate.Fun.cod -> bool
end