let cast_switch meth refine =
let update_klass klass = get_tname klass in
let update_dispatch (klass, uid) = (get_tname klass, to_rname uid meth refine) in
let update_test klass = get_tname klass in
function
| Switch(klass, cases, uid) -> Switch(update_klass klass, List.map update_dispatch cases, to_dispatch uid meth refine)
| Test(klass, klasses, uid) -> Test(update_klass klass, List.map update_test klasses, to_dispatch uid meth refine)