Destructuring is a design pattern. A shorthand assignment method to extract fields from a composite structure.
Languages with Destructuring include coconut, javascript, reason
{"list": [0] + rest} = {"list": [0, 1, 2, 3]}
const o = {p: 42, q: true};
const {p, q} = o;
type person = {name: string, age: int};
let somePerson = {name: "Guy", age: 30};
let {name, age} = somePerson;