Index: src/ResolvExpr/CandidateFinder.cpp
===================================================================
--- src/ResolvExpr/CandidateFinder.cpp	(revision b9fa85b6bb101567c376a002614067feab620b7b)
+++ src/ResolvExpr/CandidateFinder.cpp	(revision 98e8b3bff3b5c212f4724bd051ba614a77a1be19)
@@ -816,5 +816,5 @@
 		/// Adds aggregate member interpretations
 		void addAggMembers(
-			const ast::ReferenceToType * aggrInst, const ast::Expr * expr,
+			const ast::BaseInstType * aggrInst, const ast::Expr * expr,
 			const Candidate & cand, const Cost & addedCost, const std::string & name
 		) {
@@ -1263,5 +1263,5 @@
 
 		void postvisit( const ast::UntypedOffsetofExpr * offsetofExpr ) {
-			const ast::ReferenceToType * aggInst;
+			const ast::BaseInstType * aggInst;
 			if (( aggInst = offsetofExpr->type.as< ast::StructInstType >() )) ;
 			else if (( aggInst = offsetofExpr->type.as< ast::UnionInstType >() )) ;
Index: src/ResolvExpr/CurrentObject.cc
===================================================================
--- src/ResolvExpr/CurrentObject.cc	(revision b9fa85b6bb101567c376a002614067feab620b7b)
+++ src/ResolvExpr/CurrentObject.cc	(revision 98e8b3bff3b5c212f4724bd051ba614a77a1be19)
@@ -923,5 +923,5 @@
 
 	MemberIterator * createMemberIterator( const CodeLocation & loc, const Type * type ) {
-		if ( auto aggr = dynamic_cast< const ReferenceToType * >( type ) ) {
+		if ( auto aggr = dynamic_cast< const BaseInstType * >( type ) ) {
 			if ( auto sit = dynamic_cast< const StructInstType * >( aggr ) ) {
 				return new StructIterator{ loc, sit };
@@ -932,5 +932,5 @@
 					dynamic_cast< const EnumInstType * >( type )
 						|| dynamic_cast< const TypeInstType * >( type ),
-					"Encountered unhandled ReferenceToType in createMemberIterator: %s",
+					"Encountered unhandled BaseInstType in createMemberIterator: %s",
 						toString( type ).c_str() );
 				return new SimpleIterator{ loc, type };
@@ -965,5 +965,5 @@
 					DesignatorChain & d = *dit;
 					PRINT( std::cerr << "____actual: " << t << std::endl; )
-					if ( auto refType = dynamic_cast< const ReferenceToType * >( t ) ) {
+					if ( auto refType = dynamic_cast< const BaseInstType * >( t ) ) {
 						// concatenate identical field names
 						for ( const Decl * mem : refType->lookup( nexpr->name ) ) {
