Simplify parts of the logic introduced in 11b7144ad0. Specificaly, using all the state change avoiding functions doesn't give us much since we need to copy the state for sure.