| 263 | | |
| 264 | | Note that it is an important property of propagation that we only need to substitute into right-hand sides during finalisation. After finalisation and zonking all flattening of locals is undone (c.f., note below the flattening code above). |
| | 263 | * We must not substitute family equalities into right-hand sides of variable equalities. (If the variable equality directly or indirectly instantiates a flexible that is free in the environment, we would instantiate it with a family application, which we set out to avoid.) |
| | 264 | * There is no need to substitute family equalities into dictionaries as they cannot influence instance selection. |
| | 265 | |
| | 266 | Note that it is an important property of propagation that we need to substitute variable equalities only into right-hand sides during finalisation. After finalisation and zonking all flattening of locals is undone (c.f., note below the flattening code above). |