Checks a decoded value really is a world, and throws by name when it is not. Also rejects a
__proto__/constructor/prototype key anywhere in the value (assertNoForbiddenKeys):
MwlRuntime.restore merges this result into its own world with Object.assign, which would
otherwise let such a key substitute the target's prototype instead of merely setting a value.
Checks a decoded value really is a world, and throws by name when it is not. Also rejects a
__proto__/constructor/prototypekey anywhere in the value (assertNoForbiddenKeys):MwlRuntime.restoremerges this result into its own world withObject.assign, which would otherwise let such a key substitute the target's prototype instead of merely setting a value.