<div dir="ltr">My original dict unpacking proposal was very short and lacked a motivating usage. Toy examples made my proposal look unnecessarily verbose and suggested obvious alternatives with easy current syntax.<div><br></div><div>Nested/recursive unpacking is much more troublesome, especially when combined with name-binding. I wrote an example to compare my proposal with current syntax.</div><div><span style="line-height:1.5"><br></span></div><div><span style="line-height:1.5">Example usage.</span></div><div><a href="https://github.com/selik/destructure/blob/master/examples/fips.py">https://github.com/selik/destructure/blob/master/examples/fips.py</a><br><br></div><div>Implementation.</div><div><a href="https://github.com/selik/destructure/blob/master/destructure.py">https://github.com/selik/destructure/blob/master/destructure.py</a></div><div><br></div><div>The design of my module I'm least happy with is the name-binding. I extended a SimpleNamespace to create an Erlang-style distinction between bound and unbound names. Though the API is a bit awkward, now that the module is built, I'm less enthusiastic about introducing new syntax. Funny how that works.</div><div><br></div><div>I haven't yet decided how to add post-binding guards to the cases.</div></div>