I really enjoy Rust's enums; but I feel that that actually their integration could be even better. TypeScript's flow typing or Rust's work on pattern types [0] are better version of what we have currently.
The main issue is that it's very hard to propagate information found through matching .
The main issue is that it's very hard to propagate information found through matching .
[0]: https://github.com/rust-lang/rust/pull/120131