Implement Variant functions with visitors