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)