When we "raise" a well typed node, we lose information; i.e., we may delete one or more subtrees in the raised node, leading to a partial loss of the student's program state.
We should either modify the current raise action, or add a new action, such that the action:
- Preserves the node's current known type.
- Replaces the node with a hole/mismatch.
- Inserts the original node into the hole/mismatch, annotated by the preserved type from step 1.