In defense of types in knowledge-based CAAD