I thought, Behaviors define the "behavior" of objects, therefore:
Integer is a behavior, because it defines the behavior of "integer objects"
Integer class is a behavior because it defines the behavior of the object "Integer".
5 isBehavior -> false.
Integer isBehavior -> true.
Integer class isBehavior -> true.
What about Traits?
Traits are "behavioral(?)", but they don't define the behavior alone, only the composition of
Traits in an actual class defines the behavior of an Object.
TClass isBehavior -> false.
So far so good.
Smalltalk globals allBehaviors includes:TClass -> true !
No suprise, because #allBehaviors explicitly collect all classes and traits.
But the question is, what do we want to call a "Behavior"?
All Classes and MetaClasses (-> Behavior allSubclasses)
All Classes and Traits
All Classes and Traits and MetaClasses and ClassTraits
All Classes and MetaClasses and some Traits?
In squeak Traits are behavior too.
nicolai