The two member visit have c-style casting (V)self in [variant.visit].
From my understanding, using C-style casting is not a best practice and should be avoided.
Would be better to use static_cast (not clear whether the two are completely equivalent in such cases)?