fixup! Modify marshalling (extern.c) to not mutate the heap.