MOP addPrototype: #MetaClosure derivedFrom: {MOP MetaObject}. MOP MetaClosure addSlot: #typeSignature. MOP MetaClosure addSlot: #arity. "The number of arguments." MOP addPrototype: #MetaMethod derivedFrom: {MOP MetaClosure}. MOP MetaMethod addSlot: #dispatchSignature. name@(Symbol traits) findSignatureOn: args "Returns a collection of the objects on which the first-applicable method is defined for the given arguments." [| result | result: (args newSizeOf: args). args doWithIndex: [| :each :index | ]. result ].