Index: src/InitTweak/InitTweak.cc
===================================================================
--- src/InitTweak/InitTweak.cc	(revision ca9d65e54b7ed187b75dfe016b8d4e2debd19fa4)
+++ src/InitTweak/InitTweak.cc	(revision be100795327fa2f8e243b578f49574d6eef346ba)
@@ -189,4 +189,6 @@
 			if ( stmts.empty() ) {
 				return {};
+			} else if ( 1 == stmts.size() ) {
+				return std::move( stmts.front() );
 			} else {
 				auto block = new ast::CompoundStmt{ init->location, std::move( stmts ) };
@@ -387,15 +389,10 @@
 
 bool isDesignated( const ast::Init * init ) {
-//	return ( init ) ? ast::Pass<HasDesignations>::read( init ) : false;
-	ast::Pass<HasDesignations> finder;
-	maybe_accept( init, finder );
-	return finder.core.result;
+	return ( init ) ? ast::Pass<HasDesignations>::read( init ) : false;
 }
 
 bool checkInitDepth( const ast::ObjectDecl * objDecl ) {
-//	return ( objDecl->init ) ? ast::Pass<InitDepthChecker::read( objDecl->init, objDecl->type ) : true;
-	ast::Pass<InitDepthChecker> checker( objDecl->type );
-	maybe_accept( objDecl->init.get(), checker );
-	return checker.core.result;
+	return ( objDecl->init ) ? ast::Pass<InitDepthChecker>::read(
+		objDecl->init.get(), objDecl->type.get() ) : true;
 }
 
