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