# TriState A three-valued type equivalent to `Option`: ```rust enum TriState { Yes, No, Unknown } ``` A nice way to use this type is with a domain-specific type alias via `pub use`. (For [esoteric reasons](https://github.com/rust-lang/rust/issues/26264), a simple typedef-style type alias doesn't work, though this Rust limitation will eventually be removed.) For example, a spam classifier: ```rust extern crate tristate; pub use tristate::TriState as Spam; trait Classify { fn classify(&self) -> Spam; } impl Classify for Message { /* ... */ } // ... match message.classify() { Spam::Yes => /* ... */, Spam::No => /* ... */, Spam::Unknown => /* ... */ } ```