sig
  module Ast : Ast
  type 'a tag
  val ctyp_tag : Camlp4.Sig.Ast.ctyp Camlp4.Sig.DynAst.tag
  val patt_tag : Camlp4.Sig.Ast.patt Camlp4.Sig.DynAst.tag
  val expr_tag : Camlp4.Sig.Ast.expr Camlp4.Sig.DynAst.tag
  val module_type_tag : Camlp4.Sig.Ast.module_type Camlp4.Sig.DynAst.tag
  val sig_item_tag : Camlp4.Sig.Ast.sig_item Camlp4.Sig.DynAst.tag
  val with_constr_tag : Camlp4.Sig.Ast.with_constr Camlp4.Sig.DynAst.tag
  val module_expr_tag : Camlp4.Sig.Ast.module_expr Camlp4.Sig.DynAst.tag
  val str_item_tag : Camlp4.Sig.Ast.str_item Camlp4.Sig.DynAst.tag
  val class_type_tag : Camlp4.Sig.Ast.class_type Camlp4.Sig.DynAst.tag
  val class_sig_item_tag :
    Camlp4.Sig.Ast.class_sig_item Camlp4.Sig.DynAst.tag
  val class_expr_tag : Camlp4.Sig.Ast.class_expr Camlp4.Sig.DynAst.tag
  val class_str_item_tag :
    Camlp4.Sig.Ast.class_str_item Camlp4.Sig.DynAst.tag
  val match_case_tag : Camlp4.Sig.Ast.match_case Camlp4.Sig.DynAst.tag
  val ident_tag : Camlp4.Sig.Ast.ident Camlp4.Sig.DynAst.tag
  val binding_tag : Camlp4.Sig.Ast.binding Camlp4.Sig.DynAst.tag
  val rec_binding_tag : Camlp4.Sig.Ast.rec_binding Camlp4.Sig.DynAst.tag
  val module_binding_tag :
    Camlp4.Sig.Ast.module_binding Camlp4.Sig.DynAst.tag
  val string_of_tag : 'Camlp4.Sig.DynAst.tag -> string
  module Pack :
    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
end