This is https://www.hyrumslaw.com/.
Basically there are two types of breaking changes:
- The change may break something.
- The change breaks a contract of the code.
What you are experiencing with debugRepr()
is that you have triggered 1. You have made a chance that may break a user. But you have not triggered 2 because the new output is still within the previous contract. What level of stability you want to uphold is up to you.