enumer gen object cl set re hash set model facad generaliz element cl accumul ancestor cl re collect enumer re 