Current enum has bug when use as a reference as in ?++. Change TranslateEnumRange to use succ and pred instead. Will look back into the reference problem