Specialization and modularization in the Darwin Information Typing Architecture