functor (Info : sig type 'a t end->
  sig
    type t
    val create : int -> Type.Ty_tbl.t
    val add : Type.Ty_tbl.t -> 'Type.ty -> 'Info.t -> unit
    val find : Type.Ty_tbl.t -> 'Type.ty -> 'Info.t
  end