Canonical way to deconstruct function parameters

If you need access to both the destructured data and the whole data you could have a match which looks like this:

def f({x1, x2} = x) do ...

Now you can use x1, x2 and x in your code