let rec has_type e = function
| Ctype ty ->
begin
match object_of ty with
| C_int i -> has_type_int i e
| C_array _ -> F.p_true
| C_comp _ -> F.p_true
| C_float _| C_pointer _ -> F.p_true
end
| (Ltype _ | Linteger | Lreal | Lvar _ | Larrow _ ) -> F.p_true