It also breaks tooling to some degree, unless the tooling itself embeds a nix evaluation step.
This would not be implemented, since that would break eval of older expressions.
The only option would be a new syntax, such as:
Although, in the case of package lists, there’s an alternative option in the works that would make it more ergonomic to use the inherit syntax, since you wouldn’t need to slap builtins.attrValues in front of each definition:
And in any case, it should be clear that “ambiguity” or not, with lib; at the top of a file is a massive antipattern.