Makes namespacing a little less noisy
VisitVariant allows one to use a generic lambda to visit a boost::variant. This is necessary because boost::visit_variant requires the visitor type to provide a return type.