Index: src/InitTweak/InitTweak.cc
===================================================================
--- src/InitTweak/InitTweak.cc	(revision 116d7e2f7be544454d2cc0ae3848e805c371f0c8)
+++ src/InitTweak/InitTweak.cc	(revision 58c5821c0de1fbb02e91546c9adf1700666b2f9f)
@@ -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;
 }
 
