`reverse_encode` isn't necessary to please the borrow checker, it's to match the ordering done by `reverse_decode`.