I didn't look at it that way before actually, replacing when I actually have a new disk is better. Plus it makes it one step, thanks!
So, could I in theory just rip out disk x, insert a blank new one of higher capacity, tell it to use that as the new disk x, then parity recovers all the data for me to the new disk? Or would that be a bit daft to rely on and it would be better to migrate data off to an existing disk first (using unbalance say) assuming I had existing space elsewhere on the array to do that?