OK, thanks for confirming. Where to put is_implemented is less important at this point, I'm more concerned about the whole concept.

Samuel, unless I misunderstand the code I think you're trying to implement what we were discussing in the thread about run-time specified geometries, am I correct? As discussed in that thread, the library is not (yet) ready for that and right now we need to stick to the current behavior regarding variants which is to have them fail if any of the geometry combinations is incompatible. We have to be consistent across algorithms, and this is potentially a very important behavior for some users. If we later manage to support what you need, I expect it to be offered as a compile-time option.

In short, I prefer to implement variants as they currently are in all other algorithms, and work separately on a global solution for run-time specified geometries / flexible variant support.