pub fn variant_of<Enum, Variant, F>( extractor: F, ) -> OptionalKeyPath<Enum, Variant, F>where F: for<'r> Fn(&'r Enum) -> Option<&'r Variant>,