Rust Enums and Pattern Matching

Rust enums model a value as one of several variants, each of which can carry different data. match handles variants exhaustively, making unhandled states visible at compile time.