( def: BoxedDefinition | undefined )
| 409 | * projection, applied recursively. |
| 410 | * |
| 411 | * The point is to avoid `.evaluate()`. Evaluating an `At` evaluates the picked |
| 412 | * element too, which substitutes assigned symbol values: with `Y := 5`, |
| 413 | * `At([Y, 2], 1).evaluate()` is `5`. Inside a held `Solve` equation that would |
| 414 | * replace the very unknown being solved for. Projection just hands back the |
| 415 | * operand. |
| 416 | * |
| 417 | * Without this, indexing into a computed list hid the unknown from the solver |
| 418 | * exactly as a value-bound symbol did — `Solve(At([Y, 2], 1) = 5, Y)` returned |
no outgoing calls
no test coverage detected