Rearrange optional for better invariant maintenance