stdenv: Avoid allocating intermediate attrset when checking meta validity
This is a small performance optimization. It should be impercetible to most.
Benchmarks:
- Before
``` json
{
"cpuTime": 0.2777960002422333,
"envs": {
"bytes": 3832648,
"elements": 189513,
"number": 144784
},
"gc": {
"heapSize": 402915328,
"totalBytes": 50229344
},
"list": {
"bytes": 655304,
"concats": 3249,
"elements": 81913
},
"nrAvoided": 218962,
"nrFunctionCalls": 127718,
"nrLookups": 40946,
"nrOpUpdateValuesCopied": 1563978,
"nrOpUpdates": 8542,
"nrPrimOpCalls": 113032,
"nrThunks": 329605,
"sets": {
"bytes": 29774864,
"elements": 1824537,
"number": 36392
},
"sizes": {
"Attr": 16,
"Bindings": 16,
"Env": 16,
"Value": 24
},
"symbols": {
"bytes": 235909,
"number": 24432
},
"values": {
"bytes": 9691392,
"number": 403808
}
}
```
- After
```
{
"cpuTime": 0.2615779936313629,
"envs": {
"bytes": 3833832,
"elements": 189661,
"number": 144784
},
"gc": {
"heapSize": 402915328,
"totalBytes": 50212960
},
"list": {
"bytes": 655304,
"concats": 3249,
"elements": 81913
},
"nrAvoided": 218814,
"nrFunctionCalls": 127718,
"nrLookups": 40798,
"nrOpUpdateValuesCopied": 1563978,
"nrOpUpdates": 8542,
"nrPrimOpCalls": 113032,
"nrThunks": 329457,
"sets": {
"bytes": 29765392,
"elements": 1824093,
"number": 36244
},
"sizes": {
"Attr": 16,
"Bindings": 16,
"Env": 16,
"Value": 24
},
"symbols": {
"bytes": 235909,
"number": 24432
},
"values": {
"bytes": 9687840,
"number": 403660
}
}
```