Because someone activated the method "mustBeBooleanMagicIn:" by default whereas it was just a hack to experiment.
If it's not integrated it's not gonna improve. This situation is a proof of that: it's because it's activated that we discover a bug (that is not the real problem BTW): wrong compilation context because of a line I kept from the old version of mustBeBooleanInMagic: (
https://pharo.fogbugz.com/f/cases/13780/Wrong-compilation-context-in-mustBeBooleanInMagic).
So in the end I dont't understand the problem nor your tone...
Basically you have an optimized message sent to a non boolean. For over a week now, in this case the code is executed as a DoIt with a non optimized message instead of raising the mustBeBoolean error.
And instead you get a DNU, what's wrong with that? Why is mustBeBoolean any better than a DNU?
For me the problem is to have ifTrue: sent to a PackageTreeNautilusUI inside a "on: Error do: [ "nothing" ]" (in PluggableTextMorph>>acceptBasic).
So if anything, this hack acted as a problem revealer at the very worst.