Comment #3 on issue 2559 by nicolas....@gmail.com: Senders of #ifNotNil: do not show http://code.google.com/p/pharo/issues/detail?id=2559 Fully agree. Unfortunately, current implementation seriously limits the number of literals, so care must be taken... numLiterals "Answer the number of literals used by the receiver." ^ (self header bitShift: -9) bitAnd: 16rFF Two literals are consumed by selector or methodProperties see #penultimateLiteral And the target class methodClass "answer the class that I am installed in" ^self numLiterals > 0 ifTrue: [ (self literalAt: self numLiterals) value ] ifFalse: [ nil ] It is possible that some method would compile before the change, and wouldn't after the change... This kind of change would be so easier with a different CompiledMethod format.