Module Type_expr

module Type_expr: sig .. end

type t = {
   te_desc : te_desc;
   mutable te_typ : Types.typ;
}
type te_desc = 
| TEBool
| TEInt of int_annot
| TEFloat
| TEChar
| TEEvent
| TEName of string
| TEArray of type_index_expr * t
type int_annot = 
| TA_none
| TA_size of type_index_expr
| TA_range of type_index_expr * type_index_expr
type type_index_expr = 
| TEConst of int
| TEVar of string
| TEBinop of string * type_index_expr * type_index_expr
val string_of_type_index : type_index_expr -> string
val string_of_int_annot : int_annot -> string
val string_of_type_expr : t -> string