method vexpr e = match e.enode with
    | CastE(ty,e) when isPointerType ty ->
        let enocast = stripCastsAndInfo e in
        let ety = typeOf enocast in
        if isPointerType ety then
          unify_type_hierarchies ty ety
        else ();
        DoChildren
    | _ -> DoChildren