I've looked into this regression failure. The `nmo` attribute changes over the course of the optimization, so the assertions that `nmo == self.nmo` fail. I see two fixes: 1) Don't use the assert statement for optimizations. 2) Keep track of `nmo` at each step in the optimization, and only assert for the current step. Fix 1 seems most straight-forward, but fix 2 gives better error checking. Thoughts?