The type ascription here shouldn't be necessary, and I think the local variable should be `mut`