This used to crash the interpreter, either because we ran into the assertion in CheckMutable() or because we accessed a Descriptor* pointer preceding the field of a record. Those are preceded by an InlineDescriptor though.
Also, we forgot to handle the metadata when moving the Block over to a DeadBlock.
(Regarding the InlineDescriptor stuff from above... I didn't add it in this patch because the problem does not require it, but I'll do fix that later).