lift cycles
The previous solution to lift cycles didn't work with record types (though I don't immediately remember why...), and now lift cycles can be made.
One place lift cycles happen is when the grammar has a bug and there is no way to create a needed type. In these cases, a reference can fulfill the type, but then it lifts a definition that needs an expression of the impossible type. In this case an impossible-to-fulfill type requirement error is masked by an infinite lift loop.
I'm not immediately sure what a good fix is, so I'm writing this issue here.