Nested Expressions
We can nest match expressions by placing them inside code blocks.
enum TopLevel {
    One: (),
    Two: SecondLevel,
}
enum SecondLevel {
    Value1: u64,
    Value2: (),
}
fn nested_match(input: TopLevel) -> u64 {
    match input {
        TopLevel::One => 1,
        TopLevel::Two(second) => {
            match second {
                SecondLevel::Value1(2) => 2,
                SecondLevel::Value1(_) => 3,
                SecondLevel::Value2 => 42,
            }
        },
    }
}