Static reflection already makes generic hashing in C++26 far more expressive, but annotations push it into genuinely ergonomic territory. By letting types explicitly opt-in to hashing and allowing individual members or base classes to be cleanly excluded, we get a solution that is both powerful and readable. Annotations for C++26 Hashing by Krystian Piękoś From the article: In my recent post , I demonstrated how to use static reflection from C++26 to implement generic hash computation for custom types.