Don't use-after-free! We have to copy the block because it's liable to be split and therefore freed during the difference() call.