9.3.1 Method dispatch and classes

We have already seen that, when all types are classes, Dylan uses the following rules:

1. An object is an instance of a class if it is a general instance of that class (a direct instance of the class or of one of that class's subclasses).

2. One class is a proper subtype of another if the first class is a subclass of the second.

For example, suppose that we have these definitions:

// Method 1
define method say (x :: <number>) ... end method say;
// Method 2
define method say (x :: <integer>) ... end method say;

Now, if say is called with an argument of 100, both methods are applicable, and method 2 is more specific than method 1.