Hi, (accidentally replied to only OP)...

> On Sep 15, 2017, at 1:35 PM, ilija.tov...@me.com wrote:
> 
> Hi Marco
> 
> I can see it’s usefulness in this case.
> 
> But wouldn’t it be better to implement this by hand in these rare cases (it’s 
> 3 lines of code) instead of encouraging the pollution of the symbol table by 
> unknown input? It’s also clearer since people who don’t know the `extract` 
> function probably don’t expect it to mutate the local symbol table.

This argument is predicated on the assumption that my input is unknown. This 
assumption is not universal to all codebases as implied. 

There are many "foot guns" in every language and framework. I don't think it is 
necessary (or wise) for the language to assume responsibility for abuse. 

This is the same line of reasoning that could be used to justify removing 
serialize/deserialize because a developer could "accidentally a tent" or we 
could build safer options into the feature (as you've already described)

Just my 2c

Reply via email to