If several specializers related by inheritance would all match an argument, then the most specialized subclass is chosen. This looser association of methods with classes confers an important advantage. This makes for shallower class hierarchies in Dylan programs and so reduces the overhead of method dispatch. The first version of double has no specialization at all and simply returns two pointers to its argument, of wh atever type. Modules and Libraries Dylan provides large-scale program structuring by modules and libraries, which control the visibility of variable names.
Libraries are ev en larger structuring units that contain, import, and export a number of modules.
Modules are enormously helpful in the building of large programs. Surprisingly, many OOP languages lack such a facility, but Dylan' s libraries fit the bill. So Fine . . . Dylan collects together many of the best ideas in modern programming-language design, combining highly expressive primitives with a clean attractive syntax. However, several question marks hang over its future.