Trait And Type Theory