Little idea. After reading this post about bools, chars and bitfields, I started thinking of an ugly c++ hack.
What if we defined our own custom bool (chances are that you already have one around in your engine, if not it's probably not a good idea to add one) that it behaves like a bool (char sized or whatever) always, but it strictly stores only 0 or 1?
With such a thing we could make sure when returning a native bool out of it, that what we store is still either 0 or 1 and thus have a mean to identify some memory stomps in many classes that have boolean members, for free.
Of course this "idea" could be extended, via templates, to have ranged integers and so on, but that would start being really ugly...