See tc39/proposal-ecmascript-sharedmem#76 for an argument why we should clone even when transferring (unless it's a very special object, like SharedArrayBuffer). Encouraging user agents to make the shared memory optimization is fine, but due to certain architectures we should probably not require it. This would also apply to any object defined through [[Transfer]] probably.