the cast is needed because an iterator and a pointer are not exactly the
same thing!

Index: v2cc/v2cc-explore.cc
--- v2cc/v2cc-explore.cc.orig
+++ v2cc/v2cc-explore.cc
@@ -2798,8 +2798,7 @@ check_association(pIIR_AssociationList assoc_list, lis
 	{
 	  // Add entries
 	  association_map [key].push_back (range_vector [j]);
-	  // XXX - why is the cast needed?
-	  association_type_map [key] = (vector<vector<pair<pIIR_Type, pIIR_Type > > >::iterator) &association_type_vectors [i];
+	  association_type_map [key] = association_type_vectors.begin() + i;
 	  // Generate a new key
 	  key.push_back (range_vector [j]);
 	}
