sig
  type reg_kind_t =
      [ `reglex of string * string * string | `regmatch of string * string ]
  val regen :
    Buffer.t ->
    Flx_ast.range_srcref ->
    Flx_types.regular_args_t ->
    Flx_regen.reg_kind_t -> (Flx_types.tbexpr_t -> string) -> unit
end