added function occurs and support function get_Tvar_t for unify