In this case, the covariances resulting from a minimization are arbitrary. We need to prevent the user from using them (at least without notice). One way would be to introduce an boolean property HasBeenAdjusted on the ICostFunctionRequiringErrorDefinitionAdjustment interface, and return empty/invalid covariances if it's value is false.