functor (X : sig type 'a t end->
  sig
    type pack
    val pack :
      'Camlp4.Sig.DynAst.tag -> 'X.t -> Camlp4.Sig.DynAst.Pack.pack
    val unpack :
      'Camlp4.Sig.DynAst.tag -> Camlp4.Sig.DynAst.Pack.pack -> 'X.t
    val print_tag : Format.formatter -> Camlp4.Sig.DynAst.Pack.pack -> unit
  end