I recently ran into a use case where I was passing down an enum type to a function and I needed that value to be a specific variant of the enum type. First, is it an anti-pattern? Second, if not, Is that something that we'd want to add to this crate?