Index: src/InitTweak/GenInit.cpp
===================================================================
--- src/InitTweak/GenInit.cpp	(revision e6491ca99dda0765fbc62f8668f0c6c71710b020)
+++ src/InitTweak/GenInit.cpp	(revision 1ee74df6749176dd405cc6c28df1405beb491b8a)
@@ -164,20 +164,16 @@
 				ast::ObjectDecl * arrayDimension = nullptr;
 
-				const ast::TypeExpr * ty = dynamic_cast< const ast::TypeExpr * >( arrayType->dimension.get() );
-				if ( ty ) {
+				if ( auto ty = dynamic_cast< const ast::TypeExpr * >( arrayType->dimension.get() ) ) {
 					auto inst = ty->type.as<ast::EnumInstType>();
-					if ( inst ) {
-						if ( inst->base->isCfa ) {
-							arrayDimension = new ast::ObjectDecl(
+					if ( inst && !inst->base->is_c_enum() ) {
+						arrayDimension = new ast::ObjectDecl(
+							arrayType->dimension->location,
+							dimensionName.newName(),
+							new ast::BasicType( ast::BasicKind::UnsignedChar ),
+							new ast::SingleInit(
 								arrayType->dimension->location,
-								dimensionName.newName(),
-								new ast::BasicType( ast::BasicKind::UnsignedChar ),
-								new ast::SingleInit(
-									arrayType->dimension->location,
-									ast::ConstantExpr::from_int( arrayType->dimension->location, inst->base->members.size() )
-								)
-							);
-							// return arrayType;
-						}
+								ast::ConstantExpr::from_int( arrayType->dimension->location, inst->base->members.size() )
+							)
+						);
 					}
 				}
