\contentsline {section}{\numberline {1}Introduction and Overview}{3} \contentsline {section}{\numberline {2}TooL Design Rationale}{3} \contentsline {section}{\numberline {3}TooL Abstract Syntax}{6} \contentsline {section}{\numberline {4}TooL Bulk Type Library}{6} \contentsline {section}{\numberline {5}Structural Subtyping}{6} \contentsline {section}{\numberline {6}Type Parameterization}{7} \contentsline {section}{\numberline {7}Type Matching}{8} \contentsline {section}{\numberline {8}Interaction between Subtyping, Matching and Parameterization}{10} \contentsline {section}{\numberline {9}Reconciling Inheritance with Polymorphism}{11} \contentsline {section}{\numberline {10}Typing Self}{11} \contentsline {section}{\numberline {11}Parameterized Classes}{14} \contentsline {section}{\numberline {12}Typing Metaclasses}{15} \contentsline {section}{\numberline {13}Privacy and Encapsulation}{16} \contentsline {section}{\numberline {14}TooL Implementation Status}{16} \contentsline {section}{\numberline {15}Related Work}{17} \contentsline {section}{\numberline {16}Conclusion}{18}