What I really love about Rusts pattern matching is how well it integrates with the type system.
match user {
ImportUser{id, account: {AccountData: email, ..}, ..
} => println({id}: {Some(email)}),
_ => println("Not an ImportUser or has no mail")
}
Of course this specific case could also be written with `if let`, but imagine how long this specific case would have been using the traditional conditionals.