I may be missing something, but why not just `let mut mself = self` or, even better, `move_iter(mut self)`?