On Friday, 9 March 2018 at 13:47:34 UTC, Basile B. wrote: > - `type()` really has to be const because it's used in an > opEquals that's used by an AA (key is const so opEquals has to > as well) And the most annoying is that the non reduced Foo has a custom toHash that hashes a payload so the cast to const would really be perfectly valid.