Dave Whipp wrote: > Perhaps an example will clarify my thoughts > > my $big_heavy_object = Foo.new; > $big_heavy_object = add($big_heavy_object, $bar); > > If the context provides access to the lvalue, then it > may be possible to optimize. Effectively, we have the > information to create an implicit C<+=> operator. The > add method should be able to utilize the fact that it > can recycle the old lvalue. > > If the old-lvalue is available in the context, then the context > is more than a type.
Ah, I buy that. So the "expected type" is an element of the context, but cannot represent the entire possible definition of a context. MikeL