We should note that let can do irrefutable pattern matching. This is how tuple and struct destructuring works. It does not work with enum. ```rust struct Point(i32, i32); let p = (1, 2); let (x,y) = p; let p = Point(1, 2); let Point(x, y) = p; ```