I got a similar crash today and there is an easy solution here. What is happening is that we are not checking that the old signature is still valid for the new compilation (valid in the sense of {TYPE_A}.is_valid). So an easy solution would be to check that before performing checking the type equivalence in {FEATURE_I}.same_signature. I will do the above after building an eweasel test exhibiting the problem.