In The Rust Guide, in the [Patterns section](http://doc.rust-lang.org/guide.html#patterns), it says: > If you're matching on an enum which has variants, you can use `..` to ignore the value in the variant: ``` rust match x { Value(..) => println!("Got an int!"), Missing => println!("No such luck."), } ``` but then in the [Consumers section](http://doc.rust-lang.org/guide.html#consumers), `Some(_)` is used: ``` rust match greater_than_forty_two { Some(_) => println!("We got some numbers!"), None => println!("No numbers found :("), } ``` Why are both wildcard variants — `..` and `_` — allowed? `Some(_)` seems less surprising to me.