F.Astval size_ty : size Costlang.Ty.ttype _ t = | Size : Costlang.Num.t -> size t| Bool : bool -> bool t| Unop : unop * size t -> size t| Binop_size : binop_size * size t * size t -> size t| Binop_bool : binop_bool * size t * size t -> bool t| Shift : [ `Left | `Right ] * size t * int -> size t| Free : Free_variable.t -> size t| Lam : string * 'a Costlang.Ty.t * 'b t -> ('a -> 'b) t| App : ('a -> 'b) t * 'a t -> 'b t| Let : string * 'a t * 'b t -> 'b t| If : bool t * size t * size t -> size t| Variable : string * 'a Costlang.Ty.t -> 'a tval term_size : 'a. 'a t -> intval type_of : 'a t -> 'a Costlang.Ty.tval pp : Stdlib.Format.formatter -> _ t -> unitval to_expression : _ t -> Parsetree.expressionTo OCaml parsetree
Existentials
val unpack : 'a Costlang.Ty.t -> packed -> 'a t optionOptimizations