Module Type.Translate

module Translate: sig .. end

val param : Camlp4.PreCast.Ast.ctyp -> string * [> `Minus | `Plus ] option
val params : Camlp4.PreCast.Ast.ctyp list -> (string * [> `Minus | `Plus ] option) list
val split_and : Camlp4.PreCast.Ast.ctyp ->
(Camlp4.PreCast.Ast.ctyp * Camlp4.PreCast.Ast.ctyp, Camlp4.PreCast.Ast.ctyp)
Utils.either
val split_comma : Camlp4.PreCast.Ast.ctyp ->
(Camlp4.PreCast.Ast.ctyp * Camlp4.PreCast.Ast.ctyp, Camlp4.PreCast.Ast.ctyp)
Utils.either
val split_semi : Camlp4.PreCast.Ast.ctyp ->
(Camlp4.PreCast.Ast.ctyp * Camlp4.PreCast.Ast.ctyp, Camlp4.PreCast.Ast.ctyp)
Utils.either
val split_or : Camlp4.PreCast.Ast.ctyp ->
(Camlp4.PreCast.Ast.ctyp * Camlp4.PreCast.Ast.ctyp, Camlp4.PreCast.Ast.ctyp)
Utils.either
val split_amp : Camlp4.PreCast.Ast.ctyp ->
(Camlp4.PreCast.Ast.ctyp * Camlp4.PreCast.Ast.ctyp, Camlp4.PreCast.Ast.ctyp)
Utils.either
val split_ofamp : Camlp4.PreCast.Ast.ctyp ->
(Camlp4.PreCast.Ast.ctyp * Camlp4.PreCast.Ast.ctyp, Camlp4.PreCast.Ast.ctyp)
Utils.either
val split_star : Camlp4.PreCast.Ast.ctyp ->
(Camlp4.PreCast.Ast.ctyp * Camlp4.PreCast.Ast.ctyp, Camlp4.PreCast.Ast.ctyp)
Utils.either
val list : (Camlp4.PreCast.Ast.ctyp -> 'a) ->
(Camlp4.PreCast.Ast.ctyp ->
(Camlp4.PreCast.Ast.ctyp * Camlp4.PreCast.Ast.ctyp, Camlp4.PreCast.Ast.ctyp)
Utils.either) ->
Camlp4.PreCast.Ast.ctyp -> 'a list
val ident : Camlp4.PreCast.Ast.ident -> Type.name
val qident : Camlp4.PreCast.Ast.ident -> Type.qname
type vmap = (Type.name * Type.variant * Type.name option) list 
val fresh_name : unit -> string
val set_name_prefix : Type.name -> unit
module WithParams: 
functor (P : sig
val params : Type.param list
end-> sig .. end
type alias_map = Type.expr Type.NameMap.t 
val build_alias_map : (Type.NameMap.key * Type.expr) option list -> alias_map
val split : Camlp4.PreCast.Ast.ctyp -> Camlp4.PreCast.Ast.ctyp list
val decl : Camlp4.PreCast.Ast.ctyp -> Type.decl list * alias_map
val substitute_aliases : alias_map -> Type.decl -> Type.decl
val decls : Camlp4.PreCast.Ast.ctyp -> Type.decl list