for 1.1 Gofer new squeaksource: 'NanoTraits'; package: 'NanoTraits-Kernel'; package: 'NanoTraits-Tests'; load NanoTrait install I got a DNU ClassDescription traitImpl is not know. ClassDescription>>traitImpl ^NanoTrait uses: aTraitComposition | newTraits | newTraits := ((aTraitComposition isKindOf: NanoTrait) or: [ aTraitComposition isKindOf: NanoTraitTransformation]) aTraitComposition isKindOf: NanoTrait orOf: NanoTraitTransformation does not exist anymore in pharo :) luckily! Behavior class>>installTraitsFrom: aTraitComposition ... self traitComposition removeTraitUser: self. -> DNU removeTraitUser: Some comments I got just reading the code and eating. Difficult to write in mails because this is more like metathoughts about the overall design space (not only NT) but kernel, Btrait and NTraits. - I tried to understand what is the benefit to have NTdescription and NClassTrait subclass of ClassDescription. I think that this is a pity that the interface of the existing kernel and BTrait could not Now what I would really like to see is the impact on the tools (I imagine that andreas design is better for that and I would like to understand what are the underlying invariant of the tools that Btraits broke. I imagine that Btrait interface is not that far from NTrait now the point is probably that the fact that NT inherits some not necessary behavior from ClassDescription fulfills better the tool invariant. - I have the impression that the design of adrian was less backwards and more here is a "new" kernel and tools were shaken. - something that I would like to see fixed in traits is the problem with the superclass Igor once you remove the non traits related classes: Trait-Requires Trait-LocalSends Traits-Kernel => 5 classes Traits-Composition => 7 (and I imagine that we could do a pass to clean method) so all in all we may have 15 classes in total (exception included). Issue 1706: Clean Traits implementation http://code.google.com/p/pharo/issues/detail?id=1706 Back latexing pffffff :(