fix: test concepts with archetypes
Archetypes are types having the minimal interface meant to model a concept.
I have most prominently noticed the use of Target() in the downcasting facility without requiring Target to model std::default_initializable.
This can serve to reveal where strengthening concepts and fixing the implementation may be required.
Unfortunately, I do not think we can put any constraints on a Target type as it is an incomplete type at this point :-(
There is no downcasting facility anymore in the V2. Also, I believe that now we have fewer and better-defined concepts. Note that I still work on improving the representation concepts specification.
With that, I believe that we may close this issue. In case this is not the case, please reopen with some comments.