C++26 reflection opens the door to rethinking patterns that traditionally require mountains of boilerplate, including type erasure. The rjk::duck library puts that capability to work, using reflection to provide flexible, customizable type erasure with the performance of traditional vtable dispatch. Beautiful Type Erasure with C++26 Reflection by Ryan Keane From the article: If you’ve ever tried using type erasure for something more complicated than std::any or std::function , you’ve either written 100+ lines of easy-to-mess-up code or reached for a boilerplate-heavy library like Boost.TypeEra