method vterm t = match t.term_node with
    | TAddrOf tlv ->
        let ty = force_app_term_type pointed_type t.term_type in
        if isArrayType ty then
          let t' = { t with
            term_node = TStartOf tlv;
            term_type = Ctype (element_type ty);
          } in
          ChangeDoChildrenPost (t', fun x -> x)
        else DoChildren
    | _ -> DoChildren