Index: tests/.expect/completeTypeError.txt
===================================================================
--- tests/.expect/completeTypeError.txt	(revision b611fc3e40f3eb2ffacbcdf9ad131f5bfcdc6752)
+++ tests/.expect/completeTypeError.txt	(revision 7889f146c83b0244292a2deadd0047bac295afed)
@@ -1,11 +1,56 @@
-completeTypeError.cfa:33:1 error: No reasonable alternatives for expression Applying untyped:
-  Name: *?
-...to:
-  Name: v
+completeTypeError.cfa:34:1 error: Cannot choose between 2 alternatives for expression
+Generated Cast of:
+  Applying untyped:
+    Name: *?
+  ...to:
+    Name: x
 
-completeTypeError.cfa:34:1 error: No reasonable alternatives for expression Applying untyped:
-  Name: *?
-...to:
-  Name: y
+... to: nothing Alternatives are:
+Cost ( 0, 1, 2, 0, 1, -1, 0 ): Generated Cast of:
+     Application of
+       Variable Expression: *?: forall
+         DT: object type
+         function
+       ... with parameters
+         intrinsic pointer to instance of type DT (not function type)
+       ... returning
+         _retval__operator_deref: reference to instance of type DT (not function type)
+         ... with attributes:
+           Attribute with name: unused
+
+
+     ... to arguments
+       Variable Expression: x: pointer to instance of struct A with body 0
+
+   ... to: nothing
+ (types:
+   void 
+ )
+ Environment:( _80_4_DT ) -> instance of struct A with body 0 (no widening)
+
+
+Cost ( 0, 1, 2, 0, 1, -1, 0 ): Generated Cast of:
+     Application of
+       Variable Expression: *?: forall
+         DT: object type
+         function
+       ... with parameters
+         intrinsic pointer to instance of type DT (not function type)
+       ... returning
+         _retval__operator_deref: reference to instance of type DT (not function type)
+         ... with attributes:
+           Attribute with name: unused
+
+
+     ... to arguments
+       Variable Expression: x: pointer to instance of struct B with body 1
+
+   ... to: nothing
+ (types:
+   void 
+ )
+ Environment:( _80_4_DT ) -> instance of struct B with body 1 (no widening)
+
+
 
 completeTypeError.cfa:35:1 error: No reasonable alternatives for expression Applying untyped:
@@ -24,69 +69,73 @@
   Name: v
 
-completeTypeError.cfa:58:1 error: No reasonable alternatives for expression Applying untyped:
+completeTypeError.cfa:59:1 error: No reasonable alternatives for expression Applying untyped:
   Name: baz
 ...to:
   Name: y
 
-completeTypeError.cfa:59:1 error: No reasonable alternatives for expression Applying untyped:
+completeTypeError.cfa:60:1 error: No reasonable alternatives for expression Applying untyped:
   Name: quux
 ...to:
   Name: y
 
-completeTypeError.cfa:60:1 error: No reasonable alternatives for expression Applying untyped:
-  Name: *?
-...to:
-  Name: y
-
-completeTypeError.cfa:72:1 error: No resolvable alternatives for expression Applying untyped:
+completeTypeError.cfa:72:1 error: No alternatives with satisfiable assertions for Applying untyped:
   Name: baz
 ...to:
   Name: z
 
-Alternatives with failing assertions are:
+   Unsatisfiable alternative:
 Cost ( 0, 1, 0, 0, 1, -5, 0 ): Application of
-     Variable Expression: baz: forall
-       T: sized object type
-       ... with assertions
-         ?=?: pointer to function
-         ... with parameters
-           reference to instance of type T (not function type)
-           instance of type T (not function type)
-         ... returning
-           _retval__operator_assign: instance of type T (not function type)
-           ... with attributes:
-             Attribute with name: unused
+         Variable Expression: baz: forall
+           T: sized object type
+           ... with assertions
+             ?=?: pointer to function
+             ... with parameters
+               reference to instance of type T (not function type)
+               instance of type T (not function type)
+             ... returning
+               _retval__operator_assign: instance of type T (not function type)
+               ... with attributes:
+                 Attribute with name: unused
 
 
-         ?{}: pointer to function
+             ?{}: pointer to function
+             ... with parameters
+               reference to instance of type T (not function type)
+             ... returning nothing
+
+             ?{}: pointer to function
+             ... with parameters
+               reference to instance of type T (not function type)
+               instance of type T (not function type)
+             ... returning nothing
+
+             ^?{}: pointer to function
+             ... with parameters
+               reference to instance of type T (not function type)
+             ... returning nothing
+
+
+           function
          ... with parameters
-           reference to instance of type T (not function type)
+           pointer to instance of type T (not function type)
          ... returning nothing
 
-         ?{}: pointer to function
-         ... with parameters
-           reference to instance of type T (not function type)
-           instance of type T (not function type)
-         ... returning nothing
+       ... to arguments
+         Variable Expression: z: pointer to instance of type T (not function type)
 
-         ^?{}: pointer to function
-         ... with parameters
-           reference to instance of type T (not function type)
-         ... returning nothing
+     (types:
+       void 
+     )
+     Environment:( _99_0_T ) -> instance of type T (not function type) (no widening)
+
+   Could not satisfy assertion:
+?=?: pointer to function
+     ... with parameters
+       reference to instance of type _99_0_T (not function type)
+       instance of type _99_0_T (not function type)
+     ... returning
+       _retval__operator_assign: instance of type _99_0_T (not function type)
+       ... with attributes:
+         Attribute with name: unused
 
 
-       function
-     ... with parameters
-       pointer to instance of type T (not function type)
-     ... returning nothing
-
-   ... to arguments
-     Variable Expression: z: pointer to instance of type T (not function type)
-
- (types:
-   void 
- )
- Environment:( _99_0_T ) -> instance of type T (not function type) (no widening)
-
-
-
Index: tests/completeTypeError.cfa
===================================================================
--- tests/completeTypeError.cfa	(revision b611fc3e40f3eb2ffacbcdf9ad131f5bfcdc6752)
+++ tests/completeTypeError.cfa	(revision 7889f146c83b0244292a2deadd0047bac295afed)
@@ -19,5 +19,5 @@
 	// okay
 	*i;
-	*x; // picks B
+	*y;
 	*z;
 	foo(i);
@@ -32,5 +32,5 @@
 	// bad
 	*v;
-	*y;
+	*x; // ambiguous
 	foo(v);
 	baz(v);
@@ -54,9 +54,9 @@
 	bar(y);
 	qux(y);
+	*y;
 
 	// bad
 	baz(y);
 	quux(y);
-	*y;
 }
 
