Index: src/GenPoly/Box.cpp
===================================================================
--- src/GenPoly/Box.cpp	(revision 23a0e576c05e52bb5b5fa6de793cb5f1058fbcae)
+++ src/GenPoly/Box.cpp	(revision c4024b46e673f27fbe00a125abbcd49efa50c164)
@@ -1109,9 +1109,6 @@
 	);
 
-	for ( auto group : group_iterate( realType->assertions,
-			adapterType->assertions, adaptee->assertions ) ) {
-		auto assertArg = std::get<0>( group );
-		auto assertParam = std::get<1>( group );
-		auto assertReal = std::get<2>( group );
+	for ( auto const & [assertArg, assertParam, assertReal] : group_iterate(
+			realType->assertions, adapterType->assertions, adaptee->assertions ) ) {
 		adapteeApp->args.push_back( makeAdapterArg(
 			assertParam->var, assertArg->var->get_type(),
@@ -1970,7 +1967,6 @@
 	bool hasDynamicLayout = false;
 
-	for ( auto pair : group_iterate( baseParams, typeParams ) ) {
-		auto baseParam = std::get<0>( pair );
-		auto typeParam = std::get<1>( pair );
+	for ( auto const & [baseParam, typeParam] : group_iterate(
+			baseParams, typeParams ) ) {
 		if ( !baseParam->isComplete() ) continue;
 		ast::TypeExpr const * typeExpr = typeParam.as<ast::TypeExpr>();
