No need for dynamic_cast change yet since variant is treated as non-polymorphic class