I'm going to remove all "repairing" code and use only "checking" code.
I agree, it is not good idea to build damaged objects and then repair them.
But I think special checking code for traits features is needed.