Correction. Replace exception cases 1 and 2 with:
1. Foreign object methods that expect to be invoked via the inheriting class's
object, or foreign object methods that don't care how they are invoked (i.e.,
they don't make reference to the invoking object).
This is the case where a class provides auxiliary methods for your objects, but
from which you don't actually create any objects (i.e., there is no
corresponding foreign object, and $obj->inherit($foreign) is not used.)
In this case, you can either invoke the methods using their full path (e.g.,
$obj->Foreign::Class::method(); ), or you can 'use base' so that you don't
have to use the full path for foreign methods. The former scheme is faster.
(2)
]
