When installing value_types (cmake install or vcpkg), the header files indirect.h and polymorphic.h end up in the top level include directory. It could be better to group these inside an xyz_value_types subdirectory, so that clients would include them like #include <xyz_value_types/indirect.h> instead of #include <indirect.h>. This is mostly a cosmetic topic, but it seems to be quite common practice for other libraries.