Engine: refactor `place_to_lhs`s, make informal invariant into type system
There is two very very similar implementations of place_to_lhs, they should be moved to ast_utils.
Also, the constructor LhsFieldAccessor of type Ast.lhs has an implicit invariant: it's
field field (of type global_ident) is always a `Projector something (something is a polymorphic variant).
Instead, we should have a proper projector type and field field should be of that type.
This issue has been marked as stale due to a lack of activity for 60 days. If you believe this issue is still relevant, please provide an update or comment to keep it open. Otherwise, it will be closed in 7 days.
Still relevant
We had the issue with @cmester0 very recently.
I looked half an hour in this, and we should kill the type lhs in favor of plain exprs.
Then, phases can use the Place abstraction defined in AstUtils to interpret plain expressions as places.
This issue has been marked as stale due to a lack of activity for 60 days. If you believe this issue is still relevant, please provide an update or comment to keep it open. Otherwise, it will be closed in 7 days.
May be related to #222