`for (index, value)`
enumerate() -> (0, 'a')
반복자가 만든 튜플을 바로 분해해 이름 두 개에 바인딩한다.
`for`, `let`, 함수 매개변수는 값이 반드시 맞아야 계속 진행되고, `match`와 `if let`은 실패 가능성을 분기 구조로 다룬다.
반복자가 만든 튜플을 바로 분해해 이름 두 개에 바인딩한다.
패턴과 표현식의 전체 모양이 맞아야 세 변수가 동시에 만들어진다.
함수나 클로저의 인수 자리에서도 같은 방식으로 값을 분해할 수 있다.
`let`, `for`, 함수 매개변수는 값의 형태가 패턴과 맞아야 하므로 다음 절의 반박 불가능성 규칙으로 이어진다.
`match`, `if let`, `while let`은 매칭 성공과 실패를 코드 흐름의 선택으로 표현한다.