Monobehaviour.OnValidate() messages are a great way of sanitising data changed in the inspector.
Given the push for developers to use ScriptableObject for more of their game data ( which I'm a huge fan of ) it would be beneficial to have this same functionality of Monobehaviours.OnValidate() in ScriptableObjects.
Preventing designers from inputting values that exceed a range calculated based on other values within the scriptable object.
Precalculate a tree or lookup table after seed/input values are changed.
I'm away that the ISerializationCallbackReciever can be used for similar results, however those methods are called in other scenarios so using them naively can have unintended consequences.