Index: src/Parser/DeclarationNode.cc
===================================================================
--- src/Parser/DeclarationNode.cc	(revision 4a72fef647d91f5a47166fb7d5feb91567da5c24)
+++ src/Parser/DeclarationNode.cc	(revision 1cfe640dd169620472275bd588873b6a77d54e6e)
@@ -457,5 +457,5 @@
 		SemanticWarning( yylloc, Warning::BadQualifiersZeroOne, TypeData::builtinTypeNames[builtin] );
 	} // if
-	type = ::addQualifiers( q->type, type );
+	type = ::addQualifiers( type, q->type );
 	q->type = nullptr;
 
@@ -470,5 +470,5 @@
 	copySpecifiers( o, copyattr );
 	if ( o->type ) {
-		type = ::addType( o->type, type, o->attributes );
+		type = ::addType( type, o->type, o->attributes );
 		o->type = nullptr;
 	} // if
Index: src/Parser/TypeData.cc
===================================================================
--- src/Parser/TypeData.cc	(revision 4a72fef647d91f5a47166fb7d5feb91567da5c24)
+++ src/Parser/TypeData.cc	(revision 1cfe640dd169620472275bd588873b6a77d54e6e)
@@ -576,16 +576,16 @@
 
 // Takes ownership of all arguments, gives ownership of return value.
-TypeData * addQualifiers( TypeData * ltype, TypeData * rtype ) {
-	if ( ltype->forall ) {
-		if ( rtype->forall || TypeData::Aggregate != rtype->kind ) {
-			extend( rtype->forall, ltype->forall );
+TypeData * addQualifiers( TypeData * dst, TypeData * src ) {
+	if ( src->forall ) {
+		if ( dst->forall || TypeData::Aggregate != dst->kind ) {
+			extend( dst->forall, src->forall );
 		} else {
-			extend( rtype->aggregate.params, ltype->forall );
+			extend( dst->aggregate.params, src->forall );
 		}
-		ltype->forall = nullptr;
+		src->forall = nullptr;
 	}
 
-	addQualifiersToType( rtype, ltype );
-	return rtype;
+	addQualifiersToType( dst, src );
+	return dst;
 }
 
@@ -657,20 +657,20 @@
 
 // Takes ownership of all arguments, gives ownership of return value.
-TypeData * addType( TypeData * ltype, TypeData * rtype, std::vector<ast::ptr<ast::Attribute>> & attributes ) {
-	if ( rtype ) {
-		addTypeToType( rtype, ltype );
-	} else if ( ltype->kind == TypeData::Aggregate ) {
+TypeData * addType( TypeData * dst, TypeData * src, std::vector<ast::ptr<ast::Attribute>> & attributes ) {
+	if ( dst ) {
+		addTypeToType( dst, src );
+	} else if ( src->kind == TypeData::Aggregate ) {
 		// Hide type information aggregate instances.
-		rtype = makeInstance( ltype );
-		rtype->aggInst.aggregate->aggregate.attributes.swap( attributes );
+		dst = makeInstance( src );
+		dst->aggInst.aggregate->aggregate.attributes.swap( attributes );
 	} else {
-		rtype = ltype;
+		dst = src;
 	} // if
-	return rtype;
-}
-
-TypeData * addType( TypeData * ltype, TypeData * rtype ) {
+	return dst;
+}
+
+TypeData * addType( TypeData * dst, TypeData * src ) {
 	std::vector<ast::ptr<ast::Attribute>> attributes;
-	return addType( ltype, rtype, attributes );
+	return addType( dst, src, attributes );
 }
 
