pub fn walk_variant<'a, V: Visitor<'a>>(visitor: &mut V, variant: &'a Variant)where
    V: Visitor<'a>,