functor (MetaLoc : META_LOC->
  sig
    module Expr :
      sig
        val meta_loc :
          Camlp4.PreCast.Loc.t ->
          Camlp4.PreCast.Loc.t -> Camlp4.PreCast.Ast.expr
        val meta_option :
          (Camlp4.PreCast.Ast.loc -> '-> Camlp4.PreCast.Ast.expr) ->
          Camlp4.PreCast.Ast.loc -> 'a option -> Camlp4.PreCast.Ast.expr
        val meta_string :
          Camlp4.PreCast.Ast.loc -> string -> Camlp4.PreCast.Ast.expr
        val meta_int :
          Camlp4.PreCast.Ast.loc -> string -> Camlp4.PreCast.Ast.expr
        val meta_float :
          Camlp4.PreCast.Ast.loc -> string -> Camlp4.PreCast.Ast.expr
        val meta_char :
          Camlp4.PreCast.Ast.loc -> string -> Camlp4.PreCast.Ast.expr
        val meta_bool :
          Camlp4.PreCast.Ast.loc -> bool -> Camlp4.PreCast.Ast.expr
        val meta_list :
          (Camlp4.PreCast.Ast.loc -> '-> Camlp4.PreCast.Ast.expr) ->
          Camlp4.PreCast.Ast.loc -> 'a list -> Camlp4.PreCast.Ast.expr
        val meta_binop :
          Camlp4.PreCast.Ast.loc ->
          Jslib_ast.binop -> Camlp4.PreCast.Ast.expr
        val meta_exp :
          Camlp4.PreCast.Ast.loc -> Jslib_ast.exp -> Camlp4.PreCast.Ast.expr
        val meta_stmt :
          Camlp4.PreCast.Ast.loc -> Jslib_ast.stmt -> Camlp4.PreCast.Ast.expr
        val meta_unop :
          Camlp4.PreCast.Ast.loc -> Jslib_ast.unop -> Camlp4.PreCast.Ast.expr
      end
    module Patt :
      sig
        val meta_loc :
          Camlp4.PreCast.Loc.t ->
          Camlp4.PreCast.Loc.t -> Camlp4.PreCast.Ast.patt
        val meta_option :
          (Camlp4.PreCast.Ast.loc -> '-> Camlp4.PreCast.Ast.patt) ->
          Camlp4.PreCast.Ast.loc -> 'a option -> Camlp4.PreCast.Ast.patt
        val meta_string :
          Camlp4.PreCast.Ast.loc -> string -> Camlp4.PreCast.Ast.patt
        val meta_int :
          Camlp4.PreCast.Ast.loc -> string -> Camlp4.PreCast.Ast.patt
        val meta_float :
          Camlp4.PreCast.Ast.loc -> string -> Camlp4.PreCast.Ast.patt
        val meta_char :
          Camlp4.PreCast.Ast.loc -> string -> Camlp4.PreCast.Ast.patt
        val meta_bool :
          Camlp4.PreCast.Ast.loc -> bool -> Camlp4.PreCast.Ast.patt
        val meta_list :
          (Camlp4.PreCast.Ast.loc -> '-> Camlp4.PreCast.Ast.patt) ->
          Camlp4.PreCast.Ast.loc -> 'a list -> Camlp4.PreCast.Ast.patt
        val meta_binop :
          Camlp4.PreCast.Ast.loc ->
          Jslib_ast.binop -> Camlp4.PreCast.Ast.patt
        val meta_exp :
          Camlp4.PreCast.Ast.loc -> Jslib_ast.exp -> Camlp4.PreCast.Ast.patt
        val meta_stmt :
          Camlp4.PreCast.Ast.loc -> Jslib_ast.stmt -> Camlp4.PreCast.Ast.patt
        val meta_unop :
          Camlp4.PreCast.Ast.loc -> Jslib_ast.unop -> Camlp4.PreCast.Ast.patt
      end
  end