functor (X : sig type 'a t end) ->
  sig
    type pack =
        Camlp4.Struct.DynAst.Make.dyn Camlp4.Struct.DynAst.Make.tag * Obj.t
    exception Pack_error
    val pack :
      'a Camlp4.Struct.DynAst.Make.tag ->
      'b ->
      Camlp4.Struct.DynAst.Make.dyn Camlp4.Struct.DynAst.Make.tag * Obj.t
    val unpack :
      'a Camlp4.Struct.DynAst.Make.tag ->
      Camlp4.Struct.DynAst.Make.dyn Camlp4.Struct.DynAst.Make.tag * Obj.t ->
      'a X.t
    val print_tag :
      Format.formatter -> 'a Camlp4.Struct.DynAst.Make.tag * 'b -> unit
  end