I can't find the thread, but I remember someone (bearophile?) mentioned that the reason we have transitive const is to support purity. I don't think I understand why this is necessary, though -- could someone please explain why we have transitive const, and what problems it fixes? Thanks!