Index: src/ResolvExpr/CastCost.cc
===================================================================
--- src/ResolvExpr/CastCost.cc	(revision 1cbca6e153ee9b6e6d883a6d517fe9cb3d2873ad)
+++ src/ResolvExpr/CastCost.cc	(revision 1521de201ad0ad0256fa61a3b50dbb0f9d74824b)
@@ -9,7 +9,7 @@
 // Author           : Richard C. Bilson
 // Created On       : Sun May 17 06:57:43 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Sun May 17 06:59:10 2015
-// Update Count     : 2
+// Last Modified By : Rob Schluntz
+// Last Modified On : Mon Oct 05 14:48:45 2015
+// Update Count     : 5
 //
 
@@ -56,4 +56,5 @@
 				return Cost::infinity;
 			} else {
+				// xxx - why are we adding cost 0 here?
 				return converter.get_cost() + Cost( 0, 0, 0 );
 			} // if
@@ -82,8 +83,8 @@
 				newEnv.add( pointerType->get_forall() );
 				newEnv.add( pointerType->get_base()->get_forall() );
-				int assignResult = ptrsCastable( pointerType->get_base(), destAsPtr->get_base(), newEnv, indexer );
-				if ( assignResult > 0 ) {
+				int castResult = ptrsCastable( pointerType->get_base(), destAsPtr->get_base(), newEnv, indexer );
+				if ( castResult > 0 ) {
 					cost = Cost( 0, 0, 1 );
-				} else if ( assignResult < 0 ) {
+				} else if ( castResult < 0 ) {
 					cost = Cost( 1, 0, 0 );
 				} // if
Index: src/ResolvExpr/PtrsAssignable.cc
===================================================================
--- src/ResolvExpr/PtrsAssignable.cc	(revision 1cbca6e153ee9b6e6d883a6d517fe9cb3d2873ad)
+++ src/ResolvExpr/PtrsAssignable.cc	(revision 1521de201ad0ad0256fa61a3b50dbb0f9d74824b)
@@ -9,7 +9,7 @@
 // Author           : Richard C. Bilson
 // Created On       : Sun May 17 11:44:11 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Sun May 17 11:47:36 2015
-// Update Count     : 2
+// Last Modified By : Rob Schluntz
+// Last Modified On : Mon Sep 21 14:34:58 2015
+// Update Count     : 7
 //
 
@@ -106,5 +106,5 @@
 	void PtrsAssignable::visit( TypeInstType *inst ) {
 		EqvClass eqvClass;
-		if ( env.lookup( inst->get_name(), eqvClass ) ) {
+		if ( env.lookup( inst->get_name(), eqvClass ) && eqvClass.type ) {
 			result = ptrsAssignable( eqvClass.type, dest, env );
 		} else {
Index: src/ResolvExpr/PtrsCastable.cc
===================================================================
--- src/ResolvExpr/PtrsCastable.cc	(revision 1cbca6e153ee9b6e6d883a6d517fe9cb3d2873ad)
+++ src/ResolvExpr/PtrsCastable.cc	(revision 1521de201ad0ad0256fa61a3b50dbb0f9d74824b)
@@ -9,7 +9,7 @@
 // Author           : Richard C. Bilson
 // Created On       : Sun May 17 11:48:00 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Sun May 17 11:51:17 2015
-// Update Count     : 2
+// Last Modified By : Rob Schluntz
+// Last Modified On : Mon Oct 05 14:49:12 2015
+// Update Count     : 7
 //
 
@@ -133,5 +133,5 @@
 
 	void PtrsCastable::visit(TypeInstType *inst) {
-		result = objectCast( inst, env, indexer ) && objectCast( dest, env, indexer ) ? 1 : -1;
+		result = objectCast( inst, env, indexer ) > 0 && objectCast( dest, env, indexer ) > 0 ? 1 : -1;
 	}
 
