Index: src/ControlStruct/TranslateEnumRange.cpp
===================================================================
--- src/ControlStruct/TranslateEnumRange.cpp	(revision 5ccc7336506cd07739e57f3df639075f216ba4fb)
+++ src/ControlStruct/TranslateEnumRange.cpp	(revision bc48c0d2a69ed59cb73030a516c35a7450cd60f0)
@@ -27,5 +27,4 @@
 
         auto objInit = stmt->inits.front();
-
         auto initLocation = objInit->location;
         auto rangeLocation = stmt->range_over->location;
@@ -61,8 +60,8 @@
                 if ( !objDecl->init ) {
                     auto location = stmt->location;
-                    ast::SingleInit * newInit;
-                    newInit = new ast::SingleInit( location, 
+                    // auto newInit = new ast::SingleInit( location, new ast::NameExpr( location, enumDecl->members.front()->name ) );
+                    ast::SingleInit * newInit = new ast::SingleInit( location, 
                         new ast::NameExpr( location, 
-                        stmt->is_inc? enumDecl->members.front()->name: enumDecl->members.back()->name ) );
+                           stmt->is_inc? enumDecl->members.front()->name: enumDecl->members.back()->name ) );
                     auto objDeclWithInit = ast::mutate_field( objDecl, &ast::ObjectDecl::init, newInit );
                     auto declWithInit = ast::mutate_field( declStmt, &ast::DeclStmt::decl, objDeclWithInit );
@@ -85,5 +84,5 @@
     auto enumInst = typeExpr->type.strict_as<ast::EnumInstType>();
     auto enumDecl = enumInst->base;
-    
+
     // Both inc and dec check if the current posn less than the number of enumerator
     // for dec, it keeps call pred until it passes 0 (the first enumerator) and underflow,
@@ -93,12 +92,11 @@
         {new ast::CastExpr(location,
             new ast::NameExpr( location, indexName ),
-            new ast::BasicType( ast::BasicKind::UnsignedInt ),
-            ast::GeneratedFlag::ExplicitCast),
+            new ast::BasicType( ast::BasicKind::UnsignedInt 
+        ),ast::GeneratedFlag::ExplicitCast),
         ast::ConstantExpr::from_ulong( location, enumDecl->members.size()-1 ) });
-
     auto increment = ast::UntypedExpr::createCall( location, 
-        stmt->is_inc? "?++": "?--",
-        { new ast::NameExpr( location, indexName ) });
-    
+        stmt->is_inc? "succ": "pred",{
+        new ast::NameExpr( location, indexName )
+    });
     auto assig = ast::UntypedExpr::createAssign( location, new ast::NameExpr( location, indexName ), increment );
     auto mut = ast::mutate_field( stmt, &ast::ForStmt::cond, condition );
