Hi,

Boost.Variant is a high level type erasure library, just like Boost.Any. Just because we currently support variants doesn't mean we shouldn't support Any (or a more specialized equivalent) or any other form of type erasure applied to our library.

I've been thinking for very long about using algorithm tags to identify our algorithms and give them specific characteristics which could then be used in many ways. What you are proposing is one of the possible usages. So yes, the approach could make sense.

Regards
Bruno