I currently writing a code which looks like: a := some numeric expression + (someBoolean ifTrue: [1] ifFalse: [0]). And i get somewhat tired repeating the same pattern in multiple places. So, i thinking , maybe #asBit convenience method could be useful? True>>asBit ^ 1 False>>asBit ^ 0 so, then, in case of need like above, we could write much shorter expressions: a := some numeric expression + someBoolean asBit. And its much less error prone comparing to #ifTrue:ifFalse:, since i found its relatively easy to make a mess (swapping 1 with 0), especially, when you having negations in expression, because once you see: (someBoolean not ifTrue: [1] ifFalse: [0]) you always tempted to write it as: (someBoolean ifTrue: [0] ifFalse: [1]). or as: (someBoolean ifFalse: [1] ifTrue: [0]). but once you start playing with it, its very easy to shoot into own feet if you are not careful. But if we could add #asBit, then we could write: someBoolean not asBit which is much more: a) concise & cleaner b) error proof -- Best regards, Igor Stasenko AKA sig.