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