diff --git a/base/comment-injection-typescript/test/inputs/schema/comment-injection-enum-nested-comment.schema/default/TopLevel.ts b/head/comment-injection-typescript/test/inputs/schema/comment-injection-enum-nested-comment.schema/default/TopLevel.ts
index 934c40e..a9e173d 100644
--- a/base/comment-injection-typescript/test/inputs/schema/comment-injection-enum-nested-comment.schema/default/TopLevel.ts
+++ b/head/comment-injection-typescript/test/inputs/schema/comment-injection-enum-nested-comment.schema/default/TopLevel.ts
@@ -121,7 +121,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -132,7 +132,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/comment-injection-typescript/test/inputs/schema/comment-injection-enum.schema/default/TopLevel.ts b/head/comment-injection-typescript/test/inputs/schema/comment-injection-enum.schema/default/TopLevel.ts
index 2a64dc5..d15151f 100644
--- a/base/comment-injection-typescript/test/inputs/schema/comment-injection-enum.schema/default/TopLevel.ts
+++ b/head/comment-injection-typescript/test/inputs/schema/comment-injection-enum.schema/default/TopLevel.ts
@@ -127,7 +127,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -138,7 +138,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/comment-injection-typescript/test/inputs/schema/comment-injection-nested-comment.schema/default/TopLevel.ts b/head/comment-injection-typescript/test/inputs/schema/comment-injection-nested-comment.schema/default/TopLevel.ts
index 504b925..2ed28c8 100644
--- a/base/comment-injection-typescript/test/inputs/schema/comment-injection-nested-comment.schema/default/TopLevel.ts
+++ b/head/comment-injection-typescript/test/inputs/schema/comment-injection-nested-comment.schema/default/TopLevel.ts
@@ -119,7 +119,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -130,7 +130,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/comment-injection-typescript/test/inputs/schema/comment-injection.schema/default/TopLevel.ts b/head/comment-injection-typescript/test/inputs/schema/comment-injection.schema/default/TopLevel.ts
index 7b4e86e..6d078d1 100644
--- a/base/comment-injection-typescript/test/inputs/schema/comment-injection.schema/default/TopLevel.ts
+++ b/head/comment-injection-typescript/test/inputs/schema/comment-injection.schema/default/TopLevel.ts
@@ -147,7 +147,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -158,7 +158,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/00c36.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/00c36.json/default/TopLevel.js
index 162dbc2..7eebad2 100644
--- a/base/flow/test/inputs/json/misc/00c36.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/00c36.json/default/TopLevel.js
@@ -135,7 +135,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -146,7 +146,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/00ec5.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/00ec5.json/default/TopLevel.js
index 4d45847..01cc1b8 100644
--- a/base/flow/test/inputs/json/misc/00ec5.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/00ec5.json/default/TopLevel.js
@@ -174,7 +174,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -185,7 +185,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/010b1.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/010b1.json/default/TopLevel.js
index 89794b9..bcf4607 100644
--- a/base/flow/test/inputs/json/misc/010b1.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/010b1.json/default/TopLevel.js
@@ -117,7 +117,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -128,7 +128,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/016af.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/016af.json/default/TopLevel.js
index 6cc839f..745fefb 100644
--- a/base/flow/test/inputs/json/misc/016af.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/016af.json/default/TopLevel.js
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/033b1.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/033b1.json/default/TopLevel.js
index 3bb973a..fdf3b5a 100644
--- a/base/flow/test/inputs/json/misc/033b1.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/033b1.json/default/TopLevel.js
@@ -109,7 +109,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/050b0.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/050b0.json/default/TopLevel.js
index 6c1c8a4..21a854f 100644
--- a/base/flow/test/inputs/json/misc/050b0.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/050b0.json/default/TopLevel.js
@@ -163,7 +163,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -174,7 +174,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/06bee.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/06bee.json/default/TopLevel.js
index e124161..5a0b524 100644
--- a/base/flow/test/inputs/json/misc/06bee.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/06bee.json/default/TopLevel.js
@@ -151,7 +151,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -162,7 +162,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/07540.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/07540.json/default/TopLevel.js
index d9826f0..503b7cb 100644
--- a/base/flow/test/inputs/json/misc/07540.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/07540.json/default/TopLevel.js
@@ -110,7 +110,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -121,7 +121,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/0779f.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/0779f.json/default/TopLevel.js
index c7ac2de..ad4ec40 100644
--- a/base/flow/test/inputs/json/misc/0779f.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/0779f.json/default/TopLevel.js
@@ -140,7 +140,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -151,7 +151,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/07c75.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/07c75.json/default/TopLevel.js
index a298561..7a8a97d 100644
--- a/base/flow/test/inputs/json/misc/07c75.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/07c75.json/default/TopLevel.js
@@ -132,7 +132,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -143,7 +143,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/09f54.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/09f54.json/default/TopLevel.js
index 1eccbad..22f369c 100644
--- a/base/flow/test/inputs/json/misc/09f54.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/09f54.json/default/TopLevel.js
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -131,7 +131,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/0a358.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/0a358.json/default/TopLevel.js
index fdf8c01..f9a1579 100644
--- a/base/flow/test/inputs/json/misc/0a358.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/0a358.json/default/TopLevel.js
@@ -125,7 +125,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -136,7 +136,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/0a91a.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/0a91a.json/default/TopLevel.js
index 82bc4f2..0908f0d 100644
--- a/base/flow/test/inputs/json/misc/0a91a.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/0a91a.json/default/TopLevel.js
@@ -327,7 +327,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -338,7 +338,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/0b91a.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/0b91a.json/default/TopLevel.js
index 209fdf8..60f4667 100644
--- a/base/flow/test/inputs/json/misc/0b91a.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/0b91a.json/default/TopLevel.js
@@ -147,7 +147,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -158,7 +158,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/0cffa.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/0cffa.json/default/TopLevel.js
index 9b7923c..921544b 100644
--- a/base/flow/test/inputs/json/misc/0cffa.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/0cffa.json/default/TopLevel.js
@@ -222,7 +222,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -233,7 +233,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/0e0c2.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/0e0c2.json/default/TopLevel.js
index 407cad3..da70a86 100644
--- a/base/flow/test/inputs/json/misc/0e0c2.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/0e0c2.json/default/TopLevel.js
@@ -184,7 +184,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -195,7 +195,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/0fecf.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/0fecf.json/default/TopLevel.js
index 3ee24ee..2cc1039 100644
--- a/base/flow/test/inputs/json/misc/0fecf.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/0fecf.json/default/TopLevel.js
@@ -107,7 +107,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -118,7 +118,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/10be4.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/10be4.json/default/TopLevel.js
index 63eecca..44b2ca4 100644
--- a/base/flow/test/inputs/json/misc/10be4.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/10be4.json/default/TopLevel.js
@@ -174,7 +174,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -185,7 +185,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/112b5.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/112b5.json/default/TopLevel.js
index f9cab5b..eac113f 100644
--- a/base/flow/test/inputs/json/misc/112b5.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/112b5.json/default/TopLevel.js
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -131,7 +131,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/127a1.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/127a1.json/default/TopLevel.js
index 3e28e99..535cac4 100644
--- a/base/flow/test/inputs/json/misc/127a1.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/127a1.json/default/TopLevel.js
@@ -221,7 +221,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -232,7 +232,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/13d8d.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/13d8d.json/default/TopLevel.js
index 48593f5..2e44462 100644
--- a/base/flow/test/inputs/json/misc/13d8d.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/13d8d.json/default/TopLevel.js
@@ -133,7 +133,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -144,7 +144,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/14d38.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/14d38.json/default/TopLevel.js
index 713e56b..7b56c90 100644
--- a/base/flow/test/inputs/json/misc/14d38.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/14d38.json/default/TopLevel.js
@@ -114,7 +114,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -125,7 +125,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/167d6.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/167d6.json/default/TopLevel.js
index 3bb973a..fdf3b5a 100644
--- a/base/flow/test/inputs/json/misc/167d6.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/167d6.json/default/TopLevel.js
@@ -109,7 +109,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/16bc5.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/16bc5.json/default/TopLevel.js
index 6dba12d..a579f9d 100644
--- a/base/flow/test/inputs/json/misc/16bc5.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/16bc5.json/default/TopLevel.js
@@ -205,7 +205,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -216,7 +216,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/176f1.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/176f1.json/default/TopLevel.js
index db78db6..319d9f8 100644
--- a/base/flow/test/inputs/json/misc/176f1.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/176f1.json/default/TopLevel.js
@@ -132,7 +132,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -143,7 +143,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/1a7f5.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/1a7f5.json/default/TopLevel.js
index 89794b9..bcf4607 100644
--- a/base/flow/test/inputs/json/misc/1a7f5.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/1a7f5.json/default/TopLevel.js
@@ -117,7 +117,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -128,7 +128,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/1b28c.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/1b28c.json/default/TopLevel.js
index 6cc839f..745fefb 100644
--- a/base/flow/test/inputs/json/misc/1b28c.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/1b28c.json/default/TopLevel.js
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/1b409.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/1b409.json/default/TopLevel.js
index 56b0139..fb52e30 100644
--- a/base/flow/test/inputs/json/misc/1b409.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/1b409.json/default/TopLevel.js
@@ -198,7 +198,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -209,7 +209,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/2465e.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/2465e.json/default/TopLevel.js
index e283f26..0e6c0ae 100644
--- a/base/flow/test/inputs/json/misc/2465e.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/2465e.json/default/TopLevel.js
@@ -180,7 +180,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -191,7 +191,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/24f52.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/24f52.json/default/TopLevel.js
index c7ac2de..ad4ec40 100644
--- a/base/flow/test/inputs/json/misc/24f52.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/24f52.json/default/TopLevel.js
@@ -140,7 +140,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -151,7 +151,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/262f0.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/262f0.json/default/TopLevel.js
index 1dc4430..f81251b 100644
--- a/base/flow/test/inputs/json/misc/262f0.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/262f0.json/default/TopLevel.js
@@ -210,7 +210,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -221,7 +221,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/26b49.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/26b49.json/default/TopLevel.js
index c9ba533..cb0c67c 100644
--- a/base/flow/test/inputs/json/misc/26b49.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/26b49.json/default/TopLevel.js
@@ -219,7 +219,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -230,7 +230,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/26c9c.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/26c9c.json/default/TopLevel.js
index d4b28ed..9b151fa 100644
--- a/base/flow/test/inputs/json/misc/26c9c.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/26c9c.json/default/TopLevel.js
@@ -294,7 +294,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -305,7 +305,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/27332.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/27332.json/default/TopLevel.js
index 934296a..2f9d303 100644
--- a/base/flow/test/inputs/json/misc/27332.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/27332.json/default/TopLevel.js
@@ -260,7 +260,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -271,7 +271,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/29f47.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/29f47.json/default/TopLevel.js
index 6c6029e..6ea2f5d 100644
--- a/base/flow/test/inputs/json/misc/29f47.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/29f47.json/default/TopLevel.js
@@ -246,7 +246,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -257,7 +257,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/2d4e2.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/2d4e2.json/default/TopLevel.js
index 50f7c40..4062586 100644
--- a/base/flow/test/inputs/json/misc/2d4e2.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/2d4e2.json/default/TopLevel.js
@@ -214,7 +214,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -225,7 +225,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/2df80.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/2df80.json/default/TopLevel.js
index e8a7f8a..6b37c06 100644
--- a/base/flow/test/inputs/json/misc/2df80.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/2df80.json/default/TopLevel.js
@@ -180,7 +180,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -191,7 +191,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/31189.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/31189.json/default/TopLevel.js
index 4fb8245..09427be 100644
--- a/base/flow/test/inputs/json/misc/31189.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/31189.json/default/TopLevel.js
@@ -135,7 +135,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -146,7 +146,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/32431.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/32431.json/default/TopLevel.js
index 9b836ab..c34e316 100644
--- a/base/flow/test/inputs/json/misc/32431.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/32431.json/default/TopLevel.js
@@ -178,7 +178,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -189,7 +189,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/32d5c.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/32d5c.json/default/TopLevel.js
index 8f57115..a11f988 100644
--- a/base/flow/test/inputs/json/misc/32d5c.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/32d5c.json/default/TopLevel.js
@@ -116,7 +116,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -127,7 +127,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/337ed.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/337ed.json/default/TopLevel.js
index 400a636..de62c4e 100644
--- a/base/flow/test/inputs/json/misc/337ed.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/337ed.json/default/TopLevel.js
@@ -175,7 +175,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -186,7 +186,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/33d2e.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/33d2e.json/default/TopLevel.js
index 954c924..d6913e1 100644
--- a/base/flow/test/inputs/json/misc/33d2e.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/33d2e.json/default/TopLevel.js
@@ -160,7 +160,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -171,7 +171,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/34702.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/34702.json/default/TopLevel.js
index f14ce92..f7219b6 100644
--- a/base/flow/test/inputs/json/misc/34702.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/34702.json/default/TopLevel.js
@@ -195,7 +195,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -206,7 +206,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/3536b.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/3536b.json/default/TopLevel.js
index 4c5794e..5a74561 100644
--- a/base/flow/test/inputs/json/misc/3536b.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/3536b.json/default/TopLevel.js
@@ -142,7 +142,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -153,7 +153,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/3659d.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/3659d.json/default/TopLevel.js
index 6cc839f..745fefb 100644
--- a/base/flow/test/inputs/json/misc/3659d.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/3659d.json/default/TopLevel.js
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/36d5d.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/36d5d.json/default/TopLevel.js
index c7ac2de..ad4ec40 100644
--- a/base/flow/test/inputs/json/misc/36d5d.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/36d5d.json/default/TopLevel.js
@@ -140,7 +140,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -151,7 +151,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/3a6b3.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/3a6b3.json/default/TopLevel.js
index c7ac2de..ad4ec40 100644
--- a/base/flow/test/inputs/json/misc/3a6b3.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/3a6b3.json/default/TopLevel.js
@@ -140,7 +140,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -151,7 +151,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/3e9a3.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/3e9a3.json/default/TopLevel.js
index db78db6..319d9f8 100644
--- a/base/flow/test/inputs/json/misc/3e9a3.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/3e9a3.json/default/TopLevel.js
@@ -132,7 +132,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -143,7 +143,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/3f1ce.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/3f1ce.json/default/TopLevel.js
index 870cf6a..76c6c27 100644
--- a/base/flow/test/inputs/json/misc/3f1ce.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/3f1ce.json/default/TopLevel.js
@@ -208,7 +208,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -219,7 +219,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/421d4.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/421d4.json/default/TopLevel.js
index 5d852e7..051c669 100644
--- a/base/flow/test/inputs/json/misc/421d4.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/421d4.json/default/TopLevel.js
@@ -221,7 +221,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -232,7 +232,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/437e7.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/437e7.json/default/TopLevel.js
index 46aad64..ba501ee 100644
--- a/base/flow/test/inputs/json/misc/437e7.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/437e7.json/default/TopLevel.js
@@ -216,7 +216,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -227,7 +227,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/43970.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/43970.json/default/TopLevel.js
index 96da4f2..4665310 100644
--- a/base/flow/test/inputs/json/misc/43970.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/43970.json/default/TopLevel.js
@@ -111,7 +111,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -122,7 +122,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/43eaf.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/43eaf.json/default/TopLevel.js
index 3bb973a..fdf3b5a 100644
--- a/base/flow/test/inputs/json/misc/43eaf.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/43eaf.json/default/TopLevel.js
@@ -109,7 +109,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/458db.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/458db.json/default/TopLevel.js
index 602758a..f043a8e 100644
--- a/base/flow/test/inputs/json/misc/458db.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/458db.json/default/TopLevel.js
@@ -149,7 +149,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -160,7 +160,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/4961a.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/4961a.json/default/TopLevel.js
index 6cc839f..745fefb 100644
--- a/base/flow/test/inputs/json/misc/4961a.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/4961a.json/default/TopLevel.js
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/4a0d7.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/4a0d7.json/default/TopLevel.js
index 6cc839f..745fefb 100644
--- a/base/flow/test/inputs/json/misc/4a0d7.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/4a0d7.json/default/TopLevel.js
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/4a455.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/4a455.json/default/TopLevel.js
index af5a140..4d82661 100644
--- a/base/flow/test/inputs/json/misc/4a455.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/4a455.json/default/TopLevel.js
@@ -150,7 +150,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -161,7 +161,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/4c547.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/4c547.json/default/TopLevel.js
index 6dba12d..a579f9d 100644
--- a/base/flow/test/inputs/json/misc/4c547.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/4c547.json/default/TopLevel.js
@@ -205,7 +205,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -216,7 +216,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/4d6fb.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/4d6fb.json/default/TopLevel.js
index e9dc36d..931e768 100644
--- a/base/flow/test/inputs/json/misc/4d6fb.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/4d6fb.json/default/TopLevel.js
@@ -255,7 +255,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -266,7 +266,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/4e336.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/4e336.json/default/TopLevel.js
index 6cc839f..745fefb 100644
--- a/base/flow/test/inputs/json/misc/4e336.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/4e336.json/default/TopLevel.js
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/54147.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/54147.json/default/TopLevel.js
index ebba231..4c8c228 100644
--- a/base/flow/test/inputs/json/misc/54147.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/54147.json/default/TopLevel.js
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -134,7 +134,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/54d32.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/54d32.json/default/TopLevel.js
index d884bb6..4b3e4f4 100644
--- a/base/flow/test/inputs/json/misc/54d32.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/54d32.json/default/TopLevel.js
@@ -129,7 +129,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -140,7 +140,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/570ec.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/570ec.json/default/TopLevel.js
index df6a35e..a5a4f74 100644
--- a/base/flow/test/inputs/json/misc/570ec.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/570ec.json/default/TopLevel.js
@@ -142,7 +142,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -153,7 +153,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/5dd0d.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/5dd0d.json/default/TopLevel.js
index c7ac2de..ad4ec40 100644
--- a/base/flow/test/inputs/json/misc/5dd0d.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/5dd0d.json/default/TopLevel.js
@@ -140,7 +140,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -151,7 +151,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/5eae5.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/5eae5.json/default/TopLevel.js
index 2d34873..14ab7bb 100644
--- a/base/flow/test/inputs/json/misc/5eae5.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/5eae5.json/default/TopLevel.js
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/5eb20.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/5eb20.json/default/TopLevel.js
index c7ac2de..ad4ec40 100644
--- a/base/flow/test/inputs/json/misc/5eb20.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/5eb20.json/default/TopLevel.js
@@ -140,7 +140,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -151,7 +151,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/5f3a1.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/5f3a1.json/default/TopLevel.js
index 3bb973a..fdf3b5a 100644
--- a/base/flow/test/inputs/json/misc/5f3a1.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/5f3a1.json/default/TopLevel.js
@@ -109,7 +109,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/5f7fe.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/5f7fe.json/default/TopLevel.js
index e0c97d0..43d12f2 100644
--- a/base/flow/test/inputs/json/misc/5f7fe.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/5f7fe.json/default/TopLevel.js
@@ -295,7 +295,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -306,7 +306,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/617e8.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/617e8.json/default/TopLevel.js
index 772ffb1..9e3059b 100644
--- a/base/flow/test/inputs/json/misc/617e8.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/617e8.json/default/TopLevel.js
@@ -294,7 +294,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -305,7 +305,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/61b66.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/61b66.json/default/TopLevel.js
index c7ac2de..ad4ec40 100644
--- a/base/flow/test/inputs/json/misc/61b66.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/61b66.json/default/TopLevel.js
@@ -140,7 +140,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -151,7 +151,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/6260a.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/6260a.json/default/TopLevel.js
index 3bb973a..fdf3b5a 100644
--- a/base/flow/test/inputs/json/misc/6260a.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/6260a.json/default/TopLevel.js
@@ -109,7 +109,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/65dec.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/65dec.json/default/TopLevel.js
index 5439a46..99004d8 100644
--- a/base/flow/test/inputs/json/misc/65dec.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/65dec.json/default/TopLevel.js
@@ -194,7 +194,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -205,7 +205,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/66121.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/66121.json/default/TopLevel.js
index e1199ed..72dc9e9 100644
--- a/base/flow/test/inputs/json/misc/66121.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/66121.json/default/TopLevel.js
@@ -151,7 +151,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -162,7 +162,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/6617c.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/6617c.json/default/TopLevel.js
index 2c7f4a6..e8d1bfe 100644
--- a/base/flow/test/inputs/json/misc/6617c.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/6617c.json/default/TopLevel.js
@@ -114,7 +114,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -125,7 +125,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/67c03.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/67c03.json/default/TopLevel.js
index d156dcd..d197725 100644
--- a/base/flow/test/inputs/json/misc/67c03.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/67c03.json/default/TopLevel.js
@@ -114,7 +114,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -125,7 +125,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/68c30.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/68c30.json/default/TopLevel.js
index 46cf69f..3a222bb 100644
--- a/base/flow/test/inputs/json/misc/68c30.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/68c30.json/default/TopLevel.js
@@ -138,7 +138,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -149,7 +149,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/6c155.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/6c155.json/default/TopLevel.js
index c7e4986..efeec9e 100644
--- a/base/flow/test/inputs/json/misc/6c155.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/6c155.json/default/TopLevel.js
@@ -160,7 +160,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -171,7 +171,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/6de06.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/6de06.json/default/TopLevel.js
index 7b5ef08..6ee2b85 100644
--- a/base/flow/test/inputs/json/misc/6de06.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/6de06.json/default/TopLevel.js
@@ -255,7 +255,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -266,7 +266,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/6dec6.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/6dec6.json/default/TopLevel.js
index 3c0767b..e7a636f 100644
--- a/base/flow/test/inputs/json/misc/6dec6.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/6dec6.json/default/TopLevel.js
@@ -210,7 +210,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -221,7 +221,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/6eb00.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/6eb00.json/default/TopLevel.js
index 7d2b1cf..5b80136 100644
--- a/base/flow/test/inputs/json/misc/6eb00.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/6eb00.json/default/TopLevel.js
@@ -111,7 +111,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -122,7 +122,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/70c77.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/70c77.json/default/TopLevel.js
index 3bb973a..fdf3b5a 100644
--- a/base/flow/test/inputs/json/misc/70c77.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/70c77.json/default/TopLevel.js
@@ -109,7 +109,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/734ad.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/734ad.json/default/TopLevel.js
index 1966444..6ef2318 100644
--- a/base/flow/test/inputs/json/misc/734ad.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/734ad.json/default/TopLevel.js
@@ -181,7 +181,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -192,7 +192,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/75912.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/75912.json/default/TopLevel.js
index 3bb973a..fdf3b5a 100644
--- a/base/flow/test/inputs/json/misc/75912.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/75912.json/default/TopLevel.js
@@ -109,7 +109,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/7681c.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/7681c.json/default/TopLevel.js
index 5ffad09..b7b9fb9 100644
--- a/base/flow/test/inputs/json/misc/7681c.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/7681c.json/default/TopLevel.js
@@ -223,7 +223,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -234,7 +234,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/76ae1.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/76ae1.json/default/TopLevel.js
index f4001ff..9505580 100644
--- a/base/flow/test/inputs/json/misc/76ae1.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/76ae1.json/default/TopLevel.js
@@ -291,7 +291,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -302,7 +302,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/77392.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/77392.json/default/TopLevel.js
index ec26653..019aea5 100644
--- a/base/flow/test/inputs/json/misc/77392.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/77392.json/default/TopLevel.js
@@ -134,7 +134,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -145,7 +145,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/7d397.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/7d397.json/default/TopLevel.js
index daed49b..84b9c32 100644
--- a/base/flow/test/inputs/json/misc/7d397.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/7d397.json/default/TopLevel.js
@@ -182,7 +182,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -193,7 +193,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/7d722.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/7d722.json/default/TopLevel.js
index c7ac2de..ad4ec40 100644
--- a/base/flow/test/inputs/json/misc/7d722.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/7d722.json/default/TopLevel.js
@@ -140,7 +140,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -151,7 +151,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/7df41.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/7df41.json/default/TopLevel.js
index 46994ca..ef84f68 100644
--- a/base/flow/test/inputs/json/misc/7df41.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/7df41.json/default/TopLevel.js
@@ -117,7 +117,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -128,7 +128,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/7dfa6.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/7dfa6.json/default/TopLevel.js
index 6cc839f..745fefb 100644
--- a/base/flow/test/inputs/json/misc/7dfa6.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/7dfa6.json/default/TopLevel.js
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/7eb30.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/7eb30.json/default/TopLevel.js
index 5932680..df827d6 100644
--- a/base/flow/test/inputs/json/misc/7eb30.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/7eb30.json/default/TopLevel.js
@@ -151,7 +151,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -162,7 +162,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/7f568.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/7f568.json/default/TopLevel.js
index 6f21818..2bcc4cc 100644
--- a/base/flow/test/inputs/json/misc/7f568.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/7f568.json/default/TopLevel.js
@@ -138,7 +138,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -149,7 +149,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/7fbfb.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/7fbfb.json/default/TopLevel.js
index d84d9a6..9319ea9 100644
--- a/base/flow/test/inputs/json/misc/7fbfb.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/7fbfb.json/default/TopLevel.js
@@ -135,7 +135,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -146,7 +146,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/80aff.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/80aff.json/default/TopLevel.js
index f58d28c..b9e08a4 100644
--- a/base/flow/test/inputs/json/misc/80aff.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/80aff.json/default/TopLevel.js
@@ -126,7 +126,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -137,7 +137,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/82509.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/82509.json/default/TopLevel.js
index 12cc75e..4a10d4a 100644
--- a/base/flow/test/inputs/json/misc/82509.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/82509.json/default/TopLevel.js
@@ -107,7 +107,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -118,7 +118,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/8592b.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/8592b.json/default/TopLevel.js
index 6ba8b46..1b4095f 100644
--- a/base/flow/test/inputs/json/misc/8592b.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/8592b.json/default/TopLevel.js
@@ -230,7 +230,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -241,7 +241,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/88130.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/88130.json/default/TopLevel.js
index 6dba12d..a579f9d 100644
--- a/base/flow/test/inputs/json/misc/88130.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/88130.json/default/TopLevel.js
@@ -205,7 +205,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -216,7 +216,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/8a62c.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/8a62c.json/default/TopLevel.js
index 6cc839f..745fefb 100644
--- a/base/flow/test/inputs/json/misc/8a62c.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/8a62c.json/default/TopLevel.js
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/908db.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/908db.json/default/TopLevel.js
index 0a7d4d3..a3a695e 100644
--- a/base/flow/test/inputs/json/misc/908db.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/908db.json/default/TopLevel.js
@@ -116,7 +116,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -127,7 +127,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/9617f.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/9617f.json/default/TopLevel.js
index 3bb973a..fdf3b5a 100644
--- a/base/flow/test/inputs/json/misc/9617f.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/9617f.json/default/TopLevel.js
@@ -109,7 +109,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/96f7c.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/96f7c.json/default/TopLevel.js
index ef14be8..345f004 100644
--- a/base/flow/test/inputs/json/misc/96f7c.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/96f7c.json/default/TopLevel.js
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/9847b.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/9847b.json/default/TopLevel.js
index 6533855..c5eded5 100644
--- a/base/flow/test/inputs/json/misc/9847b.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/9847b.json/default/TopLevel.js
@@ -110,7 +110,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -121,7 +121,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/9929c.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/9929c.json/default/TopLevel.js
index 6dba12d..a579f9d 100644
--- a/base/flow/test/inputs/json/misc/9929c.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/9929c.json/default/TopLevel.js
@@ -205,7 +205,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -216,7 +216,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/996bd.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/996bd.json/default/TopLevel.js
index f298931..b18a4e6 100644
--- a/base/flow/test/inputs/json/misc/996bd.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/996bd.json/default/TopLevel.js
@@ -151,7 +151,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -162,7 +162,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/9a503.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/9a503.json/default/TopLevel.js
index 7a5b1c5..395074c 100644
--- a/base/flow/test/inputs/json/misc/9a503.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/9a503.json/default/TopLevel.js
@@ -137,7 +137,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -148,7 +148,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/9ac3b.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/9ac3b.json/default/TopLevel.js
index be0be36..f5736f2 100644
--- a/base/flow/test/inputs/json/misc/9ac3b.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/9ac3b.json/default/TopLevel.js
@@ -138,7 +138,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -149,7 +149,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/9eed5.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/9eed5.json/default/TopLevel.js
index 83fa291..3a783b8 100644
--- a/base/flow/test/inputs/json/misc/9eed5.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/9eed5.json/default/TopLevel.js
@@ -136,7 +136,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -147,7 +147,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/a0496.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/a0496.json/default/TopLevel.js
index 5725050..664e64c 100644
--- a/base/flow/test/inputs/json/misc/a0496.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/a0496.json/default/TopLevel.js
@@ -128,7 +128,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -139,7 +139,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/a1eca.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/a1eca.json/default/TopLevel.js
index 6dba12d..a579f9d 100644
--- a/base/flow/test/inputs/json/misc/a1eca.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/a1eca.json/default/TopLevel.js
@@ -205,7 +205,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -216,7 +216,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/a3d8c.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/a3d8c.json/default/TopLevel.js
index 43e579f..deeb4c5 100644
--- a/base/flow/test/inputs/json/misc/a3d8c.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/a3d8c.json/default/TopLevel.js
@@ -223,7 +223,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -234,7 +234,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/a45b0.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/a45b0.json/default/TopLevel.js
index 89794b9..bcf4607 100644
--- a/base/flow/test/inputs/json/misc/a45b0.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/a45b0.json/default/TopLevel.js
@@ -117,7 +117,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -128,7 +128,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/a71df.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/a71df.json/default/TopLevel.js
index c7ac2de..ad4ec40 100644
--- a/base/flow/test/inputs/json/misc/a71df.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/a71df.json/default/TopLevel.js
@@ -140,7 +140,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -151,7 +151,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/a9691.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/a9691.json/default/TopLevel.js
index 3bb973a..fdf3b5a 100644
--- a/base/flow/test/inputs/json/misc/a9691.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/a9691.json/default/TopLevel.js
@@ -109,7 +109,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/ab0d1.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/ab0d1.json/default/TopLevel.js
index 89794b9..bcf4607 100644
--- a/base/flow/test/inputs/json/misc/ab0d1.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/ab0d1.json/default/TopLevel.js
@@ -117,7 +117,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -128,7 +128,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/abb4b.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/abb4b.json/default/TopLevel.js
index 6cc839f..745fefb 100644
--- a/base/flow/test/inputs/json/misc/abb4b.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/abb4b.json/default/TopLevel.js
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/ac944.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/ac944.json/default/TopLevel.js
index 3bb973a..fdf3b5a 100644
--- a/base/flow/test/inputs/json/misc/ac944.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/ac944.json/default/TopLevel.js
@@ -109,7 +109,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/ad8be.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/ad8be.json/default/TopLevel.js
index 63eecca..44b2ca4 100644
--- a/base/flow/test/inputs/json/misc/ad8be.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/ad8be.json/default/TopLevel.js
@@ -174,7 +174,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -185,7 +185,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/ae7f0.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/ae7f0.json/default/TopLevel.js
index f6846b2..d03dd39 100644
--- a/base/flow/test/inputs/json/misc/ae7f0.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/ae7f0.json/default/TopLevel.js
@@ -204,7 +204,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -215,7 +215,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/ae9ca.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/ae9ca.json/default/TopLevel.js
index 670c8dd..0289e96 100644
--- a/base/flow/test/inputs/json/misc/ae9ca.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/ae9ca.json/default/TopLevel.js
@@ -153,7 +153,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -164,7 +164,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/af2d1.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/af2d1.json/default/TopLevel.js
index a3bad4d..fa19db9 100644
--- a/base/flow/test/inputs/json/misc/af2d1.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/af2d1.json/default/TopLevel.js
@@ -215,7 +215,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -226,7 +226,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/b4865.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/b4865.json/default/TopLevel.js
index c90ee85..ff51e69 100644
--- a/base/flow/test/inputs/json/misc/b4865.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/b4865.json/default/TopLevel.js
@@ -135,7 +135,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -146,7 +146,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/b6f2c.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/b6f2c.json/default/TopLevel.js
index 6cc839f..745fefb 100644
--- a/base/flow/test/inputs/json/misc/b6f2c.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/b6f2c.json/default/TopLevel.js
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/b6fe5.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/b6fe5.json/default/TopLevel.js
index e38f3a8..1845440 100644
--- a/base/flow/test/inputs/json/misc/b6fe5.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/b6fe5.json/default/TopLevel.js
@@ -110,7 +110,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -121,7 +121,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/b9f64.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/b9f64.json/default/TopLevel.js
index 8fa46b9..77e9dd0 100644
--- a/base/flow/test/inputs/json/misc/b9f64.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/b9f64.json/default/TopLevel.js
@@ -107,7 +107,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -118,7 +118,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/bb1ec.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/bb1ec.json/default/TopLevel.js
index 6cc839f..745fefb 100644
--- a/base/flow/test/inputs/json/misc/bb1ec.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/bb1ec.json/default/TopLevel.js
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/be234.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/be234.json/default/TopLevel.js
index 0cb3e64..5694092 100644
--- a/base/flow/test/inputs/json/misc/be234.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/be234.json/default/TopLevel.js
@@ -269,7 +269,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -280,7 +280,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/c0356.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/c0356.json/default/TopLevel.js
index c715046..97954b8 100644
--- a/base/flow/test/inputs/json/misc/c0356.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/c0356.json/default/TopLevel.js
@@ -119,7 +119,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -130,7 +130,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/c0a3a.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/c0a3a.json/default/TopLevel.js
index c7ac2de..ad4ec40 100644
--- a/base/flow/test/inputs/json/misc/c0a3a.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/c0a3a.json/default/TopLevel.js
@@ -140,7 +140,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -151,7 +151,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/c3303.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/c3303.json/default/TopLevel.js
index c0554e5..6a8dce9 100644
--- a/base/flow/test/inputs/json/misc/c3303.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/c3303.json/default/TopLevel.js
@@ -220,7 +220,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -231,7 +231,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/c6cfd.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/c6cfd.json/default/TopLevel.js
index ff97c25..cf17077 100644
--- a/base/flow/test/inputs/json/misc/c6cfd.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/c6cfd.json/default/TopLevel.js
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/c8c7e.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/c8c7e.json/default/TopLevel.js
index 2655a97..a52dfa4 100644
--- a/base/flow/test/inputs/json/misc/c8c7e.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/c8c7e.json/default/TopLevel.js
@@ -135,7 +135,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -146,7 +146,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/cb0cc.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/cb0cc.json/default/TopLevel.js
index 1ae3eae..0f5b4c6 100644
--- a/base/flow/test/inputs/json/misc/cb0cc.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/cb0cc.json/default/TopLevel.js
@@ -130,7 +130,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -141,7 +141,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/cb81e.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/cb81e.json/default/TopLevel.js
index d6a0df8..5775425 100644
--- a/base/flow/test/inputs/json/misc/cb81e.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/cb81e.json/default/TopLevel.js
@@ -115,7 +115,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -126,7 +126,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/ccd18.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/ccd18.json/default/TopLevel.js
index c7ac2de..ad4ec40 100644
--- a/base/flow/test/inputs/json/misc/ccd18.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/ccd18.json/default/TopLevel.js
@@ -140,7 +140,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -151,7 +151,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/cd238.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/cd238.json/default/TopLevel.js
index c7ac2de..ad4ec40 100644
--- a/base/flow/test/inputs/json/misc/cd238.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/cd238.json/default/TopLevel.js
@@ -140,7 +140,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -151,7 +151,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/cd463.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/cd463.json/default/TopLevel.js
index 3bb973a..fdf3b5a 100644
--- a/base/flow/test/inputs/json/misc/cd463.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/cd463.json/default/TopLevel.js
@@ -109,7 +109,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/cda6c.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/cda6c.json/default/TopLevel.js
index bb61a30..ed7c3e9 100644
--- a/base/flow/test/inputs/json/misc/cda6c.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/cda6c.json/default/TopLevel.js
@@ -135,7 +135,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -146,7 +146,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/cf0d8.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/cf0d8.json/default/TopLevel.js
index 6dba12d..a579f9d 100644
--- a/base/flow/test/inputs/json/misc/cf0d8.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/cf0d8.json/default/TopLevel.js
@@ -205,7 +205,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -216,7 +216,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/cfbce.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/cfbce.json/default/TopLevel.js
index 3bb973a..fdf3b5a 100644
--- a/base/flow/test/inputs/json/misc/cfbce.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/cfbce.json/default/TopLevel.js
@@ -109,7 +109,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/d0908.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/d0908.json/default/TopLevel.js
index 6cc839f..745fefb 100644
--- a/base/flow/test/inputs/json/misc/d0908.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/d0908.json/default/TopLevel.js
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/d23d5.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/d23d5.json/default/TopLevel.js
index 61d1e3f..77ae604 100644
--- a/base/flow/test/inputs/json/misc/d23d5.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/d23d5.json/default/TopLevel.js
@@ -125,7 +125,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -136,7 +136,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/dbfb3.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/dbfb3.json/default/TopLevel.js
index 91a80f8..ca9919a 100644
--- a/base/flow/test/inputs/json/misc/dbfb3.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/dbfb3.json/default/TopLevel.js
@@ -209,7 +209,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -220,7 +220,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/dc44f.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/dc44f.json/default/TopLevel.js
index ff5cb85..bb205d5 100644
--- a/base/flow/test/inputs/json/misc/dc44f.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/dc44f.json/default/TopLevel.js
@@ -233,7 +233,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -244,7 +244,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/dd1ce.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/dd1ce.json/default/TopLevel.js
index ff5cb85..bb205d5 100644
--- a/base/flow/test/inputs/json/misc/dd1ce.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/dd1ce.json/default/TopLevel.js
@@ -233,7 +233,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -244,7 +244,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/dec3a.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/dec3a.json/default/TopLevel.js
index 2eed152..7aff8a9 100644
--- a/base/flow/test/inputs/json/misc/dec3a.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/dec3a.json/default/TopLevel.js
@@ -168,7 +168,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -179,7 +179,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/df957.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/df957.json/default/TopLevel.js
index 6dba12d..a579f9d 100644
--- a/base/flow/test/inputs/json/misc/df957.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/df957.json/default/TopLevel.js
@@ -205,7 +205,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -216,7 +216,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/e0ac7.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/e0ac7.json/default/TopLevel.js
index ab2051d..de76368 100644
--- a/base/flow/test/inputs/json/misc/e0ac7.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/e0ac7.json/default/TopLevel.js
@@ -217,7 +217,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -228,7 +228,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/e2915.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/e2915.json/default/TopLevel.js
index e774dfd..0b2bc84 100644
--- a/base/flow/test/inputs/json/misc/e2915.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/e2915.json/default/TopLevel.js
@@ -208,7 +208,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -219,7 +219,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/e2a58.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/e2a58.json/default/TopLevel.js
index 6ab5788..3bbcea2 100644
--- a/base/flow/test/inputs/json/misc/e2a58.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/e2a58.json/default/TopLevel.js
@@ -110,7 +110,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -121,7 +121,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/e324e.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/e324e.json/default/TopLevel.js
index 6f4278c..bdb48a1 100644
--- a/base/flow/test/inputs/json/misc/e324e.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/e324e.json/default/TopLevel.js
@@ -179,7 +179,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -190,7 +190,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/e53b5.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/e53b5.json/default/TopLevel.js
index 15ed332..8275b18 100644
--- a/base/flow/test/inputs/json/misc/e53b5.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/e53b5.json/default/TopLevel.js
@@ -135,7 +135,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -146,7 +146,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/e64a0.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/e64a0.json/default/TopLevel.js
index f9cab5b..eac113f 100644
--- a/base/flow/test/inputs/json/misc/e64a0.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/e64a0.json/default/TopLevel.js
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -131,7 +131,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/e8a0b.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/e8a0b.json/default/TopLevel.js
index 89794b9..bcf4607 100644
--- a/base/flow/test/inputs/json/misc/e8a0b.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/e8a0b.json/default/TopLevel.js
@@ -117,7 +117,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -128,7 +128,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/e8b04.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/e8b04.json/default/TopLevel.js
index 1459701..aab46ec 100644
--- a/base/flow/test/inputs/json/misc/e8b04.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/e8b04.json/default/TopLevel.js
@@ -377,7 +377,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -388,7 +388,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/ed095.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/ed095.json/default/TopLevel.js
index e58461b..30247d3 100644
--- a/base/flow/test/inputs/json/misc/ed095.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/ed095.json/default/TopLevel.js
@@ -105,7 +105,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -116,7 +116,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/f22f5.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/f22f5.json/default/TopLevel.js
index ba01b2c..fef1440 100644
--- a/base/flow/test/inputs/json/misc/f22f5.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/f22f5.json/default/TopLevel.js
@@ -201,7 +201,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -212,7 +212,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/f3139.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/f3139.json/default/TopLevel.js
index 6533855..c5eded5 100644
--- a/base/flow/test/inputs/json/misc/f3139.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/f3139.json/default/TopLevel.js
@@ -110,7 +110,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -121,7 +121,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/f3edf.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/f3edf.json/default/TopLevel.js
index 89794b9..bcf4607 100644
--- a/base/flow/test/inputs/json/misc/f3edf.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/f3edf.json/default/TopLevel.js
@@ -117,7 +117,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -128,7 +128,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/f466a.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/f466a.json/default/TopLevel.js
index 89794b9..bcf4607 100644
--- a/base/flow/test/inputs/json/misc/f466a.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/f466a.json/default/TopLevel.js
@@ -117,7 +117,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -128,7 +128,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/f6a65.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/f6a65.json/default/TopLevel.js
index 3b08027..e80ee0f 100644
--- a/base/flow/test/inputs/json/misc/f6a65.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/f6a65.json/default/TopLevel.js
@@ -224,7 +224,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -235,7 +235,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/f74d5.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/f74d5.json/default/TopLevel.js
index f85b0f6..bdbb0dc 100644
--- a/base/flow/test/inputs/json/misc/f74d5.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/f74d5.json/default/TopLevel.js
@@ -223,7 +223,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -234,7 +234,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/f82d9.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/f82d9.json/default/TopLevel.js
index f0c5302..2ca5f4b 100644
--- a/base/flow/test/inputs/json/misc/f82d9.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/f82d9.json/default/TopLevel.js
@@ -192,7 +192,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -203,7 +203,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/f974d.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/f974d.json/default/TopLevel.js
index 639b694..dd4155e 100644
--- a/base/flow/test/inputs/json/misc/f974d.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/f974d.json/default/TopLevel.js
@@ -111,7 +111,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -122,7 +122,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/faff5.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/faff5.json/default/TopLevel.js
index 2425915..75a5e56 100644
--- a/base/flow/test/inputs/json/misc/faff5.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/faff5.json/default/TopLevel.js
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/fcca3.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/fcca3.json/default/TopLevel.js
index b7ca334..041eda2 100644
--- a/base/flow/test/inputs/json/misc/fcca3.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/fcca3.json/default/TopLevel.js
@@ -320,7 +320,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -331,7 +331,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/misc/fd329.json/default/TopLevel.js b/head/flow/test/inputs/json/misc/fd329.json/default/TopLevel.js
index 1eccbad..22f369c 100644
--- a/base/flow/test/inputs/json/misc/fd329.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/misc/fd329.json/default/TopLevel.js
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -131,7 +131,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/blns-object.json/default/TopLevel.js b/head/flow/test/inputs/json/priority/blns-object.json/default/TopLevel.js
index 4486ec1..2aa5030 100644
--- a/base/flow/test/inputs/json/priority/blns-object.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/blns-object.json/default/TopLevel.js
@@ -702,7 +702,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -713,7 +713,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/bug2037.json/default/TopLevel.js b/head/flow/test/inputs/json/priority/bug2037.json/default/TopLevel.js
index 6524a5e..3f6959b 100644
--- a/base/flow/test/inputs/json/priority/bug2037.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/bug2037.json/default/TopLevel.js
@@ -118,7 +118,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -129,7 +129,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/bug2521.json/default/TopLevel.js b/head/flow/test/inputs/json/priority/bug2521.json/default/TopLevel.js
index 7d43d7b..21f11dc 100644
--- a/base/flow/test/inputs/json/priority/bug2521.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/bug2521.json/default/TopLevel.js
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/bug2590.json/default/TopLevel.js b/head/flow/test/inputs/json/priority/bug2590.json/default/TopLevel.js
index 31d6694..0b93750 100644
--- a/base/flow/test/inputs/json/priority/bug2590.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/bug2590.json/default/TopLevel.js
@@ -113,7 +113,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -124,7 +124,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/bug2663.json/default/TopLevel.js b/head/flow/test/inputs/json/priority/bug2663.json/default/TopLevel.js
index b0f0629..5f3f0d6 100644
--- a/base/flow/test/inputs/json/priority/bug2663.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/bug2663.json/default/TopLevel.js
@@ -109,7 +109,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/bug2793.json/default/TopLevel.js b/head/flow/test/inputs/json/priority/bug2793.json/default/TopLevel.js
index 40f8379..0263cfc 100644
--- a/base/flow/test/inputs/json/priority/bug2793.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/bug2793.json/default/TopLevel.js
@@ -116,7 +116,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -127,7 +127,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/bug427.json/default/TopLevel.js b/head/flow/test/inputs/json/priority/bug427.json/default/TopLevel.js
index 87141a4..752a1c7 100644
--- a/base/flow/test/inputs/json/priority/bug427.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/bug427.json/default/TopLevel.js
@@ -718,7 +718,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -729,7 +729,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/bug790.json/default/TopLevel.js b/head/flow/test/inputs/json/priority/bug790.json/default/TopLevel.js
index 61aae0c..a653798 100644
--- a/base/flow/test/inputs/json/priority/bug790.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/bug790.json/default/TopLevel.js
@@ -114,7 +114,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -125,7 +125,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/bug855-short.json/default/TopLevel.js b/head/flow/test/inputs/json/priority/bug855-short.json/default/TopLevel.js
index 9228688..0484f98 100644
--- a/base/flow/test/inputs/json/priority/bug855-short.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/bug855-short.json/default/TopLevel.js
@@ -111,7 +111,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -122,7 +122,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/bug863.json/default/TopLevel.js b/head/flow/test/inputs/json/priority/bug863.json/default/TopLevel.js
index 2d45f63..b279e5d 100644
--- a/base/flow/test/inputs/json/priority/bug863.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/bug863.json/default/TopLevel.js
@@ -193,7 +193,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -204,7 +204,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/coin-pairs.json/default/TopLevel.js b/head/flow/test/inputs/json/priority/coin-pairs.json/default/TopLevel.js
index ce2c15a..1aac081 100644
--- a/base/flow/test/inputs/json/priority/coin-pairs.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/coin-pairs.json/default/TopLevel.js
@@ -119,7 +119,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -130,7 +130,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/combinations1.json/default/TopLevel.js b/head/flow/test/inputs/json/priority/combinations1.json/default/TopLevel.js
index 892898a..d38ad26 100644
--- a/base/flow/test/inputs/json/priority/combinations1.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/combinations1.json/default/TopLevel.js
@@ -499,7 +499,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -510,7 +510,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/combinations1.json/nice-property-names-true--f4d7920ee2ce/TopLevel.js b/head/flow/test/inputs/json/priority/combinations1.json/nice-property-names-true--f4d7920ee2ce/TopLevel.js
index 8bdf8ea..934c304 100644
--- a/base/flow/test/inputs/json/priority/combinations1.json/nice-property-names-true--f4d7920ee2ce/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/combinations1.json/nice-property-names-true--f4d7920ee2ce/TopLevel.js
@@ -499,7 +499,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -510,7 +510,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/combinations1.json/prefer-unions-false--a5053c0a486d/TopLevel.js b/head/flow/test/inputs/json/priority/combinations1.json/prefer-unions-false--a5053c0a486d/TopLevel.js
index 892898a..d38ad26 100644
--- a/base/flow/test/inputs/json/priority/combinations1.json/prefer-unions-false--a5053c0a486d/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/combinations1.json/prefer-unions-false--a5053c0a486d/TopLevel.js
@@ -499,7 +499,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -510,7 +510,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/combinations1.json/prefer-unknown-false--f1ab9e45d823/TopLevel.js b/head/flow/test/inputs/json/priority/combinations1.json/prefer-unknown-false--f1ab9e45d823/TopLevel.js
index 892898a..d38ad26 100644
--- a/base/flow/test/inputs/json/priority/combinations1.json/prefer-unknown-false--f1ab9e45d823/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/combinations1.json/prefer-unknown-false--f1ab9e45d823/TopLevel.js
@@ -499,7 +499,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -510,7 +510,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/combinations1.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.js b/head/flow/test/inputs/json/priority/combinations1.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.js
index 3e621e4..26958d3 100644
--- a/base/flow/test/inputs/json/priority/combinations1.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/combinations1.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.js
@@ -499,7 +499,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -510,7 +510,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = val[key];
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/combinations2.json/default/TopLevel.js b/head/flow/test/inputs/json/priority/combinations2.json/default/TopLevel.js
index 5199f24..c8ed5a7 100644
--- a/base/flow/test/inputs/json/priority/combinations2.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/combinations2.json/default/TopLevel.js
@@ -451,7 +451,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -462,7 +462,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/combinations2.json/nice-property-names-true--f4d7920ee2ce/TopLevel.js b/head/flow/test/inputs/json/priority/combinations2.json/nice-property-names-true--f4d7920ee2ce/TopLevel.js
index c66bd33..43c7b65 100644
--- a/base/flow/test/inputs/json/priority/combinations2.json/nice-property-names-true--f4d7920ee2ce/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/combinations2.json/nice-property-names-true--f4d7920ee2ce/TopLevel.js
@@ -451,7 +451,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -462,7 +462,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/combinations2.json/prefer-unions-false--a5053c0a486d/TopLevel.js b/head/flow/test/inputs/json/priority/combinations2.json/prefer-unions-false--a5053c0a486d/TopLevel.js
index 5199f24..c8ed5a7 100644
--- a/base/flow/test/inputs/json/priority/combinations2.json/prefer-unions-false--a5053c0a486d/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/combinations2.json/prefer-unions-false--a5053c0a486d/TopLevel.js
@@ -451,7 +451,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -462,7 +462,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/combinations2.json/prefer-unknown-false--f1ab9e45d823/TopLevel.js b/head/flow/test/inputs/json/priority/combinations2.json/prefer-unknown-false--f1ab9e45d823/TopLevel.js
index 5199f24..c8ed5a7 100644
--- a/base/flow/test/inputs/json/priority/combinations2.json/prefer-unknown-false--f1ab9e45d823/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/combinations2.json/prefer-unknown-false--f1ab9e45d823/TopLevel.js
@@ -451,7 +451,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -462,7 +462,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/combinations2.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.js b/head/flow/test/inputs/json/priority/combinations2.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.js
index e565a44..898833a 100644
--- a/base/flow/test/inputs/json/priority/combinations2.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/combinations2.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.js
@@ -451,7 +451,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -462,7 +462,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = val[key];
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/combinations3.json/default/TopLevel.js b/head/flow/test/inputs/json/priority/combinations3.json/default/TopLevel.js
index a84f903..7aab8c3 100644
--- a/base/flow/test/inputs/json/priority/combinations3.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/combinations3.json/default/TopLevel.js
@@ -555,7 +555,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -566,7 +566,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/combinations3.json/nice-property-names-true--f4d7920ee2ce/TopLevel.js b/head/flow/test/inputs/json/priority/combinations3.json/nice-property-names-true--f4d7920ee2ce/TopLevel.js
index 0be9d36..bc7ad49 100644
--- a/base/flow/test/inputs/json/priority/combinations3.json/nice-property-names-true--f4d7920ee2ce/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/combinations3.json/nice-property-names-true--f4d7920ee2ce/TopLevel.js
@@ -555,7 +555,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -566,7 +566,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/combinations3.json/prefer-unions-false--a5053c0a486d/TopLevel.js b/head/flow/test/inputs/json/priority/combinations3.json/prefer-unions-false--a5053c0a486d/TopLevel.js
index a84f903..7aab8c3 100644
--- a/base/flow/test/inputs/json/priority/combinations3.json/prefer-unions-false--a5053c0a486d/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/combinations3.json/prefer-unions-false--a5053c0a486d/TopLevel.js
@@ -555,7 +555,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -566,7 +566,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/combinations3.json/prefer-unknown-false--f1ab9e45d823/TopLevel.js b/head/flow/test/inputs/json/priority/combinations3.json/prefer-unknown-false--f1ab9e45d823/TopLevel.js
index a84f903..7aab8c3 100644
--- a/base/flow/test/inputs/json/priority/combinations3.json/prefer-unknown-false--f1ab9e45d823/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/combinations3.json/prefer-unknown-false--f1ab9e45d823/TopLevel.js
@@ -555,7 +555,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -566,7 +566,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/combinations3.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.js b/head/flow/test/inputs/json/priority/combinations3.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.js
index 1e61073..d8bc3d6 100644
--- a/base/flow/test/inputs/json/priority/combinations3.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/combinations3.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.js
@@ -555,7 +555,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -566,7 +566,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = val[key];
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/combinations4.json/default/TopLevel.js b/head/flow/test/inputs/json/priority/combinations4.json/default/TopLevel.js
index fb135e5..5172ba0 100644
--- a/base/flow/test/inputs/json/priority/combinations4.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/combinations4.json/default/TopLevel.js
@@ -625,7 +625,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -636,7 +636,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/combinations4.json/nice-property-names-true--f4d7920ee2ce/TopLevel.js b/head/flow/test/inputs/json/priority/combinations4.json/nice-property-names-true--f4d7920ee2ce/TopLevel.js
index 4859842..177b92a 100644
--- a/base/flow/test/inputs/json/priority/combinations4.json/nice-property-names-true--f4d7920ee2ce/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/combinations4.json/nice-property-names-true--f4d7920ee2ce/TopLevel.js
@@ -625,7 +625,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -636,7 +636,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/combinations4.json/prefer-unions-false--a5053c0a486d/TopLevel.js b/head/flow/test/inputs/json/priority/combinations4.json/prefer-unions-false--a5053c0a486d/TopLevel.js
index fb135e5..5172ba0 100644
--- a/base/flow/test/inputs/json/priority/combinations4.json/prefer-unions-false--a5053c0a486d/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/combinations4.json/prefer-unions-false--a5053c0a486d/TopLevel.js
@@ -625,7 +625,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -636,7 +636,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/combinations4.json/prefer-unknown-false--f1ab9e45d823/TopLevel.js b/head/flow/test/inputs/json/priority/combinations4.json/prefer-unknown-false--f1ab9e45d823/TopLevel.js
index fb135e5..5172ba0 100644
--- a/base/flow/test/inputs/json/priority/combinations4.json/prefer-unknown-false--f1ab9e45d823/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/combinations4.json/prefer-unknown-false--f1ab9e45d823/TopLevel.js
@@ -625,7 +625,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -636,7 +636,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/combinations4.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.js b/head/flow/test/inputs/json/priority/combinations4.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.js
index ecd1d0c..36ce1d2 100644
--- a/base/flow/test/inputs/json/priority/combinations4.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/combinations4.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.js
@@ -625,7 +625,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -636,7 +636,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = val[key];
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/combined-enum.json/default/TopLevel.js b/head/flow/test/inputs/json/priority/combined-enum.json/default/TopLevel.js
index f1b13bb..422d447 100644
--- a/base/flow/test/inputs/json/priority/combined-enum.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/combined-enum.json/default/TopLevel.js
@@ -117,7 +117,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -128,7 +128,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/direct-recursive.json/default/TopLevel.js b/head/flow/test/inputs/json/priority/direct-recursive.json/default/TopLevel.js
index 57ff834..93591c3 100644
--- a/base/flow/test/inputs/json/priority/direct-recursive.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/direct-recursive.json/default/TopLevel.js
@@ -111,7 +111,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -122,7 +122,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/empty-enum.json/default/TopLevel.js b/head/flow/test/inputs/json/priority/empty-enum.json/default/TopLevel.js
index 3eb2ee8..06a1baf 100644
--- a/base/flow/test/inputs/json/priority/empty-enum.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/empty-enum.json/default/TopLevel.js
@@ -111,7 +111,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -122,7 +122,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/identifiers.json/default/TopLevel.js b/head/flow/test/inputs/json/priority/identifiers.json/default/TopLevel.js
index 7b97fb6..822c35a 100644
--- a/base/flow/test/inputs/json/priority/identifiers.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/identifiers.json/default/TopLevel.js
@@ -138,7 +138,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -149,7 +149,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/issue2680-object-array.json/default/TopLevel.js b/head/flow/test/inputs/json/priority/issue2680-object-array.json/default/TopLevel.js
index 3304381..c71f035 100644
--- a/base/flow/test/inputs/json/priority/issue2680-object-array.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/issue2680-object-array.json/default/TopLevel.js
@@ -109,7 +109,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/issue2680-scalar-array.json/default/TopLevel.js b/head/flow/test/inputs/json/priority/issue2680-scalar-array.json/default/TopLevel.js
index 57ef2c0..a894724 100644
--- a/base/flow/test/inputs/json/priority/issue2680-scalar-array.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/issue2680-scalar-array.json/default/TopLevel.js
@@ -105,7 +105,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -116,7 +116,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/keywords.json/default/TopLevel.js b/head/flow/test/inputs/json/priority/keywords.json/default/TopLevel.js
index 2029e3d..ea8bd62 100644
--- a/base/flow/test/inputs/json/priority/keywords.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/keywords.json/default/TopLevel.js
@@ -1801,7 +1801,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -1812,7 +1812,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/kotlin-enum-class-case-collision.json/default/TopLevel.js b/head/flow/test/inputs/json/priority/kotlin-enum-class-case-collision.json/default/TopLevel.js
index f80ddb1..1909ad9 100644
--- a/base/flow/test/inputs/json/priority/kotlin-enum-class-case-collision.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/kotlin-enum-class-case-collision.json/default/TopLevel.js
@@ -113,7 +113,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -124,7 +124,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/list.json/default/TopLevel.js b/head/flow/test/inputs/json/priority/list.json/default/TopLevel.js
index 46b9ee9..0280c74 100644
--- a/base/flow/test/inputs/json/priority/list.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/list.json/default/TopLevel.js
@@ -108,7 +108,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -119,7 +119,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/name-style.json/default/TopLevel.js b/head/flow/test/inputs/json/priority/name-style.json/default/TopLevel.js
index 26fd739..bdba130 100644
--- a/base/flow/test/inputs/json/priority/name-style.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/name-style.json/default/TopLevel.js
@@ -113,7 +113,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -124,7 +124,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/nbl-stats.json/default/TopLevel.js b/head/flow/test/inputs/json/priority/nbl-stats.json/default/TopLevel.js
index bc67efb..5d938b7 100644
--- a/base/flow/test/inputs/json/priority/nbl-stats.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/nbl-stats.json/default/TopLevel.js
@@ -439,7 +439,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -450,7 +450,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/nested-objects.json/default/TopLevel.js b/head/flow/test/inputs/json/priority/nested-objects.json/default/TopLevel.js
index 70f13bb..0e3d338 100644
--- a/base/flow/test/inputs/json/priority/nested-objects.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/nested-objects.json/default/TopLevel.js
@@ -108,7 +108,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -119,7 +119,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/no-classes.json/default/TopLevel.js b/head/flow/test/inputs/json/priority/no-classes.json/default/TopLevel.js
index a8973a2..39cc484 100644
--- a/base/flow/test/inputs/json/priority/no-classes.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/no-classes.json/default/TopLevel.js
@@ -105,7 +105,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -116,7 +116,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/nst-test-suite.json/default/TopLevel.js b/head/flow/test/inputs/json/priority/nst-test-suite.json/default/TopLevel.js
index 5f71ad1..72b4770 100644
--- a/base/flow/test/inputs/json/priority/nst-test-suite.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/nst-test-suite.json/default/TopLevel.js
@@ -247,7 +247,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -258,7 +258,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/number-map.json/default/TopLevel.js b/head/flow/test/inputs/json/priority/number-map.json/default/TopLevel.js
index cad18ef..30ae4d6 100644
--- a/base/flow/test/inputs/json/priority/number-map.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/number-map.json/default/TopLevel.js
@@ -107,7 +107,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -118,7 +118,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/omit-empty.json/default/TopLevel.js b/head/flow/test/inputs/json/priority/omit-empty.json/default/TopLevel.js
index 0273271..c086ed3 100644
--- a/base/flow/test/inputs/json/priority/omit-empty.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/omit-empty.json/default/TopLevel.js
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/optional-union.json/default/TopLevel.js b/head/flow/test/inputs/json/priority/optional-union.json/default/TopLevel.js
index 643d117..46ccba8 100644
--- a/base/flow/test/inputs/json/priority/optional-union.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/optional-union.json/default/TopLevel.js
@@ -111,7 +111,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -122,7 +122,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/php-mixed-union.json/default/TopLevel.js b/head/flow/test/inputs/json/priority/php-mixed-union.json/default/TopLevel.js
index 4e4662d..323c98f 100644
--- a/base/flow/test/inputs/json/priority/php-mixed-union.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/php-mixed-union.json/default/TopLevel.js
@@ -113,7 +113,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -124,7 +124,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/php-validation.json/default/TopLevel.js b/head/flow/test/inputs/json/priority/php-validation.json/default/TopLevel.js
index 8b5565e..4deac1c 100644
--- a/base/flow/test/inputs/json/priority/php-validation.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/php-validation.json/default/TopLevel.js
@@ -111,7 +111,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -122,7 +122,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/recursive.json/default/TopLevel.js b/head/flow/test/inputs/json/priority/recursive.json/default/TopLevel.js
index 3e0e277..f68675a 100644
--- a/base/flow/test/inputs/json/priority/recursive.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/recursive.json/default/TopLevel.js
@@ -226,7 +226,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -237,7 +237,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/simple-identifiers.json/default/TopLevel.js b/head/flow/test/inputs/json/priority/simple-identifiers.json/default/TopLevel.js
index 4a7b9cd..d133076 100644
--- a/base/flow/test/inputs/json/priority/simple-identifiers.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/simple-identifiers.json/default/TopLevel.js
@@ -115,7 +115,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -126,7 +126,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/union-constructor-clash.json/default/TopLevel.js b/head/flow/test/inputs/json/priority/union-constructor-clash.json/default/TopLevel.js
index a3987a9..d2e6730 100644
--- a/base/flow/test/inputs/json/priority/union-constructor-clash.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/union-constructor-clash.json/default/TopLevel.js
@@ -114,7 +114,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -125,7 +125,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/unions.json/default/TopLevel.js b/head/flow/test/inputs/json/priority/unions.json/default/TopLevel.js
index 283c106..522a302 100644
--- a/base/flow/test/inputs/json/priority/unions.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/unions.json/default/TopLevel.js
@@ -117,7 +117,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -128,7 +128,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/url.json/default/TopLevel.js b/head/flow/test/inputs/json/priority/url.json/default/TopLevel.js
index 4c1410e..e99ecd9 100644
--- a/base/flow/test/inputs/json/priority/url.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/url.json/default/TopLevel.js
@@ -108,7 +108,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -119,7 +119,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/priority/uuids.json/default/TopLevel.js b/head/flow/test/inputs/json/priority/uuids.json/default/TopLevel.js
index ff9d6dd..f9ab3e8 100644
--- a/base/flow/test/inputs/json/priority/uuids.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/priority/uuids.json/default/TopLevel.js
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/samples/bitcoin-block.json/default/TopLevel.js b/head/flow/test/inputs/json/samples/bitcoin-block.json/default/TopLevel.js
index 639b694..dd4155e 100644
--- a/base/flow/test/inputs/json/samples/bitcoin-block.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/samples/bitcoin-block.json/default/TopLevel.js
@@ -111,7 +111,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -122,7 +122,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/samples/copy-with-property.json/default/TopLevel.js b/head/flow/test/inputs/json/samples/copy-with-property.json/default/TopLevel.js
index 9f7c83e..65a77d0 100644
--- a/base/flow/test/inputs/json/samples/copy-with-property.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/samples/copy-with-property.json/default/TopLevel.js
@@ -108,7 +108,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -119,7 +119,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/samples/getting-started.json/default/TopLevel.js b/head/flow/test/inputs/json/samples/getting-started.json/default/TopLevel.js
index 0a0728d..c79238c 100644
--- a/base/flow/test/inputs/json/samples/getting-started.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/samples/getting-started.json/default/TopLevel.js
@@ -108,7 +108,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -119,7 +119,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/samples/github-events.json/default/TopLevel.js b/head/flow/test/inputs/json/samples/github-events.json/default/TopLevel.js
index f17022b..513f04a 100644
--- a/base/flow/test/inputs/json/samples/github-events.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/samples/github-events.json/default/TopLevel.js
@@ -395,7 +395,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -406,7 +406,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/samples/kitchen-sink.json/default/TopLevel.js b/head/flow/test/inputs/json/samples/kitchen-sink.json/default/TopLevel.js
index 536024f..e823cd2 100644
--- a/base/flow/test/inputs/json/samples/kitchen-sink.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/samples/kitchen-sink.json/default/TopLevel.js
@@ -139,7 +139,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -150,7 +150,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/samples/null-safe.json/default/TopLevel.js b/head/flow/test/inputs/json/samples/null-safe.json/default/TopLevel.js
index aacaf95..63d0123 100644
--- a/base/flow/test/inputs/json/samples/null-safe.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/samples/null-safe.json/default/TopLevel.js
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -131,7 +131,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/samples/objc-control-characters.json/default/TopLevel.js b/head/flow/test/inputs/json/samples/objc-control-characters.json/default/TopLevel.js
index d7e76ba..e0052d5 100644
--- a/base/flow/test/inputs/json/samples/objc-control-characters.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/samples/objc-control-characters.json/default/TopLevel.js
@@ -113,7 +113,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -124,7 +124,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/samples/pokedex.json/default/TopLevel.js b/head/flow/test/inputs/json/samples/pokedex.json/default/TopLevel.js
index 74b9473..2f1fb91 100644
--- a/base/flow/test/inputs/json/samples/pokedex.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/samples/pokedex.json/default/TopLevel.js
@@ -159,7 +159,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -170,7 +170,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/samples/reddit.json/default/TopLevel.js b/head/flow/test/inputs/json/samples/reddit.json/default/TopLevel.js
index 2f58942..24bb42e 100644
--- a/base/flow/test/inputs/json/samples/reddit.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/samples/reddit.json/default/TopLevel.js
@@ -248,7 +248,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -259,7 +259,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/samples/simple-object.json/default/TopLevel.js b/head/flow/test/inputs/json/samples/simple-object.json/default/TopLevel.js
index 381cd53..9c99e75 100644
--- a/base/flow/test/inputs/json/samples/simple-object.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/samples/simple-object.json/default/TopLevel.js
@@ -109,7 +109,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/samples/spotify-album.json/default/TopLevel.js b/head/flow/test/inputs/json/samples/spotify-album.json/default/TopLevel.js
index 99106e9..cebdc47 100644
--- a/base/flow/test/inputs/json/samples/spotify-album.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/samples/spotify-album.json/default/TopLevel.js
@@ -177,7 +177,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -188,7 +188,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/samples/us-avg-temperatures.json/default/TopLevel.js b/head/flow/test/inputs/json/samples/us-avg-temperatures.json/default/TopLevel.js
index 1eccbad..22f369c 100644
--- a/base/flow/test/inputs/json/samples/us-avg-temperatures.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/samples/us-avg-temperatures.json/default/TopLevel.js
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -131,7 +131,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/flow/test/inputs/json/samples/us-senators.json/default/TopLevel.js b/head/flow/test/inputs/json/samples/us-senators.json/default/TopLevel.js
index a439e02..316d1f8 100644
--- a/base/flow/test/inputs/json/samples/us-senators.json/default/TopLevel.js
+++ b/head/flow/test/inputs/json/samples/us-senators.json/default/TopLevel.js
@@ -212,7 +212,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -223,7 +223,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/graphql-flow/test/inputs/graphql/github1.graphql/default/TopLevel.js b/head/graphql-flow/test/inputs/graphql/github1.graphql/default/TopLevel.js
index e0890fb..aa140fd 100644
--- a/base/graphql-flow/test/inputs/graphql/github1.graphql/default/TopLevel.js
+++ b/head/graphql-flow/test/inputs/graphql/github1.graphql/default/TopLevel.js
@@ -121,7 +121,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -132,7 +132,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/graphql-flow/test/inputs/graphql/github2.graphql/default/TopLevel.js b/head/graphql-flow/test/inputs/graphql/github2.graphql/default/TopLevel.js
index 17c0615..970a805 100644
--- a/base/graphql-flow/test/inputs/graphql/github2.graphql/default/TopLevel.js
+++ b/head/graphql-flow/test/inputs/graphql/github2.graphql/default/TopLevel.js
@@ -130,7 +130,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -141,7 +141,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/graphql-flow/test/inputs/graphql/github3.graphql/default/TopLevel.js b/head/graphql-flow/test/inputs/graphql/github3.graphql/default/TopLevel.js
index 4e2fad5..a0a1eae 100644
--- a/base/graphql-flow/test/inputs/graphql/github3.graphql/default/TopLevel.js
+++ b/head/graphql-flow/test/inputs/graphql/github3.graphql/default/TopLevel.js
@@ -138,7 +138,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -149,7 +149,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/graphql-flow/test/inputs/graphql/github4.graphql/default/TopLevel.js b/head/graphql-flow/test/inputs/graphql/github4.graphql/default/TopLevel.js
index 6970141..eff8131 100644
--- a/base/graphql-flow/test/inputs/graphql/github4.graphql/default/TopLevel.js
+++ b/head/graphql-flow/test/inputs/graphql/github4.graphql/default/TopLevel.js
@@ -139,7 +139,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -150,7 +150,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/graphql-flow/test/inputs/graphql/github5.graphql/default/TopLevel.js b/head/graphql-flow/test/inputs/graphql/github5.graphql/default/TopLevel.js
index 6f93b2c..17d7020 100644
--- a/base/graphql-flow/test/inputs/graphql/github5.graphql/default/TopLevel.js
+++ b/head/graphql-flow/test/inputs/graphql/github5.graphql/default/TopLevel.js
@@ -121,7 +121,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -132,7 +132,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/graphql-flow/test/inputs/graphql/github6.graphql/default/TopLevel.js b/head/graphql-flow/test/inputs/graphql/github6.graphql/default/TopLevel.js
index 82910a8..3eec7e0 100644
--- a/base/graphql-flow/test/inputs/graphql/github6.graphql/default/TopLevel.js
+++ b/head/graphql-flow/test/inputs/graphql/github6.graphql/default/TopLevel.js
@@ -121,7 +121,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -132,7 +132,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/graphql-flow/test/inputs/graphql/github7.graphql/default/TopLevel.js b/head/graphql-flow/test/inputs/graphql/github7.graphql/default/TopLevel.js
index 144e435..b30a466 100644
--- a/base/graphql-flow/test/inputs/graphql/github7.graphql/default/TopLevel.js
+++ b/head/graphql-flow/test/inputs/graphql/github7.graphql/default/TopLevel.js
@@ -142,7 +142,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -153,7 +153,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/graphql-flow/test/inputs/graphql/github8.graphql/default/TopLevel.js b/head/graphql-flow/test/inputs/graphql/github8.graphql/default/TopLevel.js
index 0a8d281..7f153bb 100644
--- a/base/graphql-flow/test/inputs/graphql/github8.graphql/default/TopLevel.js
+++ b/head/graphql-flow/test/inputs/graphql/github8.graphql/default/TopLevel.js
@@ -132,7 +132,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -143,7 +143,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/graphql-flow/test/inputs/graphql/github9.graphql/default/TopLevel.js b/head/graphql-flow/test/inputs/graphql/github9.graphql/default/TopLevel.js
index 4244d70..760d886 100644
--- a/base/graphql-flow/test/inputs/graphql/github9.graphql/default/TopLevel.js
+++ b/head/graphql-flow/test/inputs/graphql/github9.graphql/default/TopLevel.js
@@ -139,7 +139,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -150,7 +150,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/graphql-javascript/test/inputs/graphql/github1.graphql/default/TopLevel.js b/head/graphql-javascript/test/inputs/graphql/github1.graphql/default/TopLevel.js
index a908803..adda7dc 100644
--- a/base/graphql-javascript/test/inputs/graphql/github1.graphql/default/TopLevel.js
+++ b/head/graphql-javascript/test/inputs/graphql/github1.graphql/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/graphql-javascript/test/inputs/graphql/github2.graphql/default/TopLevel.js b/head/graphql-javascript/test/inputs/graphql/github2.graphql/default/TopLevel.js
index 327d7fd..1326964 100644
--- a/base/graphql-javascript/test/inputs/graphql/github2.graphql/default/TopLevel.js
+++ b/head/graphql-javascript/test/inputs/graphql/github2.graphql/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/graphql-javascript/test/inputs/graphql/github3.graphql/default/TopLevel.js b/head/graphql-javascript/test/inputs/graphql/github3.graphql/default/TopLevel.js
index 1f86530..74ffea9 100644
--- a/base/graphql-javascript/test/inputs/graphql/github3.graphql/default/TopLevel.js
+++ b/head/graphql-javascript/test/inputs/graphql/github3.graphql/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/graphql-javascript/test/inputs/graphql/github4.graphql/default/TopLevel.js b/head/graphql-javascript/test/inputs/graphql/github4.graphql/default/TopLevel.js
index 9eae08b..aac5268 100644
--- a/base/graphql-javascript/test/inputs/graphql/github4.graphql/default/TopLevel.js
+++ b/head/graphql-javascript/test/inputs/graphql/github4.graphql/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/graphql-javascript/test/inputs/graphql/github5.graphql/default/TopLevel.js b/head/graphql-javascript/test/inputs/graphql/github5.graphql/default/TopLevel.js
index 420ace9..621c2a3 100644
--- a/base/graphql-javascript/test/inputs/graphql/github5.graphql/default/TopLevel.js
+++ b/head/graphql-javascript/test/inputs/graphql/github5.graphql/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/graphql-javascript/test/inputs/graphql/github6.graphql/default/TopLevel.js b/head/graphql-javascript/test/inputs/graphql/github6.graphql/default/TopLevel.js
index 15c6fba..4296f01 100644
--- a/base/graphql-javascript/test/inputs/graphql/github6.graphql/default/TopLevel.js
+++ b/head/graphql-javascript/test/inputs/graphql/github6.graphql/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/graphql-javascript/test/inputs/graphql/github7.graphql/default/TopLevel.js b/head/graphql-javascript/test/inputs/graphql/github7.graphql/default/TopLevel.js
index 4249720..5fc3c12 100644
--- a/base/graphql-javascript/test/inputs/graphql/github7.graphql/default/TopLevel.js
+++ b/head/graphql-javascript/test/inputs/graphql/github7.graphql/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/graphql-javascript/test/inputs/graphql/github8.graphql/default/TopLevel.js b/head/graphql-javascript/test/inputs/graphql/github8.graphql/default/TopLevel.js
index fd6d83e..1cfce39 100644
--- a/base/graphql-javascript/test/inputs/graphql/github8.graphql/default/TopLevel.js
+++ b/head/graphql-javascript/test/inputs/graphql/github8.graphql/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/graphql-javascript/test/inputs/graphql/github9.graphql/default/TopLevel.js b/head/graphql-javascript/test/inputs/graphql/github9.graphql/default/TopLevel.js
index f9c07fe..bc93726 100644
--- a/base/graphql-javascript/test/inputs/graphql/github9.graphql/default/TopLevel.js
+++ b/head/graphql-javascript/test/inputs/graphql/github9.graphql/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/graphql-typescript/test/inputs/graphql/github1.graphql/default/TopLevel.ts b/head/graphql-typescript/test/inputs/graphql/github1.graphql/default/TopLevel.ts
index 578c5da..16124f1 100644
--- a/base/graphql-typescript/test/inputs/graphql/github1.graphql/default/TopLevel.ts
+++ b/head/graphql-typescript/test/inputs/graphql/github1.graphql/default/TopLevel.ts
@@ -121,7 +121,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -132,7 +132,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/graphql-typescript/test/inputs/graphql/github2.graphql/default/TopLevel.ts b/head/graphql-typescript/test/inputs/graphql/github2.graphql/default/TopLevel.ts
index c8dc669..3451109 100644
--- a/base/graphql-typescript/test/inputs/graphql/github2.graphql/default/TopLevel.ts
+++ b/head/graphql-typescript/test/inputs/graphql/github2.graphql/default/TopLevel.ts
@@ -130,7 +130,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -141,7 +141,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/graphql-typescript/test/inputs/graphql/github3.graphql/default/TopLevel.ts b/head/graphql-typescript/test/inputs/graphql/github3.graphql/default/TopLevel.ts
index 3a9ea88..33e7581 100644
--- a/base/graphql-typescript/test/inputs/graphql/github3.graphql/default/TopLevel.ts
+++ b/head/graphql-typescript/test/inputs/graphql/github3.graphql/default/TopLevel.ts
@@ -135,7 +135,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -146,7 +146,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/graphql-typescript/test/inputs/graphql/github4.graphql/default/TopLevel.ts b/head/graphql-typescript/test/inputs/graphql/github4.graphql/default/TopLevel.ts
index 2365eaf..e7379b2 100644
--- a/base/graphql-typescript/test/inputs/graphql/github4.graphql/default/TopLevel.ts
+++ b/head/graphql-typescript/test/inputs/graphql/github4.graphql/default/TopLevel.ts
@@ -136,7 +136,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -147,7 +147,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/graphql-typescript/test/inputs/graphql/github5.graphql/default/TopLevel.ts b/head/graphql-typescript/test/inputs/graphql/github5.graphql/default/TopLevel.ts
index acdc9b7..5bf1752 100644
--- a/base/graphql-typescript/test/inputs/graphql/github5.graphql/default/TopLevel.ts
+++ b/head/graphql-typescript/test/inputs/graphql/github5.graphql/default/TopLevel.ts
@@ -121,7 +121,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -132,7 +132,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/graphql-typescript/test/inputs/graphql/github6.graphql/default/TopLevel.ts b/head/graphql-typescript/test/inputs/graphql/github6.graphql/default/TopLevel.ts
index 020032a..f146724 100644
--- a/base/graphql-typescript/test/inputs/graphql/github6.graphql/default/TopLevel.ts
+++ b/head/graphql-typescript/test/inputs/graphql/github6.graphql/default/TopLevel.ts
@@ -121,7 +121,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -132,7 +132,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/graphql-typescript/test/inputs/graphql/github7.graphql/default/TopLevel.ts b/head/graphql-typescript/test/inputs/graphql/github7.graphql/default/TopLevel.ts
index a0952a7..72a789e 100644
--- a/base/graphql-typescript/test/inputs/graphql/github7.graphql/default/TopLevel.ts
+++ b/head/graphql-typescript/test/inputs/graphql/github7.graphql/default/TopLevel.ts
@@ -142,7 +142,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -153,7 +153,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/graphql-typescript/test/inputs/graphql/github8.graphql/default/TopLevel.ts b/head/graphql-typescript/test/inputs/graphql/github8.graphql/default/TopLevel.ts
index 09a4037..4e38156 100644
--- a/base/graphql-typescript/test/inputs/graphql/github8.graphql/default/TopLevel.ts
+++ b/head/graphql-typescript/test/inputs/graphql/github8.graphql/default/TopLevel.ts
@@ -130,7 +130,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -141,7 +141,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/graphql-typescript/test/inputs/graphql/github9.graphql/default/TopLevel.ts b/head/graphql-typescript/test/inputs/graphql/github9.graphql/default/TopLevel.ts
index 9d653c2..1d89aba 100644
--- a/base/graphql-typescript/test/inputs/graphql/github9.graphql/default/TopLevel.ts
+++ b/head/graphql-typescript/test/inputs/graphql/github9.graphql/default/TopLevel.ts
@@ -133,7 +133,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -144,7 +144,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/00c36.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/00c36.json/default/TopLevel.js
index 7bde2a3..a0d11c8 100644
--- a/base/javascript/test/inputs/json/misc/00c36.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/00c36.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/00ec5.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/00ec5.json/default/TopLevel.js
index e58994e..8e48e5e 100644
--- a/base/javascript/test/inputs/json/misc/00ec5.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/00ec5.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/010b1.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/010b1.json/default/TopLevel.js
index 5072650..c5fd155 100644
--- a/base/javascript/test/inputs/json/misc/010b1.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/010b1.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/016af.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/016af.json/default/TopLevel.js
index a8a2cb9..1c3c149 100644
--- a/base/javascript/test/inputs/json/misc/016af.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/016af.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/033b1.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/033b1.json/default/TopLevel.js
index b5bc8f9..a22c659 100644
--- a/base/javascript/test/inputs/json/misc/033b1.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/033b1.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/050b0.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/050b0.json/default/TopLevel.js
index b031cf3..fb642f7 100644
--- a/base/javascript/test/inputs/json/misc/050b0.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/050b0.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/06bee.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/06bee.json/default/TopLevel.js
index 4ed3634..c9e01ac 100644
--- a/base/javascript/test/inputs/json/misc/06bee.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/06bee.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/07540.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/07540.json/default/TopLevel.js
index ae8169d..79cbb0a 100644
--- a/base/javascript/test/inputs/json/misc/07540.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/07540.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/0779f.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/0779f.json/default/TopLevel.js
index 7ed503d..65866fa 100644
--- a/base/javascript/test/inputs/json/misc/0779f.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/0779f.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/07c75.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/07c75.json/default/TopLevel.js
index 8c10240..3eba7b9 100644
--- a/base/javascript/test/inputs/json/misc/07c75.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/07c75.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/09f54.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/09f54.json/default/TopLevel.js
index d23e2d7..eb82c03 100644
--- a/base/javascript/test/inputs/json/misc/09f54.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/09f54.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/0a358.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/0a358.json/default/TopLevel.js
index cc5cbe0..8000c5f 100644
--- a/base/javascript/test/inputs/json/misc/0a358.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/0a358.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/0a91a.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/0a91a.json/default/TopLevel.js
index 874e0da..49aad5c 100644
--- a/base/javascript/test/inputs/json/misc/0a91a.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/0a91a.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/0b91a.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/0b91a.json/default/TopLevel.js
index 3b6f02b..28ede7a 100644
--- a/base/javascript/test/inputs/json/misc/0b91a.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/0b91a.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/0cffa.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/0cffa.json/default/TopLevel.js
index 4921f33..dc4294c 100644
--- a/base/javascript/test/inputs/json/misc/0cffa.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/0cffa.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/0e0c2.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/0e0c2.json/default/TopLevel.js
index d74c94d..c741d40 100644
--- a/base/javascript/test/inputs/json/misc/0e0c2.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/0e0c2.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/0fecf.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/0fecf.json/default/TopLevel.js
index c350529..24f3782 100644
--- a/base/javascript/test/inputs/json/misc/0fecf.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/0fecf.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/10be4.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/10be4.json/default/TopLevel.js
index 0f11bea..12ba177 100644
--- a/base/javascript/test/inputs/json/misc/10be4.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/10be4.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/112b5.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/112b5.json/default/TopLevel.js
index 988b2e3..b56d621 100644
--- a/base/javascript/test/inputs/json/misc/112b5.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/112b5.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/127a1.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/127a1.json/default/TopLevel.js
index 5029be5..72c9c86 100644
--- a/base/javascript/test/inputs/json/misc/127a1.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/127a1.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/13d8d.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/13d8d.json/default/TopLevel.js
index 1804248..00b4f10 100644
--- a/base/javascript/test/inputs/json/misc/13d8d.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/13d8d.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/14d38.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/14d38.json/default/TopLevel.js
index 5d15cc8..c4cc35e 100644
--- a/base/javascript/test/inputs/json/misc/14d38.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/14d38.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/167d6.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/167d6.json/default/TopLevel.js
index b5bc8f9..a22c659 100644
--- a/base/javascript/test/inputs/json/misc/167d6.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/167d6.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/16bc5.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/16bc5.json/default/TopLevel.js
index acd1fb9..5f0166c 100644
--- a/base/javascript/test/inputs/json/misc/16bc5.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/16bc5.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/176f1.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/176f1.json/default/TopLevel.js
index 351e84a..3f2aa62 100644
--- a/base/javascript/test/inputs/json/misc/176f1.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/176f1.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/1a7f5.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/1a7f5.json/default/TopLevel.js
index 5072650..c5fd155 100644
--- a/base/javascript/test/inputs/json/misc/1a7f5.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/1a7f5.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/1b28c.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/1b28c.json/default/TopLevel.js
index a8a2cb9..1c3c149 100644
--- a/base/javascript/test/inputs/json/misc/1b28c.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/1b28c.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/1b409.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/1b409.json/default/TopLevel.js
index 8192aa5..47aaa20 100644
--- a/base/javascript/test/inputs/json/misc/1b409.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/1b409.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/2465e.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/2465e.json/default/TopLevel.js
index 6a33ed2..81402e2 100644
--- a/base/javascript/test/inputs/json/misc/2465e.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/2465e.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/24f52.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/24f52.json/default/TopLevel.js
index 7ed503d..65866fa 100644
--- a/base/javascript/test/inputs/json/misc/24f52.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/24f52.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/262f0.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/262f0.json/default/TopLevel.js
index fdbfeea..ab64fd6 100644
--- a/base/javascript/test/inputs/json/misc/262f0.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/262f0.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/26b49.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/26b49.json/default/TopLevel.js
index ca1a4e9..e4ca4cb 100644
--- a/base/javascript/test/inputs/json/misc/26b49.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/26b49.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/26c9c.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/26c9c.json/default/TopLevel.js
index 9ef5a1a..b502e49 100644
--- a/base/javascript/test/inputs/json/misc/26c9c.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/26c9c.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/27332.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/27332.json/default/TopLevel.js
index 06e876f..be03980 100644
--- a/base/javascript/test/inputs/json/misc/27332.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/27332.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/29f47.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/29f47.json/default/TopLevel.js
index a46f0c7..ff1703e 100644
--- a/base/javascript/test/inputs/json/misc/29f47.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/29f47.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/2d4e2.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/2d4e2.json/default/TopLevel.js
index dabaf9d..04b2a37 100644
--- a/base/javascript/test/inputs/json/misc/2d4e2.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/2d4e2.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/2df80.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/2df80.json/default/TopLevel.js
index 5fc4099..e4ba9bb 100644
--- a/base/javascript/test/inputs/json/misc/2df80.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/2df80.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/31189.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/31189.json/default/TopLevel.js
index d0130c4..468f73b 100644
--- a/base/javascript/test/inputs/json/misc/31189.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/31189.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/32431.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/32431.json/default/TopLevel.js
index 59f34aa..8574865 100644
--- a/base/javascript/test/inputs/json/misc/32431.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/32431.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/32d5c.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/32d5c.json/default/TopLevel.js
index 6f852a2..d7f5885 100644
--- a/base/javascript/test/inputs/json/misc/32d5c.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/32d5c.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/337ed.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/337ed.json/default/TopLevel.js
index 68c9784..c2906b6 100644
--- a/base/javascript/test/inputs/json/misc/337ed.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/337ed.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/33d2e.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/33d2e.json/default/TopLevel.js
index 6d3e524..7def82c 100644
--- a/base/javascript/test/inputs/json/misc/33d2e.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/33d2e.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/34702.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/34702.json/default/TopLevel.js
index f70dc0b..9d11a02 100644
--- a/base/javascript/test/inputs/json/misc/34702.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/34702.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/3536b.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/3536b.json/default/TopLevel.js
index 5fc3e3b..09afdf9 100644
--- a/base/javascript/test/inputs/json/misc/3536b.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/3536b.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/3659d.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/3659d.json/default/TopLevel.js
index a8a2cb9..1c3c149 100644
--- a/base/javascript/test/inputs/json/misc/3659d.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/3659d.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/36d5d.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/36d5d.json/default/TopLevel.js
index 7ed503d..65866fa 100644
--- a/base/javascript/test/inputs/json/misc/36d5d.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/36d5d.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/3a6b3.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/3a6b3.json/default/TopLevel.js
index 7ed503d..65866fa 100644
--- a/base/javascript/test/inputs/json/misc/3a6b3.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/3a6b3.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/3e9a3.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/3e9a3.json/default/TopLevel.js
index 351e84a..3f2aa62 100644
--- a/base/javascript/test/inputs/json/misc/3e9a3.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/3e9a3.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/3f1ce.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/3f1ce.json/default/TopLevel.js
index b6b4271..9407f27 100644
--- a/base/javascript/test/inputs/json/misc/3f1ce.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/3f1ce.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/421d4.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/421d4.json/default/TopLevel.js
index e80c8de..67e2770 100644
--- a/base/javascript/test/inputs/json/misc/421d4.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/421d4.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/437e7.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/437e7.json/default/TopLevel.js
index 0c1fbce..bb05c0f 100644
--- a/base/javascript/test/inputs/json/misc/437e7.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/437e7.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/43970.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/43970.json/default/TopLevel.js
index 4e4bfd1..ff817c6 100644
--- a/base/javascript/test/inputs/json/misc/43970.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/43970.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/43eaf.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/43eaf.json/default/TopLevel.js
index b5bc8f9..a22c659 100644
--- a/base/javascript/test/inputs/json/misc/43eaf.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/43eaf.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/458db.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/458db.json/default/TopLevel.js
index 0899bf9..2785ed7 100644
--- a/base/javascript/test/inputs/json/misc/458db.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/458db.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/4961a.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/4961a.json/default/TopLevel.js
index a8a2cb9..1c3c149 100644
--- a/base/javascript/test/inputs/json/misc/4961a.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/4961a.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/4a0d7.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/4a0d7.json/default/TopLevel.js
index a8a2cb9..1c3c149 100644
--- a/base/javascript/test/inputs/json/misc/4a0d7.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/4a0d7.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/4a455.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/4a455.json/default/TopLevel.js
index 405a535..1b32e84 100644
--- a/base/javascript/test/inputs/json/misc/4a455.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/4a455.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/4c547.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/4c547.json/default/TopLevel.js
index acd1fb9..5f0166c 100644
--- a/base/javascript/test/inputs/json/misc/4c547.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/4c547.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/4d6fb.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/4d6fb.json/default/TopLevel.js
index e8d6e16..339cca8 100644
--- a/base/javascript/test/inputs/json/misc/4d6fb.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/4d6fb.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/4e336.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/4e336.json/default/TopLevel.js
index a8a2cb9..1c3c149 100644
--- a/base/javascript/test/inputs/json/misc/4e336.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/4e336.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/54147.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/54147.json/default/TopLevel.js
index 8f17e68..383e402 100644
--- a/base/javascript/test/inputs/json/misc/54147.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/54147.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/54d32.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/54d32.json/default/TopLevel.js
index d676c8d..8fa6866 100644
--- a/base/javascript/test/inputs/json/misc/54d32.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/54d32.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/570ec.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/570ec.json/default/TopLevel.js
index 6ecbade..14b561c 100644
--- a/base/javascript/test/inputs/json/misc/570ec.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/570ec.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/5dd0d.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/5dd0d.json/default/TopLevel.js
index 7ed503d..65866fa 100644
--- a/base/javascript/test/inputs/json/misc/5dd0d.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/5dd0d.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/5eae5.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/5eae5.json/default/TopLevel.js
index f49ab65..81624a8 100644
--- a/base/javascript/test/inputs/json/misc/5eae5.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/5eae5.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/5eb20.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/5eb20.json/default/TopLevel.js
index 7ed503d..65866fa 100644
--- a/base/javascript/test/inputs/json/misc/5eb20.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/5eb20.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/5f3a1.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/5f3a1.json/default/TopLevel.js
index b5bc8f9..a22c659 100644
--- a/base/javascript/test/inputs/json/misc/5f3a1.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/5f3a1.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/5f7fe.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/5f7fe.json/default/TopLevel.js
index 69bd742..3ce68b1 100644
--- a/base/javascript/test/inputs/json/misc/5f7fe.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/5f7fe.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/617e8.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/617e8.json/default/TopLevel.js
index c7de983..b06641f 100644
--- a/base/javascript/test/inputs/json/misc/617e8.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/617e8.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/61b66.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/61b66.json/default/TopLevel.js
index 7ed503d..65866fa 100644
--- a/base/javascript/test/inputs/json/misc/61b66.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/61b66.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/6260a.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/6260a.json/default/TopLevel.js
index b5bc8f9..a22c659 100644
--- a/base/javascript/test/inputs/json/misc/6260a.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/6260a.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/65dec.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/65dec.json/default/TopLevel.js
index 5747bf4..5f3d0a5 100644
--- a/base/javascript/test/inputs/json/misc/65dec.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/65dec.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/66121.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/66121.json/default/TopLevel.js
index 6b45478..1d77f00 100644
--- a/base/javascript/test/inputs/json/misc/66121.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/66121.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/6617c.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/6617c.json/default/TopLevel.js
index c893589..ccdfbc7 100644
--- a/base/javascript/test/inputs/json/misc/6617c.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/6617c.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/67c03.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/67c03.json/default/TopLevel.js
index 8cc7071..ba08d4f 100644
--- a/base/javascript/test/inputs/json/misc/67c03.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/67c03.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/68c30.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/68c30.json/default/TopLevel.js
index 0e491bb..0013ca4 100644
--- a/base/javascript/test/inputs/json/misc/68c30.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/68c30.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/6c155.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/6c155.json/default/TopLevel.js
index 787e7f9..b3178f9 100644
--- a/base/javascript/test/inputs/json/misc/6c155.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/6c155.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/6de06.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/6de06.json/default/TopLevel.js
index bcdf20d..e617e3a 100644
--- a/base/javascript/test/inputs/json/misc/6de06.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/6de06.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/6dec6.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/6dec6.json/default/TopLevel.js
index c65a864..c893c70 100644
--- a/base/javascript/test/inputs/json/misc/6dec6.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/6dec6.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/6eb00.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/6eb00.json/default/TopLevel.js
index 7d4472c..426f04a 100644
--- a/base/javascript/test/inputs/json/misc/6eb00.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/6eb00.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/70c77.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/70c77.json/default/TopLevel.js
index b5bc8f9..a22c659 100644
--- a/base/javascript/test/inputs/json/misc/70c77.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/70c77.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/734ad.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/734ad.json/default/TopLevel.js
index 2dd7df3..aaa9476 100644
--- a/base/javascript/test/inputs/json/misc/734ad.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/734ad.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/75912.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/75912.json/default/TopLevel.js
index b5bc8f9..a22c659 100644
--- a/base/javascript/test/inputs/json/misc/75912.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/75912.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/7681c.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/7681c.json/default/TopLevel.js
index c3f9405..414c291 100644
--- a/base/javascript/test/inputs/json/misc/7681c.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/7681c.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/76ae1.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/76ae1.json/default/TopLevel.js
index 177fff6..f84b686 100644
--- a/base/javascript/test/inputs/json/misc/76ae1.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/76ae1.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/77392.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/77392.json/default/TopLevel.js
index ad4ed63..9bf79a3 100644
--- a/base/javascript/test/inputs/json/misc/77392.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/77392.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/7d397.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/7d397.json/default/TopLevel.js
index 2ba2912..2e83e9f 100644
--- a/base/javascript/test/inputs/json/misc/7d397.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/7d397.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/7d722.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/7d722.json/default/TopLevel.js
index 7ed503d..65866fa 100644
--- a/base/javascript/test/inputs/json/misc/7d722.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/7d722.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/7df41.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/7df41.json/default/TopLevel.js
index 4989112..9f7ff61 100644
--- a/base/javascript/test/inputs/json/misc/7df41.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/7df41.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/7dfa6.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/7dfa6.json/default/TopLevel.js
index a8a2cb9..1c3c149 100644
--- a/base/javascript/test/inputs/json/misc/7dfa6.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/7dfa6.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/7eb30.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/7eb30.json/default/TopLevel.js
index 5a22b1c..f37c66d 100644
--- a/base/javascript/test/inputs/json/misc/7eb30.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/7eb30.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/7f568.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/7f568.json/default/TopLevel.js
index 03269ce..82a8118 100644
--- a/base/javascript/test/inputs/json/misc/7f568.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/7f568.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/7fbfb.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/7fbfb.json/default/TopLevel.js
index 6bca24b..8000931 100644
--- a/base/javascript/test/inputs/json/misc/7fbfb.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/7fbfb.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/80aff.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/80aff.json/default/TopLevel.js
index e7036f9..34b371b 100644
--- a/base/javascript/test/inputs/json/misc/80aff.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/80aff.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/82509.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/82509.json/default/TopLevel.js
index 59da7ef..368c983 100644
--- a/base/javascript/test/inputs/json/misc/82509.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/82509.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/8592b.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/8592b.json/default/TopLevel.js
index fb2baf4..5186f05 100644
--- a/base/javascript/test/inputs/json/misc/8592b.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/8592b.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/88130.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/88130.json/default/TopLevel.js
index acd1fb9..5f0166c 100644
--- a/base/javascript/test/inputs/json/misc/88130.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/88130.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/8a62c.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/8a62c.json/default/TopLevel.js
index a8a2cb9..1c3c149 100644
--- a/base/javascript/test/inputs/json/misc/8a62c.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/8a62c.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/908db.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/908db.json/default/TopLevel.js
index 47fd602..8a23010 100644
--- a/base/javascript/test/inputs/json/misc/908db.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/908db.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/9617f.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/9617f.json/default/TopLevel.js
index b5bc8f9..a22c659 100644
--- a/base/javascript/test/inputs/json/misc/9617f.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/9617f.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/96f7c.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/96f7c.json/default/TopLevel.js
index f4e553d..fb4c941 100644
--- a/base/javascript/test/inputs/json/misc/96f7c.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/96f7c.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/9847b.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/9847b.json/default/TopLevel.js
index b2fbeb7..bdfbe08 100644
--- a/base/javascript/test/inputs/json/misc/9847b.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/9847b.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/9929c.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/9929c.json/default/TopLevel.js
index acd1fb9..5f0166c 100644
--- a/base/javascript/test/inputs/json/misc/9929c.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/9929c.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/996bd.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/996bd.json/default/TopLevel.js
index a623356..bc7841f 100644
--- a/base/javascript/test/inputs/json/misc/996bd.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/996bd.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/9a503.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/9a503.json/default/TopLevel.js
index b655f68..258fa04 100644
--- a/base/javascript/test/inputs/json/misc/9a503.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/9a503.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/9ac3b.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/9ac3b.json/default/TopLevel.js
index 94ebbc9..97749e4 100644
--- a/base/javascript/test/inputs/json/misc/9ac3b.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/9ac3b.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/9eed5.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/9eed5.json/default/TopLevel.js
index 865f78d..c8d3bbd 100644
--- a/base/javascript/test/inputs/json/misc/9eed5.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/9eed5.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/a0496.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/a0496.json/default/TopLevel.js
index 4cbbdc6..d67cfb6 100644
--- a/base/javascript/test/inputs/json/misc/a0496.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/a0496.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/a1eca.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/a1eca.json/default/TopLevel.js
index acd1fb9..5f0166c 100644
--- a/base/javascript/test/inputs/json/misc/a1eca.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/a1eca.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/a3d8c.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/a3d8c.json/default/TopLevel.js
index 47ca086..b9cce95 100644
--- a/base/javascript/test/inputs/json/misc/a3d8c.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/a3d8c.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/a45b0.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/a45b0.json/default/TopLevel.js
index 5072650..c5fd155 100644
--- a/base/javascript/test/inputs/json/misc/a45b0.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/a45b0.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/a71df.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/a71df.json/default/TopLevel.js
index 7ed503d..65866fa 100644
--- a/base/javascript/test/inputs/json/misc/a71df.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/a71df.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/a9691.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/a9691.json/default/TopLevel.js
index b5bc8f9..a22c659 100644
--- a/base/javascript/test/inputs/json/misc/a9691.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/a9691.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/ab0d1.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/ab0d1.json/default/TopLevel.js
index 5072650..c5fd155 100644
--- a/base/javascript/test/inputs/json/misc/ab0d1.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/ab0d1.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/abb4b.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/abb4b.json/default/TopLevel.js
index a8a2cb9..1c3c149 100644
--- a/base/javascript/test/inputs/json/misc/abb4b.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/abb4b.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/ac944.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/ac944.json/default/TopLevel.js
index b5bc8f9..a22c659 100644
--- a/base/javascript/test/inputs/json/misc/ac944.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/ac944.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/ad8be.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/ad8be.json/default/TopLevel.js
index 0f11bea..12ba177 100644
--- a/base/javascript/test/inputs/json/misc/ad8be.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/ad8be.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/ae7f0.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/ae7f0.json/default/TopLevel.js
index 58067a6..07ffaa4 100644
--- a/base/javascript/test/inputs/json/misc/ae7f0.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/ae7f0.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/ae9ca.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/ae9ca.json/default/TopLevel.js
index a469f40..f755f0a 100644
--- a/base/javascript/test/inputs/json/misc/ae9ca.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/ae9ca.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/af2d1.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/af2d1.json/default/TopLevel.js
index 61c13f0..e7b1820 100644
--- a/base/javascript/test/inputs/json/misc/af2d1.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/af2d1.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/b4865.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/b4865.json/default/TopLevel.js
index c92e808..9f6f40f 100644
--- a/base/javascript/test/inputs/json/misc/b4865.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/b4865.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/b6f2c.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/b6f2c.json/default/TopLevel.js
index a8a2cb9..1c3c149 100644
--- a/base/javascript/test/inputs/json/misc/b6f2c.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/b6f2c.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/b6fe5.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/b6fe5.json/default/TopLevel.js
index b614cc0..e607419 100644
--- a/base/javascript/test/inputs/json/misc/b6fe5.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/b6fe5.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/b9f64.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/b9f64.json/default/TopLevel.js
index f1717c7..f7755ad 100644
--- a/base/javascript/test/inputs/json/misc/b9f64.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/b9f64.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/bb1ec.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/bb1ec.json/default/TopLevel.js
index a8a2cb9..1c3c149 100644
--- a/base/javascript/test/inputs/json/misc/bb1ec.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/bb1ec.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/be234.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/be234.json/default/TopLevel.js
index 23847ff..76a5e10 100644
--- a/base/javascript/test/inputs/json/misc/be234.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/be234.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/c0356.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/c0356.json/default/TopLevel.js
index 438a6fc..592fdbf 100644
--- a/base/javascript/test/inputs/json/misc/c0356.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/c0356.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/c0a3a.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/c0a3a.json/default/TopLevel.js
index 7ed503d..65866fa 100644
--- a/base/javascript/test/inputs/json/misc/c0a3a.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/c0a3a.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/c3303.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/c3303.json/default/TopLevel.js
index 2c286be..9e9d9eb 100644
--- a/base/javascript/test/inputs/json/misc/c3303.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/c3303.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/c6cfd.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/c6cfd.json/default/TopLevel.js
index ef2d6e9..d6ef2d0 100644
--- a/base/javascript/test/inputs/json/misc/c6cfd.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/c6cfd.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/c8c7e.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/c8c7e.json/default/TopLevel.js
index ae17f28..aa73f8e 100644
--- a/base/javascript/test/inputs/json/misc/c8c7e.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/c8c7e.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/cb0cc.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/cb0cc.json/default/TopLevel.js
index c408c01..9af3182 100644
--- a/base/javascript/test/inputs/json/misc/cb0cc.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/cb0cc.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/cb81e.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/cb81e.json/default/TopLevel.js
index 150dfff..73c0c0d 100644
--- a/base/javascript/test/inputs/json/misc/cb81e.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/cb81e.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/ccd18.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/ccd18.json/default/TopLevel.js
index 7ed503d..65866fa 100644
--- a/base/javascript/test/inputs/json/misc/ccd18.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/ccd18.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/cd238.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/cd238.json/default/TopLevel.js
index 7ed503d..65866fa 100644
--- a/base/javascript/test/inputs/json/misc/cd238.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/cd238.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/cd463.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/cd463.json/default/TopLevel.js
index b5bc8f9..a22c659 100644
--- a/base/javascript/test/inputs/json/misc/cd463.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/cd463.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/cda6c.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/cda6c.json/default/TopLevel.js
index 97e4dd1..cbbe822 100644
--- a/base/javascript/test/inputs/json/misc/cda6c.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/cda6c.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/cf0d8.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/cf0d8.json/default/TopLevel.js
index acd1fb9..5f0166c 100644
--- a/base/javascript/test/inputs/json/misc/cf0d8.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/cf0d8.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/cfbce.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/cfbce.json/default/TopLevel.js
index b5bc8f9..a22c659 100644
--- a/base/javascript/test/inputs/json/misc/cfbce.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/cfbce.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/d0908.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/d0908.json/default/TopLevel.js
index a8a2cb9..1c3c149 100644
--- a/base/javascript/test/inputs/json/misc/d0908.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/d0908.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/d23d5.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/d23d5.json/default/TopLevel.js
index e5a1acd..bd04ff0 100644
--- a/base/javascript/test/inputs/json/misc/d23d5.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/d23d5.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/dbfb3.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/dbfb3.json/default/TopLevel.js
index ab0231f..87d2f58 100644
--- a/base/javascript/test/inputs/json/misc/dbfb3.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/dbfb3.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/dc44f.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/dc44f.json/default/TopLevel.js
index 3290a2f..8a7c348 100644
--- a/base/javascript/test/inputs/json/misc/dc44f.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/dc44f.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/dd1ce.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/dd1ce.json/default/TopLevel.js
index 3290a2f..8a7c348 100644
--- a/base/javascript/test/inputs/json/misc/dd1ce.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/dd1ce.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/dec3a.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/dec3a.json/default/TopLevel.js
index a1a1ab7..28efc8f 100644
--- a/base/javascript/test/inputs/json/misc/dec3a.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/dec3a.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/df957.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/df957.json/default/TopLevel.js
index acd1fb9..5f0166c 100644
--- a/base/javascript/test/inputs/json/misc/df957.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/df957.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/e0ac7.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/e0ac7.json/default/TopLevel.js
index 0985cf4..ba2b40d 100644
--- a/base/javascript/test/inputs/json/misc/e0ac7.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/e0ac7.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/e2915.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/e2915.json/default/TopLevel.js
index fd7fefa..73a1ab0 100644
--- a/base/javascript/test/inputs/json/misc/e2915.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/e2915.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/e2a58.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/e2a58.json/default/TopLevel.js
index 0859361..8630f66 100644
--- a/base/javascript/test/inputs/json/misc/e2a58.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/e2a58.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/e324e.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/e324e.json/default/TopLevel.js
index fa10af3..bce9162 100644
--- a/base/javascript/test/inputs/json/misc/e324e.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/e324e.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/e53b5.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/e53b5.json/default/TopLevel.js
index ec39a74..99b31a8 100644
--- a/base/javascript/test/inputs/json/misc/e53b5.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/e53b5.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/e64a0.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/e64a0.json/default/TopLevel.js
index 988b2e3..b56d621 100644
--- a/base/javascript/test/inputs/json/misc/e64a0.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/e64a0.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/e8a0b.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/e8a0b.json/default/TopLevel.js
index 5072650..c5fd155 100644
--- a/base/javascript/test/inputs/json/misc/e8a0b.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/e8a0b.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/e8b04.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/e8b04.json/default/TopLevel.js
index cfb13df..4906de7 100644
--- a/base/javascript/test/inputs/json/misc/e8b04.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/e8b04.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/ed095.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/ed095.json/default/TopLevel.js
index 12ecaff..98fe333 100644
--- a/base/javascript/test/inputs/json/misc/ed095.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/ed095.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/f22f5.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/f22f5.json/default/TopLevel.js
index e7d55b9..659d4bb 100644
--- a/base/javascript/test/inputs/json/misc/f22f5.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/f22f5.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/f3139.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/f3139.json/default/TopLevel.js
index b2fbeb7..bdfbe08 100644
--- a/base/javascript/test/inputs/json/misc/f3139.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/f3139.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/f3edf.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/f3edf.json/default/TopLevel.js
index 5072650..c5fd155 100644
--- a/base/javascript/test/inputs/json/misc/f3edf.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/f3edf.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/f466a.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/f466a.json/default/TopLevel.js
index 5072650..c5fd155 100644
--- a/base/javascript/test/inputs/json/misc/f466a.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/f466a.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/f6a65.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/f6a65.json/default/TopLevel.js
index 2c60e6b..ee8675e 100644
--- a/base/javascript/test/inputs/json/misc/f6a65.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/f6a65.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/f74d5.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/f74d5.json/default/TopLevel.js
index 580e744..0249c78 100644
--- a/base/javascript/test/inputs/json/misc/f74d5.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/f74d5.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/f82d9.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/f82d9.json/default/TopLevel.js
index 2df6837..70985ce 100644
--- a/base/javascript/test/inputs/json/misc/f82d9.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/f82d9.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/f974d.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/f974d.json/default/TopLevel.js
index 22fb238..93b54f7 100644
--- a/base/javascript/test/inputs/json/misc/f974d.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/f974d.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/faff5.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/faff5.json/default/TopLevel.js
index 984006a..f406ca7 100644
--- a/base/javascript/test/inputs/json/misc/faff5.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/faff5.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/fcca3.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/fcca3.json/default/TopLevel.js
index e17f74c..8a22a06 100644
--- a/base/javascript/test/inputs/json/misc/fcca3.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/fcca3.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/misc/fd329.json/default/TopLevel.js b/head/javascript/test/inputs/json/misc/fd329.json/default/TopLevel.js
index d23e2d7..eb82c03 100644
--- a/base/javascript/test/inputs/json/misc/fd329.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/misc/fd329.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/blns-object.json/default/TopLevel.js b/head/javascript/test/inputs/json/priority/blns-object.json/default/TopLevel.js
index 02c4dcf..51d565f 100644
--- a/base/javascript/test/inputs/json/priority/blns-object.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/blns-object.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/bug2037.json/default/TopLevel.js b/head/javascript/test/inputs/json/priority/bug2037.json/default/TopLevel.js
index 4db6c3c..25843f3 100644
--- a/base/javascript/test/inputs/json/priority/bug2037.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/bug2037.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/bug2521.json/default/TopLevel.js b/head/javascript/test/inputs/json/priority/bug2521.json/default/TopLevel.js
index 439166c..58c7287 100644
--- a/base/javascript/test/inputs/json/priority/bug2521.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/bug2521.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/bug2590.json/default/TopLevel.js b/head/javascript/test/inputs/json/priority/bug2590.json/default/TopLevel.js
index 6c8f4c3..1adc210 100644
--- a/base/javascript/test/inputs/json/priority/bug2590.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/bug2590.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/bug2663.json/default/TopLevel.js b/head/javascript/test/inputs/json/priority/bug2663.json/default/TopLevel.js
index c6916a2..89a9613 100644
--- a/base/javascript/test/inputs/json/priority/bug2663.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/bug2663.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/bug2793.json/default/TopLevel.js b/head/javascript/test/inputs/json/priority/bug2793.json/default/TopLevel.js
index 4b2fe59..66b493e 100644
--- a/base/javascript/test/inputs/json/priority/bug2793.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/bug2793.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/bug427.json/default/TopLevel.js b/head/javascript/test/inputs/json/priority/bug427.json/default/TopLevel.js
index 0e23edd..3037dc1 100644
--- a/base/javascript/test/inputs/json/priority/bug427.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/bug427.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/bug790.json/default/TopLevel.js b/head/javascript/test/inputs/json/priority/bug790.json/default/TopLevel.js
index 076984a..887407d 100644
--- a/base/javascript/test/inputs/json/priority/bug790.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/bug790.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/bug855-short.json/default/TopLevel.js b/head/javascript/test/inputs/json/priority/bug855-short.json/default/TopLevel.js
index bd2794c..58262a2 100644
--- a/base/javascript/test/inputs/json/priority/bug855-short.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/bug855-short.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/bug863.json/default/TopLevel.js b/head/javascript/test/inputs/json/priority/bug863.json/default/TopLevel.js
index cabd493..04ecdb7 100644
--- a/base/javascript/test/inputs/json/priority/bug863.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/bug863.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/coin-pairs.json/default/TopLevel.js b/head/javascript/test/inputs/json/priority/coin-pairs.json/default/TopLevel.js
index c113e96..86a658c 100644
--- a/base/javascript/test/inputs/json/priority/coin-pairs.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/coin-pairs.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/combinations1.json/converters-top-level--67aa452ed509/TopLevel.js b/head/javascript/test/inputs/json/priority/combinations1.json/converters-top-level--67aa452ed509/TopLevel.js
index c6b3420..f892b12 100644
--- a/base/javascript/test/inputs/json/priority/combinations1.json/converters-top-level--67aa452ed509/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/combinations1.json/converters-top-level--67aa452ed509/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/combinations1.json/default/TopLevel.js b/head/javascript/test/inputs/json/priority/combinations1.json/default/TopLevel.js
index c6b3420..f892b12 100644
--- a/base/javascript/test/inputs/json/priority/combinations1.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/combinations1.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/combinations1.json/raw-type-any--474b307c39db/TopLevel.js b/head/javascript/test/inputs/json/priority/combinations1.json/raw-type-any--474b307c39db/TopLevel.js
index e220990..330fc81 100644
--- a/base/javascript/test/inputs/json/priority/combinations1.json/raw-type-any--474b307c39db/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/combinations1.json/raw-type-any--474b307c39db/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/combinations1.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.js b/head/javascript/test/inputs/json/priority/combinations1.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.js
index 957f00f..26e1699 100644
--- a/base/javascript/test/inputs/json/priority/combinations1.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/combinations1.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = val[key];
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/combinations2.json/converters-top-level--67aa452ed509/TopLevel.js b/head/javascript/test/inputs/json/priority/combinations2.json/converters-top-level--67aa452ed509/TopLevel.js
index 8de8df6..ffb5ba9 100644
--- a/base/javascript/test/inputs/json/priority/combinations2.json/converters-top-level--67aa452ed509/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/combinations2.json/converters-top-level--67aa452ed509/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/combinations2.json/default/TopLevel.js b/head/javascript/test/inputs/json/priority/combinations2.json/default/TopLevel.js
index 8de8df6..ffb5ba9 100644
--- a/base/javascript/test/inputs/json/priority/combinations2.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/combinations2.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/combinations2.json/raw-type-any--474b307c39db/TopLevel.js b/head/javascript/test/inputs/json/priority/combinations2.json/raw-type-any--474b307c39db/TopLevel.js
index 2362827..d333075 100644
--- a/base/javascript/test/inputs/json/priority/combinations2.json/raw-type-any--474b307c39db/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/combinations2.json/raw-type-any--474b307c39db/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/combinations2.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.js b/head/javascript/test/inputs/json/priority/combinations2.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.js
index fbb3c93..e64d8d3 100644
--- a/base/javascript/test/inputs/json/priority/combinations2.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/combinations2.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = val[key];
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/combinations3.json/converters-top-level--67aa452ed509/TopLevel.js b/head/javascript/test/inputs/json/priority/combinations3.json/converters-top-level--67aa452ed509/TopLevel.js
index 7bdc1a8..cfa572b 100644
--- a/base/javascript/test/inputs/json/priority/combinations3.json/converters-top-level--67aa452ed509/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/combinations3.json/converters-top-level--67aa452ed509/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/combinations3.json/default/TopLevel.js b/head/javascript/test/inputs/json/priority/combinations3.json/default/TopLevel.js
index 7bdc1a8..cfa572b 100644
--- a/base/javascript/test/inputs/json/priority/combinations3.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/combinations3.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/combinations3.json/raw-type-any--474b307c39db/TopLevel.js b/head/javascript/test/inputs/json/priority/combinations3.json/raw-type-any--474b307c39db/TopLevel.js
index 0fc1b77..547f01c 100644
--- a/base/javascript/test/inputs/json/priority/combinations3.json/raw-type-any--474b307c39db/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/combinations3.json/raw-type-any--474b307c39db/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/combinations3.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.js b/head/javascript/test/inputs/json/priority/combinations3.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.js
index d88ee80..8605361 100644
--- a/base/javascript/test/inputs/json/priority/combinations3.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/combinations3.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = val[key];
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/combinations4.json/converters-top-level--67aa452ed509/TopLevel.js b/head/javascript/test/inputs/json/priority/combinations4.json/converters-top-level--67aa452ed509/TopLevel.js
index 9098e52..6dac0d3 100644
--- a/base/javascript/test/inputs/json/priority/combinations4.json/converters-top-level--67aa452ed509/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/combinations4.json/converters-top-level--67aa452ed509/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/combinations4.json/default/TopLevel.js b/head/javascript/test/inputs/json/priority/combinations4.json/default/TopLevel.js
index 9098e52..6dac0d3 100644
--- a/base/javascript/test/inputs/json/priority/combinations4.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/combinations4.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/combinations4.json/raw-type-any--474b307c39db/TopLevel.js b/head/javascript/test/inputs/json/priority/combinations4.json/raw-type-any--474b307c39db/TopLevel.js
index 84b4eb4..8eaeaa8 100644
--- a/base/javascript/test/inputs/json/priority/combinations4.json/raw-type-any--474b307c39db/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/combinations4.json/raw-type-any--474b307c39db/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/combinations4.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.js b/head/javascript/test/inputs/json/priority/combinations4.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.js
index 60a61ff..2146b4e 100644
--- a/base/javascript/test/inputs/json/priority/combinations4.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/combinations4.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = val[key];
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/combined-enum.json/default/TopLevel.js b/head/javascript/test/inputs/json/priority/combined-enum.json/default/TopLevel.js
index 7db1140..9688d0a 100644
--- a/base/javascript/test/inputs/json/priority/combined-enum.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/combined-enum.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/direct-recursive.json/default/TopLevel.js b/head/javascript/test/inputs/json/priority/direct-recursive.json/default/TopLevel.js
index 25bdd46..f7c64d7 100644
--- a/base/javascript/test/inputs/json/priority/direct-recursive.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/direct-recursive.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/empty-enum.json/default/TopLevel.js b/head/javascript/test/inputs/json/priority/empty-enum.json/default/TopLevel.js
index 2805dbb..fc7d818 100644
--- a/base/javascript/test/inputs/json/priority/empty-enum.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/empty-enum.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/identifiers.json/default/TopLevel.js b/head/javascript/test/inputs/json/priority/identifiers.json/default/TopLevel.js
index 24aedef..e8bf98a 100644
--- a/base/javascript/test/inputs/json/priority/identifiers.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/identifiers.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/issue2680-object-array.json/default/TopLevel.js b/head/javascript/test/inputs/json/priority/issue2680-object-array.json/default/TopLevel.js
index 601b357..f901377 100644
--- a/base/javascript/test/inputs/json/priority/issue2680-object-array.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/issue2680-object-array.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/issue2680-scalar-array.json/default/TopLevel.js b/head/javascript/test/inputs/json/priority/issue2680-scalar-array.json/default/TopLevel.js
index 9515706..42e24b8 100644
--- a/base/javascript/test/inputs/json/priority/issue2680-scalar-array.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/issue2680-scalar-array.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/keywords.json/default/TopLevel.js b/head/javascript/test/inputs/json/priority/keywords.json/default/TopLevel.js
index 3210b84..0445c3e 100644
--- a/base/javascript/test/inputs/json/priority/keywords.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/keywords.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/kotlin-enum-class-case-collision.json/default/TopLevel.js b/head/javascript/test/inputs/json/priority/kotlin-enum-class-case-collision.json/default/TopLevel.js
index afd8b5b..6210480 100644
--- a/base/javascript/test/inputs/json/priority/kotlin-enum-class-case-collision.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/kotlin-enum-class-case-collision.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/list.json/default/TopLevel.js b/head/javascript/test/inputs/json/priority/list.json/default/TopLevel.js
index 279b16f..2cbdd2e 100644
--- a/base/javascript/test/inputs/json/priority/list.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/list.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/name-style.json/default/TopLevel.js b/head/javascript/test/inputs/json/priority/name-style.json/default/TopLevel.js
index 1f13def..c65bbc6 100644
--- a/base/javascript/test/inputs/json/priority/name-style.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/name-style.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/nbl-stats.json/default/TopLevel.js b/head/javascript/test/inputs/json/priority/nbl-stats.json/default/TopLevel.js
index 6a9855b..8ba7b16 100644
--- a/base/javascript/test/inputs/json/priority/nbl-stats.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/nbl-stats.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/nested-objects.json/converters-all-objects--3a443babd1cb/TopLevel.js b/head/javascript/test/inputs/json/priority/nested-objects.json/converters-all-objects--3a443babd1cb/TopLevel.js
index d14ecfb..90ee03d 100644
--- a/base/javascript/test/inputs/json/priority/nested-objects.json/converters-all-objects--3a443babd1cb/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/nested-objects.json/converters-all-objects--3a443babd1cb/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/nested-objects.json/default/TopLevel.js b/head/javascript/test/inputs/json/priority/nested-objects.json/default/TopLevel.js
index d14ecfb..90ee03d 100644
--- a/base/javascript/test/inputs/json/priority/nested-objects.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/nested-objects.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/no-classes.json/default/TopLevel.js b/head/javascript/test/inputs/json/priority/no-classes.json/default/TopLevel.js
index 38e3295..6f70d45 100644
--- a/base/javascript/test/inputs/json/priority/no-classes.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/no-classes.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/nst-test-suite.json/default/TopLevel.js b/head/javascript/test/inputs/json/priority/nst-test-suite.json/default/TopLevel.js
index c52af80..fb1129f 100644
--- a/base/javascript/test/inputs/json/priority/nst-test-suite.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/nst-test-suite.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/number-map.json/default/TopLevel.js b/head/javascript/test/inputs/json/priority/number-map.json/default/TopLevel.js
index f67e389..61cf3f7 100644
--- a/base/javascript/test/inputs/json/priority/number-map.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/number-map.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/omit-empty.json/default/TopLevel.js b/head/javascript/test/inputs/json/priority/omit-empty.json/default/TopLevel.js
index 43380a8..b409f95 100644
--- a/base/javascript/test/inputs/json/priority/omit-empty.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/omit-empty.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/optional-union.json/default/TopLevel.js b/head/javascript/test/inputs/json/priority/optional-union.json/default/TopLevel.js
index 2287ca4..a7755cf 100644
--- a/base/javascript/test/inputs/json/priority/optional-union.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/optional-union.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/php-mixed-union.json/default/TopLevel.js b/head/javascript/test/inputs/json/priority/php-mixed-union.json/default/TopLevel.js
index 555bab5..4c6d0d3 100644
--- a/base/javascript/test/inputs/json/priority/php-mixed-union.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/php-mixed-union.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/php-validation.json/default/TopLevel.js b/head/javascript/test/inputs/json/priority/php-validation.json/default/TopLevel.js
index 6cdb09a..a5d7c6e 100644
--- a/base/javascript/test/inputs/json/priority/php-validation.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/php-validation.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/recursive.json/default/TopLevel.js b/head/javascript/test/inputs/json/priority/recursive.json/default/TopLevel.js
index ebdf80c..42d2ced 100644
--- a/base/javascript/test/inputs/json/priority/recursive.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/recursive.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/simple-identifiers.json/default/TopLevel.js b/head/javascript/test/inputs/json/priority/simple-identifiers.json/default/TopLevel.js
index 1ecd528..09ba027 100644
--- a/base/javascript/test/inputs/json/priority/simple-identifiers.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/simple-identifiers.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/union-constructor-clash.json/default/TopLevel.js b/head/javascript/test/inputs/json/priority/union-constructor-clash.json/default/TopLevel.js
index f541287..7392567 100644
--- a/base/javascript/test/inputs/json/priority/union-constructor-clash.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/union-constructor-clash.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/unions.json/default/TopLevel.js b/head/javascript/test/inputs/json/priority/unions.json/default/TopLevel.js
index 5686cad..87c9c8f 100644
--- a/base/javascript/test/inputs/json/priority/unions.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/unions.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/url.json/default/TopLevel.js b/head/javascript/test/inputs/json/priority/url.json/default/TopLevel.js
index eddd54c..6ac4f49 100644
--- a/base/javascript/test/inputs/json/priority/url.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/url.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/priority/uuids.json/default/TopLevel.js b/head/javascript/test/inputs/json/priority/uuids.json/default/TopLevel.js
index a8baed6..9850f5a 100644
--- a/base/javascript/test/inputs/json/priority/uuids.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/priority/uuids.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/samples/bitcoin-block.json/default/TopLevel.js b/head/javascript/test/inputs/json/samples/bitcoin-block.json/default/TopLevel.js
index 22fb238..93b54f7 100644
--- a/base/javascript/test/inputs/json/samples/bitcoin-block.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/samples/bitcoin-block.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/samples/copy-with-property.json/default/TopLevel.js b/head/javascript/test/inputs/json/samples/copy-with-property.json/default/TopLevel.js
index 744997a..3c658f1 100644
--- a/base/javascript/test/inputs/json/samples/copy-with-property.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/samples/copy-with-property.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/samples/getting-started.json/default/TopLevel.js b/head/javascript/test/inputs/json/samples/getting-started.json/default/TopLevel.js
index 6286f9a..f3e645b 100644
--- a/base/javascript/test/inputs/json/samples/getting-started.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/samples/getting-started.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/samples/github-events.json/default/TopLevel.js b/head/javascript/test/inputs/json/samples/github-events.json/default/TopLevel.js
index 8cdad8e..ea16d1c 100644
--- a/base/javascript/test/inputs/json/samples/github-events.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/samples/github-events.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/samples/kitchen-sink.json/default/TopLevel.js b/head/javascript/test/inputs/json/samples/kitchen-sink.json/default/TopLevel.js
index 482996b..f9191aa 100644
--- a/base/javascript/test/inputs/json/samples/kitchen-sink.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/samples/kitchen-sink.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/samples/null-safe.json/default/TopLevel.js b/head/javascript/test/inputs/json/samples/null-safe.json/default/TopLevel.js
index 561f080..5530bdb 100644
--- a/base/javascript/test/inputs/json/samples/null-safe.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/samples/null-safe.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/samples/objc-control-characters.json/default/TopLevel.js b/head/javascript/test/inputs/json/samples/objc-control-characters.json/default/TopLevel.js
index a887bec..66cdbee 100644
--- a/base/javascript/test/inputs/json/samples/objc-control-characters.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/samples/objc-control-characters.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/samples/pokedex.json/default/TopLevel.js b/head/javascript/test/inputs/json/samples/pokedex.json/default/TopLevel.js
index 51d9840..4893c29 100644
--- a/base/javascript/test/inputs/json/samples/pokedex.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/samples/pokedex.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/samples/reddit.json/default/TopLevel.js b/head/javascript/test/inputs/json/samples/reddit.json/default/TopLevel.js
index 1ebb38a..df366d3 100644
--- a/base/javascript/test/inputs/json/samples/reddit.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/samples/reddit.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/samples/simple-object.json/default/TopLevel.js b/head/javascript/test/inputs/json/samples/simple-object.json/default/TopLevel.js
index 6be8558..b19025d 100644
--- a/base/javascript/test/inputs/json/samples/simple-object.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/samples/simple-object.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/samples/spotify-album.json/default/TopLevel.js b/head/javascript/test/inputs/json/samples/spotify-album.json/default/TopLevel.js
index 86817b6..848110d 100644
--- a/base/javascript/test/inputs/json/samples/spotify-album.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/samples/spotify-album.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/samples/us-avg-temperatures.json/default/TopLevel.js b/head/javascript/test/inputs/json/samples/us-avg-temperatures.json/default/TopLevel.js
index d23e2d7..eb82c03 100644
--- a/base/javascript/test/inputs/json/samples/us-avg-temperatures.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/samples/us-avg-temperatures.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/javascript/test/inputs/json/samples/us-senators.json/default/TopLevel.js b/head/javascript/test/inputs/json/samples/us-senators.json/default/TopLevel.js
index dc3a543..5460faa 100644
--- a/base/javascript/test/inputs/json/samples/us-senators.json/default/TopLevel.js
+++ b/head/javascript/test/inputs/json/samples/us-senators.json/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/accessors.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/accessors.schema/default/TopLevel.js
index 782c410..a5164dd 100644
--- a/base/schema-flow/test/inputs/schema/accessors.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/accessors.schema/default/TopLevel.js
@@ -117,7 +117,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -128,7 +128,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/all-of-additional-properties-false.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/all-of-additional-properties-false.schema/default/TopLevel.js
index 30facbe..5da9167 100644
--- a/base/schema-flow/test/inputs/schema/all-of-additional-properties-false.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/all-of-additional-properties-false.schema/default/TopLevel.js
@@ -119,7 +119,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -130,7 +130,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/any.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/any.schema/default/TopLevel.js
index 9b41bf2..7998331 100644
--- a/base/schema-flow/test/inputs/schema/any.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/any.schema/default/TopLevel.js
@@ -109,7 +109,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/bool-string.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/bool-string.schema/default/TopLevel.js
index de3bb1e..eef97f8 100644
--- a/base/schema-flow/test/inputs/schema/bool-string.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/bool-string.schema/default/TopLevel.js
@@ -116,7 +116,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -127,7 +127,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/boolean-subschema.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/boolean-subschema.schema/default/TopLevel.js
index 0ab5f8f..b178219 100644
--- a/base/schema-flow/test/inputs/schema/boolean-subschema.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/boolean-subschema.schema/default/TopLevel.js
@@ -110,7 +110,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -121,7 +121,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/camelCase.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/camelCase.schema/default/TopLevel.js
index e050014..a08a6ca 100644
--- a/base/schema-flow/test/inputs/schema/camelCase.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/camelCase.schema/default/TopLevel.js
@@ -109,7 +109,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/class-map-union.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/class-map-union.schema/default/TopLevel.js
index f8747ce..4cb3b4a 100644
--- a/base/schema-flow/test/inputs/schema/class-map-union.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/class-map-union.schema/default/TopLevel.js
@@ -124,7 +124,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -135,7 +135,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/class-with-additional.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/class-with-additional.schema/default/TopLevel.js
index 319b5d0..7987a08 100644
--- a/base/schema-flow/test/inputs/schema/class-with-additional.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/class-with-additional.schema/default/TopLevel.js
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/comment-injection-enum-nested-comment.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/comment-injection-enum-nested-comment.schema/default/TopLevel.js
index 03492d1..3b225fc 100644
--- a/base/schema-flow/test/inputs/schema/comment-injection-enum-nested-comment.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/comment-injection-enum-nested-comment.schema/default/TopLevel.js
@@ -122,7 +122,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -133,7 +133,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/comment-injection-enum.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/comment-injection-enum.schema/default/TopLevel.js
index 7267743..1b6ba99 100644
--- a/base/schema-flow/test/inputs/schema/comment-injection-enum.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/comment-injection-enum.schema/default/TopLevel.js
@@ -128,7 +128,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -139,7 +139,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/comment-injection-nested-comment.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/comment-injection-nested-comment.schema/default/TopLevel.js
index 3883ea0..57036a2 100644
--- a/base/schema-flow/test/inputs/schema/comment-injection-nested-comment.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/comment-injection-nested-comment.schema/default/TopLevel.js
@@ -119,7 +119,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -130,7 +130,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/comment-injection.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/comment-injection.schema/default/TopLevel.js
index a6c6ee5..6de87d7 100644
--- a/base/schema-flow/test/inputs/schema/comment-injection.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/comment-injection.schema/default/TopLevel.js
@@ -147,7 +147,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -158,7 +158,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/const-non-string.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/const-non-string.schema/default/TopLevel.js
index bfdefce..729be21 100644
--- a/base/schema-flow/test/inputs/schema/const-non-string.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/const-non-string.schema/default/TopLevel.js
@@ -115,7 +115,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -126,7 +126,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/constructor.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/constructor.schema/default/TopLevel.js
index 461857e..6544d2d 100644
--- a/base/schema-flow/test/inputs/schema/constructor.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/constructor.schema/default/TopLevel.js
@@ -113,7 +113,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -124,7 +124,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/cut-enum.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/cut-enum.schema/default/TopLevel.js
index fd3804b..7c4a34e 100644
--- a/base/schema-flow/test/inputs/schema/cut-enum.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/cut-enum.schema/default/TopLevel.js
@@ -108,7 +108,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -119,7 +119,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/date-time-or-string.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/date-time-or-string.schema/default/TopLevel.js
index 159b882..5f936fb 100644
--- a/base/schema-flow/test/inputs/schema/date-time-or-string.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/date-time-or-string.schema/default/TopLevel.js
@@ -114,7 +114,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -125,7 +125,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/date-time.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/date-time.schema/default/TopLevel.js
index 5679fa7..2c0853a 100644
--- a/base/schema-flow/test/inputs/schema/date-time.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/date-time.schema/default/TopLevel.js
@@ -117,7 +117,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -128,7 +128,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/default-value.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/default-value.schema/default/TopLevel.js
index 9529bb0..05ca456 100644
--- a/base/schema-flow/test/inputs/schema/default-value.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/default-value.schema/default/TopLevel.js
@@ -110,7 +110,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -121,7 +121,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/description-with-double-quotes.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/description-with-double-quotes.schema/default/TopLevel.js
index 460c470..dd88f13 100644
--- a/base/schema-flow/test/inputs/schema/description-with-double-quotes.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/description-with-double-quotes.schema/default/TopLevel.js
@@ -111,7 +111,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -122,7 +122,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/description.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/description.schema/default/TopLevel.js
index 8a80a17..96fb2bb 100644
--- a/base/schema-flow/test/inputs/schema/description.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/description.schema/default/TopLevel.js
@@ -146,7 +146,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -157,7 +157,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/direct-union.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/direct-union.schema/default/TopLevel.js
index 953338d..230fa76 100644
--- a/base/schema-flow/test/inputs/schema/direct-union.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/direct-union.schema/default/TopLevel.js
@@ -114,7 +114,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -125,7 +125,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/empty-object.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/empty-object.schema/default/TopLevel.js
index 3b57852..4c905fd 100644
--- a/base/schema-flow/test/inputs/schema/empty-object.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/empty-object.schema/default/TopLevel.js
@@ -105,7 +105,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -116,7 +116,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/enum-large.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/enum-large.schema/default/TopLevel.js
index da2bc16..d5cbc15 100644
--- a/base/schema-flow/test/inputs/schema/enum-large.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/enum-large.schema/default/TopLevel.js
@@ -136,7 +136,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -147,7 +147,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/enum-with-null.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/enum-with-null.schema/default/TopLevel.js
index 6d8d098..5a829ad 100644
--- a/base/schema-flow/test/inputs/schema/enum-with-null.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/enum-with-null.schema/default/TopLevel.js
@@ -111,7 +111,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -122,7 +122,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/enum-with-values.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/enum-with-values.schema/default/TopLevel.js
index b984eb2..9f9027a 100644
--- a/base/schema-flow/test/inputs/schema/enum-with-values.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/enum-with-values.schema/default/TopLevel.js
@@ -117,7 +117,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -128,7 +128,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/enum.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/enum.schema/default/TopLevel.js
index 6fe5b6c..f891810 100644
--- a/base/schema-flow/test/inputs/schema/enum.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/enum.schema/default/TopLevel.js
@@ -129,7 +129,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -140,7 +140,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/fractional-bounds.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/fractional-bounds.schema/default/TopLevel.js
index 022ded2..4ee22ce 100644
--- a/base/schema-flow/test/inputs/schema/fractional-bounds.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/fractional-bounds.schema/default/TopLevel.js
@@ -108,7 +108,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -119,7 +119,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/go-schema-pattern-properties.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/go-schema-pattern-properties.schema/default/TopLevel.js
index 35ad8a1..109b999 100644
--- a/base/schema-flow/test/inputs/schema/go-schema-pattern-properties.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/go-schema-pattern-properties.schema/default/TopLevel.js
@@ -108,7 +108,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -119,7 +119,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/haskell-enum-forbidden.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/haskell-enum-forbidden.schema/default/TopLevel.js
index 4142df5..e279ded 100644
--- a/base/schema-flow/test/inputs/schema/haskell-enum-forbidden.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/haskell-enum-forbidden.schema/default/TopLevel.js
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/id-no-address.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/id-no-address.schema/default/TopLevel.js
index 94dd602..67f936a 100644
--- a/base/schema-flow/test/inputs/schema/id-no-address.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/id-no-address.schema/default/TopLevel.js
@@ -108,7 +108,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -119,7 +119,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/id-root.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/id-root.schema/default/TopLevel.js
index 0da7b3c..5fc0b1b 100644
--- a/base/schema-flow/test/inputs/schema/id-root.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/id-root.schema/default/TopLevel.js
@@ -108,7 +108,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -119,7 +119,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/ie-suffix-singularization.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/ie-suffix-singularization.schema/default/TopLevel.js
index 282e724..a3d1c8c 100644
--- a/base/schema-flow/test/inputs/schema/ie-suffix-singularization.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/ie-suffix-singularization.schema/default/TopLevel.js
@@ -114,7 +114,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -125,7 +125,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/implicit-all-of.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/implicit-all-of.schema/default/TopLevel.js
index 3e5b1af..5142321 100644
--- a/base/schema-flow/test/inputs/schema/implicit-all-of.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/implicit-all-of.schema/default/TopLevel.js
@@ -110,7 +110,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -121,7 +121,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/implicit-class-array-union.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/implicit-class-array-union.schema/default/TopLevel.js
index 7c09067..675022a 100644
--- a/base/schema-flow/test/inputs/schema/implicit-class-array-union.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/implicit-class-array-union.schema/default/TopLevel.js
@@ -115,7 +115,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -126,7 +126,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/implicit-one-of.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/implicit-one-of.schema/default/TopLevel.js
index 028af63..ce7c5c9 100644
--- a/base/schema-flow/test/inputs/schema/implicit-one-of.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/implicit-one-of.schema/default/TopLevel.js
@@ -110,7 +110,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -121,7 +121,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/integer-before-number.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/integer-before-number.schema/default/TopLevel.js
index c7d038a..7a0af2d 100644
--- a/base/schema-flow/test/inputs/schema/integer-before-number.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/integer-before-number.schema/default/TopLevel.js
@@ -108,7 +108,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -119,7 +119,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/integer-float-union.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/integer-float-union.schema/default/TopLevel.js
index c434c99..4d848c3 100644
--- a/base/schema-flow/test/inputs/schema/integer-float-union.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/integer-float-union.schema/default/TopLevel.js
@@ -108,7 +108,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -119,7 +119,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/integer-string.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/integer-string.schema/default/TopLevel.js
index ef28a5e..1466db9 100644
--- a/base/schema-flow/test/inputs/schema/integer-string.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/integer-string.schema/default/TopLevel.js
@@ -116,7 +116,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -127,7 +127,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/integer-type.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/integer-type.schema/default/TopLevel.js
index 51b83f3..fe20f84 100644
--- a/base/schema-flow/test/inputs/schema/integer-type.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/integer-type.schema/default/TopLevel.js
@@ -116,7 +116,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -127,7 +127,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/intersection-nested.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/intersection-nested.schema/default/TopLevel.js
index 58885fc..41e39c5 100644
--- a/base/schema-flow/test/inputs/schema/intersection-nested.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/intersection-nested.schema/default/TopLevel.js
@@ -107,7 +107,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -118,7 +118,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/intersection.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/intersection.schema/default/TopLevel.js
index 7ff9370..385add2 100644
--- a/base/schema-flow/test/inputs/schema/intersection.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/intersection.schema/default/TopLevel.js
@@ -113,7 +113,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -124,7 +124,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/issue2680-top-level-array.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/issue2680-top-level-array.schema/default/TopLevel.js
index 57ef2c0..a894724 100644
--- a/base/schema-flow/test/inputs/schema/issue2680-top-level-array.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/issue2680-top-level-array.schema/default/TopLevel.js
@@ -105,7 +105,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -116,7 +116,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/keyword-enum.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/keyword-enum.schema/default/TopLevel.js
index bbfdfd0..6daf949 100644
--- a/base/schema-flow/test/inputs/schema/keyword-enum.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/keyword-enum.schema/default/TopLevel.js
@@ -443,7 +443,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -454,7 +454,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/keyword-unions.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/keyword-unions.schema/default/TopLevel.js
index 0ba6f6c..ac91823 100644
--- a/base/schema-flow/test/inputs/schema/keyword-unions.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/keyword-unions.schema/default/TopLevel.js
@@ -2100,7 +2100,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -2111,7 +2111,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/light.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/light.schema/default/TopLevel.js
index 87eb58e..a9f72b4 100644
--- a/base/schema-flow/test/inputs/schema/light.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/light.schema/default/TopLevel.js
@@ -113,7 +113,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -124,7 +124,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/list.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/list.schema/default/TopLevel.js
index 17c0e10..b6fd5dc 100644
--- a/base/schema-flow/test/inputs/schema/list.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/list.schema/default/TopLevel.js
@@ -111,7 +111,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -122,7 +122,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/min-max-items.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/min-max-items.schema/default/TopLevel.js
index 669266c..d76e536 100644
--- a/base/schema-flow/test/inputs/schema/min-max-items.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/min-max-items.schema/default/TopLevel.js
@@ -114,7 +114,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -125,7 +125,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/minmax-integer.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/minmax-integer.schema/default/TopLevel.js
index 60be51d..f9bfe28 100644
--- a/base/schema-flow/test/inputs/schema/minmax-integer.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/minmax-integer.schema/default/TopLevel.js
@@ -115,7 +115,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -126,7 +126,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/minmax.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/minmax.schema/default/TopLevel.js
index d58225c..544f02e 100644
--- a/base/schema-flow/test/inputs/schema/minmax.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/minmax.schema/default/TopLevel.js
@@ -115,7 +115,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -126,7 +126,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/minmaxlength.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/minmaxlength.schema/default/TopLevel.js
index bd4537b..f6ce594 100644
--- a/base/schema-flow/test/inputs/schema/minmaxlength.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/minmaxlength.schema/default/TopLevel.js
@@ -117,7 +117,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -128,7 +128,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/multi-type-enum.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/multi-type-enum.schema/default/TopLevel.js
index 61a8238..dcac16a 100644
--- a/base/schema-flow/test/inputs/schema/multi-type-enum.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/multi-type-enum.schema/default/TopLevel.js
@@ -115,7 +115,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -126,7 +126,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/mutually-recursive.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/mutually-recursive.schema/default/TopLevel.js
index cbf3645..cd37458 100644
--- a/base/schema-flow/test/inputs/schema/mutually-recursive.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/mutually-recursive.schema/default/TopLevel.js
@@ -115,7 +115,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -126,7 +126,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/nested-intersection-union.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/nested-intersection-union.schema/default/TopLevel.js
index 11caa97..9944441 100644
--- a/base/schema-flow/test/inputs/schema/nested-intersection-union.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/nested-intersection-union.schema/default/TopLevel.js
@@ -115,7 +115,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -126,7 +126,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/non-standard-ref.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/non-standard-ref.schema/default/TopLevel.js
index 63ee252..7c3fec8 100644
--- a/base/schema-flow/test/inputs/schema/non-standard-ref.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/non-standard-ref.schema/default/TopLevel.js
@@ -110,7 +110,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -121,7 +121,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/nullable-optional-one-of.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/nullable-optional-one-of.schema/default/TopLevel.js
index b682aea..267dd99 100644
--- a/base/schema-flow/test/inputs/schema/nullable-optional-one-of.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/nullable-optional-one-of.schema/default/TopLevel.js
@@ -113,7 +113,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -124,7 +124,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/object-type-required.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/object-type-required.schema/default/TopLevel.js
index 695aabc..ed1bd94 100644
--- a/base/schema-flow/test/inputs/schema/object-type-required.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/object-type-required.schema/default/TopLevel.js
@@ -113,7 +113,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -124,7 +124,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/optional-any.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/optional-any.schema/default/TopLevel.js
index e3ef54d..69b48fe 100644
--- a/base/schema-flow/test/inputs/schema/optional-any.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/optional-any.schema/default/TopLevel.js
@@ -108,7 +108,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -119,7 +119,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/optional-const-ref.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/optional-const-ref.schema/default/TopLevel.js
index c6e94b4..334c735 100644
--- a/base/schema-flow/test/inputs/schema/optional-const-ref.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/optional-const-ref.schema/default/TopLevel.js
@@ -118,7 +118,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -129,7 +129,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/optional-constraints.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/optional-constraints.schema/default/TopLevel.js
index 3afc5fb..8c3fb18 100644
--- a/base/schema-flow/test/inputs/schema/optional-constraints.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/optional-constraints.schema/default/TopLevel.js
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/optional-date-time.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/optional-date-time.schema/default/TopLevel.js
index 5c5a63e..c5b4f92 100644
--- a/base/schema-flow/test/inputs/schema/optional-date-time.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/optional-date-time.schema/default/TopLevel.js
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/optional-enum.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/optional-enum.schema/default/TopLevel.js
index 5708ba1..75acb19 100644
--- a/base/schema-flow/test/inputs/schema/optional-enum.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/optional-enum.schema/default/TopLevel.js
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/optional-property.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/optional-property.schema/default/TopLevel.js
index 9e8c173..c4e3d71 100644
--- a/base/schema-flow/test/inputs/schema/optional-property.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/optional-property.schema/default/TopLevel.js
@@ -107,7 +107,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -118,7 +118,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/pattern.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/pattern.schema/default/TopLevel.js
index 7259f33..ba6097d 100644
--- a/base/schema-flow/test/inputs/schema/pattern.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/pattern.schema/default/TopLevel.js
@@ -115,7 +115,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -126,7 +126,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/postman-collection.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/postman-collection.schema/default/TopLevel.js
index 8139ed9..9fcf003 100644
--- a/base/schema-flow/test/inputs/schema/postman-collection.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/postman-collection.schema/default/TopLevel.js
@@ -118,7 +118,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -129,7 +129,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/prefix-items.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/prefix-items.schema/default/TopLevel.js
index de153a7..73e6a33 100644
--- a/base/schema-flow/test/inputs/schema/prefix-items.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/prefix-items.schema/default/TopLevel.js
@@ -111,7 +111,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -122,7 +122,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/recursive-union-flattening.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/recursive-union-flattening.schema/default/TopLevel.js
index b1766ee..566c3d1 100644
--- a/base/schema-flow/test/inputs/schema/recursive-union-flattening.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/recursive-union-flattening.schema/default/TopLevel.js
@@ -121,7 +121,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -132,7 +132,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/ref-id-files.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/ref-id-files.schema/default/TopLevel.js
index fd3804b..7c4a34e 100644
--- a/base/schema-flow/test/inputs/schema/ref-id-files.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/ref-id-files.schema/default/TopLevel.js
@@ -108,7 +108,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -119,7 +119,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/ref-remote.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/ref-remote.schema/default/TopLevel.js
index 17c0e10..b6fd5dc 100644
--- a/base/schema-flow/test/inputs/schema/ref-remote.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/ref-remote.schema/default/TopLevel.js
@@ -111,7 +111,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -122,7 +122,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/renaming-bug.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/renaming-bug.schema/default/TopLevel.js
index bfa4e9f..b950512 100644
--- a/base/schema-flow/test/inputs/schema/renaming-bug.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/renaming-bug.schema/default/TopLevel.js
@@ -210,7 +210,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -221,7 +221,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/required-draft3.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/required-draft3.schema/default/TopLevel.js
index d35b9e7..5753eef 100644
--- a/base/schema-flow/test/inputs/schema/required-draft3.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/required-draft3.schema/default/TopLevel.js
@@ -108,7 +108,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -119,7 +119,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/required-non-properties.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/required-non-properties.schema/default/TopLevel.js
index 99c86ad..26a7fbe 100644
--- a/base/schema-flow/test/inputs/schema/required-non-properties.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/required-non-properties.schema/default/TopLevel.js
@@ -109,7 +109,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/required.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/required.schema/default/TopLevel.js
index d35b9e7..5753eef 100644
--- a/base/schema-flow/test/inputs/schema/required.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/required.schema/default/TopLevel.js
@@ -108,7 +108,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -119,7 +119,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/rust-cycle-breaker-union.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/rust-cycle-breaker-union.schema/default/TopLevel.js
index 9868a9b..52051ec 100644
--- a/base/schema-flow/test/inputs/schema/rust-cycle-breaker-union.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/rust-cycle-breaker-union.schema/default/TopLevel.js
@@ -117,7 +117,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -128,7 +128,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/schema-constraints.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/schema-constraints.schema/default/TopLevel.js
index 2f38303..914ccc6 100644
--- a/base/schema-flow/test/inputs/schema/schema-constraints.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/schema-constraints.schema/default/TopLevel.js
@@ -109,7 +109,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/simple-ref.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/simple-ref.schema/default/TopLevel.js
index 17c0e10..b6fd5dc 100644
--- a/base/schema-flow/test/inputs/schema/simple-ref.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/simple-ref.schema/default/TopLevel.js
@@ -111,7 +111,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -122,7 +122,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/strict-optional.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/strict-optional.schema/default/TopLevel.js
index f385a6f..ef246b5 100644
--- a/base/schema-flow/test/inputs/schema/strict-optional.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/strict-optional.schema/default/TopLevel.js
@@ -108,7 +108,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -119,7 +119,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/top-level-array.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/top-level-array.schema/default/TopLevel.js
index 6db6cca..37f8c58 100644
--- a/base/schema-flow/test/inputs/schema/top-level-array.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/top-level-array.schema/default/TopLevel.js
@@ -111,7 +111,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -122,7 +122,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/top-level-enum.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/top-level-enum.schema/default/TopLevel.js
index e182a8b..1cdf5bf 100644
--- a/base/schema-flow/test/inputs/schema/top-level-enum.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/top-level-enum.schema/default/TopLevel.js
@@ -108,7 +108,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -119,7 +119,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/top-level-primitive-array.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/top-level-primitive-array.schema/default/TopLevel.js
index c8d59da..aba0687 100644
--- a/base/schema-flow/test/inputs/schema/top-level-primitive-array.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/top-level-primitive-array.schema/default/TopLevel.js
@@ -105,7 +105,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -116,7 +116,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/top-level-primitive.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/top-level-primitive.schema/default/TopLevel.js
index bd2bada..e8add90 100644
--- a/base/schema-flow/test/inputs/schema/top-level-primitive.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/top-level-primitive.schema/default/TopLevel.js
@@ -108,7 +108,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -119,7 +119,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/tuple.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/tuple.schema/default/TopLevel.js
index 0a3be23..0ef5021 100644
--- a/base/schema-flow/test/inputs/schema/tuple.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/tuple.schema/default/TopLevel.js
@@ -110,7 +110,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -121,7 +121,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/unevaluated-properties.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/unevaluated-properties.schema/default/TopLevel.js
index 8c9f7fb..43d4ea8 100644
--- a/base/schema-flow/test/inputs/schema/unevaluated-properties.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/unevaluated-properties.schema/default/TopLevel.js
@@ -126,7 +126,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -137,7 +137,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/unicode-codepoint-length.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/unicode-codepoint-length.schema/default/TopLevel.js
index ab0a898..7a5e670 100644
--- a/base/schema-flow/test/inputs/schema/unicode-codepoint-length.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/unicode-codepoint-length.schema/default/TopLevel.js
@@ -110,7 +110,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -121,7 +121,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/union-int-double.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/union-int-double.schema/default/TopLevel.js
index 0e237ee..6fc2761 100644
--- a/base/schema-flow/test/inputs/schema/union-int-double.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/union-int-double.schema/default/TopLevel.js
@@ -110,7 +110,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -121,7 +121,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/union-list.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/union-list.schema/default/TopLevel.js
index 2b31d51..d51a622 100644
--- a/base/schema-flow/test/inputs/schema/union-list.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/union-list.schema/default/TopLevel.js
@@ -113,7 +113,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -124,7 +124,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/union.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/union.schema/default/TopLevel.js
index af3f6dc..12ba498 100644
--- a/base/schema-flow/test/inputs/schema/union.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/union.schema/default/TopLevel.js
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/uuid.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/uuid.schema/default/TopLevel.js
index b30ae68..00c6cf9 100644
--- a/base/schema-flow/test/inputs/schema/uuid.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/uuid.schema/default/TopLevel.js
@@ -118,7 +118,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -129,7 +129,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-flow/test/inputs/schema/vega-lite.schema/default/TopLevel.js b/head/schema-flow/test/inputs/schema/vega-lite.schema/default/TopLevel.js
index e870aef..55f0d57 100644
--- a/base/schema-flow/test/inputs/schema/vega-lite.schema/default/TopLevel.js
+++ b/head/schema-flow/test/inputs/schema/vega-lite.schema/default/TopLevel.js
@@ -6199,7 +6199,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -6210,7 +6210,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/accessors.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/accessors.schema/default/TopLevel.js
index eb93e60..154797c 100644
--- a/base/schema-javascript/test/inputs/schema/accessors.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/accessors.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/all-of-additional-properties-false.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/all-of-additional-properties-false.schema/default/TopLevel.js
index 01d1011..21b8574 100644
--- a/base/schema-javascript/test/inputs/schema/all-of-additional-properties-false.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/all-of-additional-properties-false.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/any.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/any.schema/default/TopLevel.js
index 93439e6..a7e673a 100644
--- a/base/schema-javascript/test/inputs/schema/any.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/any.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/bool-string.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/bool-string.schema/default/TopLevel.js
index d5a8ec8..0d81450 100644
--- a/base/schema-javascript/test/inputs/schema/bool-string.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/bool-string.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/boolean-subschema.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/boolean-subschema.schema/default/TopLevel.js
index 596d20f..76f7547 100644
--- a/base/schema-javascript/test/inputs/schema/boolean-subschema.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/boolean-subschema.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/camelCase.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/camelCase.schema/default/TopLevel.js
index 4b3914b..c0e550b 100644
--- a/base/schema-javascript/test/inputs/schema/camelCase.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/camelCase.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/class-map-union.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/class-map-union.schema/default/TopLevel.js
index 0c7c22f..91bb633 100644
--- a/base/schema-javascript/test/inputs/schema/class-map-union.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/class-map-union.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/class-with-additional.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/class-with-additional.schema/default/TopLevel.js
index 13e6554..72e87d1 100644
--- a/base/schema-javascript/test/inputs/schema/class-with-additional.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/class-with-additional.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/comment-injection-enum-nested-comment.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/comment-injection-enum-nested-comment.schema/default/TopLevel.js
index df87d90..2dac6aa 100644
--- a/base/schema-javascript/test/inputs/schema/comment-injection-enum-nested-comment.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/comment-injection-enum-nested-comment.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/comment-injection-enum.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/comment-injection-enum.schema/default/TopLevel.js
index df87d90..2dac6aa 100644
--- a/base/schema-javascript/test/inputs/schema/comment-injection-enum.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/comment-injection-enum.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/comment-injection-nested-comment.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/comment-injection-nested-comment.schema/default/TopLevel.js
index d5f1013..c674b26 100644
--- a/base/schema-javascript/test/inputs/schema/comment-injection-nested-comment.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/comment-injection-nested-comment.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/comment-injection.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/comment-injection.schema/default/TopLevel.js
index fc9edb9..ba69430 100644
--- a/base/schema-javascript/test/inputs/schema/comment-injection.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/comment-injection.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/const-non-string.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/const-non-string.schema/default/TopLevel.js
index 633025b..783418a 100644
--- a/base/schema-javascript/test/inputs/schema/const-non-string.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/const-non-string.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/constructor.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/constructor.schema/default/TopLevel.js
index 38db74a..9343932 100644
--- a/base/schema-javascript/test/inputs/schema/constructor.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/constructor.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/cut-enum.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/cut-enum.schema/default/TopLevel.js
index 8f33714..1481ace 100644
--- a/base/schema-javascript/test/inputs/schema/cut-enum.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/cut-enum.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/date-time-or-string.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/date-time-or-string.schema/default/TopLevel.js
index 02a84a3..4d28176 100644
--- a/base/schema-javascript/test/inputs/schema/date-time-or-string.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/date-time-or-string.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/date-time.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/date-time.schema/default/TopLevel.js
index e3c81ff..285a16b 100644
--- a/base/schema-javascript/test/inputs/schema/date-time.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/date-time.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/default-value.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/default-value.schema/default/TopLevel.js
index fed7bb6..9c7d374 100644
--- a/base/schema-javascript/test/inputs/schema/default-value.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/default-value.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/description-with-double-quotes.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/description-with-double-quotes.schema/default/TopLevel.js
index a60a61d..5519be4 100644
--- a/base/schema-javascript/test/inputs/schema/description-with-double-quotes.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/description-with-double-quotes.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/description.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/description.schema/default/TopLevel.js
index 9beaaae..339ad39 100644
--- a/base/schema-javascript/test/inputs/schema/description.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/description.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/direct-union.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/direct-union.schema/default/TopLevel.js
index bd3ee9a..d1970f4 100644
--- a/base/schema-javascript/test/inputs/schema/direct-union.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/direct-union.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/empty-object.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/empty-object.schema/default/TopLevel.js
index 57bbea2..1e8b660 100644
--- a/base/schema-javascript/test/inputs/schema/empty-object.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/empty-object.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/enum-large.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/enum-large.schema/default/TopLevel.js
index a0aed2b..da47547 100644
--- a/base/schema-javascript/test/inputs/schema/enum-large.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/enum-large.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/enum-with-null.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/enum-with-null.schema/default/TopLevel.js
index 492c8d8..6efdca8 100644
--- a/base/schema-javascript/test/inputs/schema/enum-with-null.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/enum-with-null.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/enum-with-values.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/enum-with-values.schema/default/TopLevel.js
index c7ec8cd..4de4ca1 100644
--- a/base/schema-javascript/test/inputs/schema/enum-with-values.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/enum-with-values.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/enum.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/enum.schema/default/TopLevel.js
index 2242ba6..6806070 100644
--- a/base/schema-javascript/test/inputs/schema/enum.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/enum.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/fractional-bounds.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/fractional-bounds.schema/default/TopLevel.js
index 2f0bc8f..50507ac 100644
--- a/base/schema-javascript/test/inputs/schema/fractional-bounds.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/fractional-bounds.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/go-schema-pattern-properties.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/go-schema-pattern-properties.schema/default/TopLevel.js
index e5d80d9..f69fbc0 100644
--- a/base/schema-javascript/test/inputs/schema/go-schema-pattern-properties.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/go-schema-pattern-properties.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/haskell-enum-forbidden.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/haskell-enum-forbidden.schema/default/TopLevel.js
index 074fee8..57ead81 100644
--- a/base/schema-javascript/test/inputs/schema/haskell-enum-forbidden.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/haskell-enum-forbidden.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/id-no-address.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/id-no-address.schema/default/TopLevel.js
index 8ceabb8..12344b7 100644
--- a/base/schema-javascript/test/inputs/schema/id-no-address.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/id-no-address.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/id-root.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/id-root.schema/default/TopLevel.js
index c70a4f7..7daea57 100644
--- a/base/schema-javascript/test/inputs/schema/id-root.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/id-root.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/ie-suffix-singularization.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/ie-suffix-singularization.schema/default/TopLevel.js
index b293c44..038af9b 100644
--- a/base/schema-javascript/test/inputs/schema/ie-suffix-singularization.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/ie-suffix-singularization.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/implicit-all-of.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/implicit-all-of.schema/default/TopLevel.js
index afc3a12..4dc53ea 100644
--- a/base/schema-javascript/test/inputs/schema/implicit-all-of.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/implicit-all-of.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/implicit-class-array-union.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/implicit-class-array-union.schema/default/TopLevel.js
index 7b6d864..ecb67b6 100644
--- a/base/schema-javascript/test/inputs/schema/implicit-class-array-union.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/implicit-class-array-union.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/implicit-one-of.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/implicit-one-of.schema/default/TopLevel.js
index 77234bf..fcb27b0 100644
--- a/base/schema-javascript/test/inputs/schema/implicit-one-of.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/implicit-one-of.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/integer-before-number.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/integer-before-number.schema/default/TopLevel.js
index 0be94db..039832e 100644
--- a/base/schema-javascript/test/inputs/schema/integer-before-number.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/integer-before-number.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/integer-float-union.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/integer-float-union.schema/default/TopLevel.js
index dbc9c1a..9a0922c 100644
--- a/base/schema-javascript/test/inputs/schema/integer-float-union.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/integer-float-union.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/integer-string.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/integer-string.schema/default/TopLevel.js
index 0464053..499421f 100644
--- a/base/schema-javascript/test/inputs/schema/integer-string.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/integer-string.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/integer-type.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/integer-type.schema/default/TopLevel.js
index b132e1a..e04899d 100644
--- a/base/schema-javascript/test/inputs/schema/integer-type.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/integer-type.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/intersection-nested.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/intersection-nested.schema/default/TopLevel.js
index 42c8812..d2b9fa9 100644
--- a/base/schema-javascript/test/inputs/schema/intersection-nested.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/intersection-nested.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/intersection.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/intersection.schema/default/TopLevel.js
index a7c7c5e..07e6097 100644
--- a/base/schema-javascript/test/inputs/schema/intersection.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/intersection.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/issue2680-top-level-array.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/issue2680-top-level-array.schema/default/TopLevel.js
index 9515706..42e24b8 100644
--- a/base/schema-javascript/test/inputs/schema/issue2680-top-level-array.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/issue2680-top-level-array.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/keyword-enum.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/keyword-enum.schema/default/TopLevel.js
index 72b3ce1..586ef96 100644
--- a/base/schema-javascript/test/inputs/schema/keyword-enum.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/keyword-enum.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/keyword-unions.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/keyword-unions.schema/default/TopLevel.js
index 39cbbd5..24b61bc 100644
--- a/base/schema-javascript/test/inputs/schema/keyword-unions.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/keyword-unions.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/light.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/light.schema/default/TopLevel.js
index 728625c..57811e6 100644
--- a/base/schema-javascript/test/inputs/schema/light.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/light.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/list.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/list.schema/default/TopLevel.js
index 2374532..ef2cb33 100644
--- a/base/schema-javascript/test/inputs/schema/list.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/list.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/min-max-items.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/min-max-items.schema/default/TopLevel.js
index b484c0d..6b88673 100644
--- a/base/schema-javascript/test/inputs/schema/min-max-items.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/min-max-items.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/minmax-integer.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/minmax-integer.schema/default/TopLevel.js
index d29d8cb..4fc5ece 100644
--- a/base/schema-javascript/test/inputs/schema/minmax-integer.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/minmax-integer.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/minmax.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/minmax.schema/default/TopLevel.js
index ef1dd4c..6c9528f 100644
--- a/base/schema-javascript/test/inputs/schema/minmax.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/minmax.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/minmaxlength.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/minmaxlength.schema/default/TopLevel.js
index 7fbee31..aef1a14 100644
--- a/base/schema-javascript/test/inputs/schema/minmaxlength.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/minmaxlength.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/multi-type-enum.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/multi-type-enum.schema/default/TopLevel.js
index c378dc9..30fe404 100644
--- a/base/schema-javascript/test/inputs/schema/multi-type-enum.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/multi-type-enum.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/mutually-recursive.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/mutually-recursive.schema/default/TopLevel.js
index ac03b2a..6ab00e7 100644
--- a/base/schema-javascript/test/inputs/schema/mutually-recursive.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/mutually-recursive.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/nested-intersection-union.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/nested-intersection-union.schema/default/TopLevel.js
index 5fcdf07..ca65e69 100644
--- a/base/schema-javascript/test/inputs/schema/nested-intersection-union.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/nested-intersection-union.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/non-standard-ref.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/non-standard-ref.schema/default/TopLevel.js
index b3dee50..c733173 100644
--- a/base/schema-javascript/test/inputs/schema/non-standard-ref.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/non-standard-ref.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/nullable-optional-one-of.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/nullable-optional-one-of.schema/default/TopLevel.js
index ad02812..d582759 100644
--- a/base/schema-javascript/test/inputs/schema/nullable-optional-one-of.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/nullable-optional-one-of.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/object-type-required.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/object-type-required.schema/default/TopLevel.js
index 4b78556..3f9d981 100644
--- a/base/schema-javascript/test/inputs/schema/object-type-required.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/object-type-required.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/optional-any.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/optional-any.schema/default/TopLevel.js
index cb9365b..305247f 100644
--- a/base/schema-javascript/test/inputs/schema/optional-any.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/optional-any.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/optional-const-ref.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/optional-const-ref.schema/default/TopLevel.js
index d9d25b7..a92010b 100644
--- a/base/schema-javascript/test/inputs/schema/optional-const-ref.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/optional-const-ref.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/optional-constraints.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/optional-constraints.schema/default/TopLevel.js
index dfcbd91..3011e2c 100644
--- a/base/schema-javascript/test/inputs/schema/optional-constraints.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/optional-constraints.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/optional-date-time.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/optional-date-time.schema/default/TopLevel.js
index 464092f..4f4a047 100644
--- a/base/schema-javascript/test/inputs/schema/optional-date-time.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/optional-date-time.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/optional-enum.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/optional-enum.schema/default/TopLevel.js
index b06093c..a44a01e 100644
--- a/base/schema-javascript/test/inputs/schema/optional-enum.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/optional-enum.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/optional-property.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/optional-property.schema/default/TopLevel.js
index 60e3446..b1f3239 100644
--- a/base/schema-javascript/test/inputs/schema/optional-property.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/optional-property.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/pattern.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/pattern.schema/default/TopLevel.js
index 4b96753..748c15d 100644
--- a/base/schema-javascript/test/inputs/schema/pattern.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/pattern.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/postman-collection.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/postman-collection.schema/default/TopLevel.js
index 87d210f..6aab75f 100644
--- a/base/schema-javascript/test/inputs/schema/postman-collection.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/postman-collection.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/prefix-items.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/prefix-items.schema/default/TopLevel.js
index b2316bd..4c99b15 100644
--- a/base/schema-javascript/test/inputs/schema/prefix-items.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/prefix-items.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/recursive-union-flattening.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/recursive-union-flattening.schema/default/TopLevel.js
index 17a3209..f892c8e 100644
--- a/base/schema-javascript/test/inputs/schema/recursive-union-flattening.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/recursive-union-flattening.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/ref-id-files.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/ref-id-files.schema/default/TopLevel.js
index 8f33714..1481ace 100644
--- a/base/schema-javascript/test/inputs/schema/ref-id-files.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/ref-id-files.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/ref-remote.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/ref-remote.schema/default/TopLevel.js
index 2374532..ef2cb33 100644
--- a/base/schema-javascript/test/inputs/schema/ref-remote.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/ref-remote.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/renaming-bug.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/renaming-bug.schema/default/TopLevel.js
index 6759356..5296c11 100644
--- a/base/schema-javascript/test/inputs/schema/renaming-bug.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/renaming-bug.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/required-draft3.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/required-draft3.schema/default/TopLevel.js
index 28f27ca..ca9a108 100644
--- a/base/schema-javascript/test/inputs/schema/required-draft3.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/required-draft3.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/required-non-properties.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/required-non-properties.schema/default/TopLevel.js
index 4f4880b..51d7faa 100644
--- a/base/schema-javascript/test/inputs/schema/required-non-properties.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/required-non-properties.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/required.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/required.schema/default/TopLevel.js
index 28f27ca..ca9a108 100644
--- a/base/schema-javascript/test/inputs/schema/required.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/required.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/rust-cycle-breaker-union.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/rust-cycle-breaker-union.schema/default/TopLevel.js
index c5a3d56..bd6165f 100644
--- a/base/schema-javascript/test/inputs/schema/rust-cycle-breaker-union.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/rust-cycle-breaker-union.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/schema-constraints.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/schema-constraints.schema/default/TopLevel.js
index 90aacfd..9424391 100644
--- a/base/schema-javascript/test/inputs/schema/schema-constraints.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/schema-constraints.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/simple-ref.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/simple-ref.schema/default/TopLevel.js
index 2374532..ef2cb33 100644
--- a/base/schema-javascript/test/inputs/schema/simple-ref.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/simple-ref.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/strict-optional.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/strict-optional.schema/default/TopLevel.js
index fc674aa..4f47d43 100644
--- a/base/schema-javascript/test/inputs/schema/strict-optional.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/strict-optional.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/top-level-array.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/top-level-array.schema/default/TopLevel.js
index c52556d..315f9f3 100644
--- a/base/schema-javascript/test/inputs/schema/top-level-array.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/top-level-array.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/top-level-enum.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/top-level-enum.schema/default/TopLevel.js
index a86a1a2..65890d1 100644
--- a/base/schema-javascript/test/inputs/schema/top-level-enum.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/top-level-enum.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/top-level-primitive-array.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/top-level-primitive-array.schema/default/TopLevel.js
index b35df94..960e9f5 100644
--- a/base/schema-javascript/test/inputs/schema/top-level-primitive-array.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/top-level-primitive-array.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/top-level-primitive.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/top-level-primitive.schema/default/TopLevel.js
index 28cb102..c749fac 100644
--- a/base/schema-javascript/test/inputs/schema/top-level-primitive.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/top-level-primitive.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/tuple.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/tuple.schema/default/TopLevel.js
index 0d95545..d7f14f7 100644
--- a/base/schema-javascript/test/inputs/schema/tuple.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/tuple.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/unevaluated-properties.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/unevaluated-properties.schema/default/TopLevel.js
index 2608ea9..fff310d 100644
--- a/base/schema-javascript/test/inputs/schema/unevaluated-properties.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/unevaluated-properties.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/unicode-codepoint-length.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/unicode-codepoint-length.schema/default/TopLevel.js
index d82c497..b249542 100644
--- a/base/schema-javascript/test/inputs/schema/unicode-codepoint-length.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/unicode-codepoint-length.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/union-int-double.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/union-int-double.schema/default/TopLevel.js
index 02359d9..78c36f9 100644
--- a/base/schema-javascript/test/inputs/schema/union-int-double.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/union-int-double.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/union-list.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/union-list.schema/default/TopLevel.js
index a10786e..72fc813 100644
--- a/base/schema-javascript/test/inputs/schema/union-list.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/union-list.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/union.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/union.schema/default/TopLevel.js
index 7b9e08f..5492a65 100644
--- a/base/schema-javascript/test/inputs/schema/union.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/union.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/uuid.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/uuid.schema/default/TopLevel.js
index 4694515..fcf3299 100644
--- a/base/schema-javascript/test/inputs/schema/uuid.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/uuid.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-javascript/test/inputs/schema/vega-lite.schema/default/TopLevel.js b/head/schema-javascript/test/inputs/schema/vega-lite.schema/default/TopLevel.js
index 61dcf18..76f28a7 100644
--- a/base/schema-javascript/test/inputs/schema/vega-lite.schema/default/TopLevel.js
+++ b/head/schema-javascript/test/inputs/schema/vega-lite.schema/default/TopLevel.js
@@ -101,7 +101,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result = {};
+        const result = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -112,7 +112,7 @@ function transform(val, typ, getProps, key = '', parent = '') {
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/accessors.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/accessors.schema/default/TopLevel.ts
index eb5c28b..2ffc755 100644
--- a/base/schema-typescript/test/inputs/schema/accessors.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/accessors.schema/default/TopLevel.ts
@@ -114,7 +114,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -125,7 +125,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/all-of-additional-properties-false.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/all-of-additional-properties-false.schema/default/TopLevel.ts
index 3a1e7c3..a318088 100644
--- a/base/schema-typescript/test/inputs/schema/all-of-additional-properties-false.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/all-of-additional-properties-false.schema/default/TopLevel.ts
@@ -114,7 +114,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -125,7 +125,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/any.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/any.schema/default/TopLevel.ts
index 293a64c..ce1f66f 100644
--- a/base/schema-typescript/test/inputs/schema/any.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/any.schema/default/TopLevel.ts
@@ -109,7 +109,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/bool-string.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/bool-string.schema/default/TopLevel.ts
index 8604379..7276850 100644
--- a/base/schema-typescript/test/inputs/schema/bool-string.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/bool-string.schema/default/TopLevel.ts
@@ -116,7 +116,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -127,7 +127,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/boolean-subschema.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/boolean-subschema.schema/default/TopLevel.ts
index f2945d4..1dc7b4c 100644
--- a/base/schema-typescript/test/inputs/schema/boolean-subschema.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/boolean-subschema.schema/default/TopLevel.ts
@@ -110,7 +110,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -121,7 +121,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/camelCase.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/camelCase.schema/default/TopLevel.ts
index 1c2f56a..598a503 100644
--- a/base/schema-typescript/test/inputs/schema/camelCase.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/camelCase.schema/default/TopLevel.ts
@@ -109,7 +109,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/class-map-union.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/class-map-union.schema/default/TopLevel.ts
index dedacb8..2da174c 100644
--- a/base/schema-typescript/test/inputs/schema/class-map-union.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/class-map-union.schema/default/TopLevel.ts
@@ -124,7 +124,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -135,7 +135,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/class-with-additional.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/class-with-additional.schema/default/TopLevel.ts
index 15df75c..4bdb945 100644
--- a/base/schema-typescript/test/inputs/schema/class-with-additional.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/class-with-additional.schema/default/TopLevel.ts
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/comment-injection-enum-nested-comment.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/comment-injection-enum-nested-comment.schema/default/TopLevel.ts
index 934c40e..a9e173d 100644
--- a/base/schema-typescript/test/inputs/schema/comment-injection-enum-nested-comment.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/comment-injection-enum-nested-comment.schema/default/TopLevel.ts
@@ -121,7 +121,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -132,7 +132,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/comment-injection-enum.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/comment-injection-enum.schema/default/TopLevel.ts
index 2a64dc5..d15151f 100644
--- a/base/schema-typescript/test/inputs/schema/comment-injection-enum.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/comment-injection-enum.schema/default/TopLevel.ts
@@ -127,7 +127,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -138,7 +138,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/comment-injection-nested-comment.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/comment-injection-nested-comment.schema/default/TopLevel.ts
index 504b925..2ed28c8 100644
--- a/base/schema-typescript/test/inputs/schema/comment-injection-nested-comment.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/comment-injection-nested-comment.schema/default/TopLevel.ts
@@ -119,7 +119,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -130,7 +130,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/comment-injection.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/comment-injection.schema/default/TopLevel.ts
index 7b4e86e..6d078d1 100644
--- a/base/schema-typescript/test/inputs/schema/comment-injection.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/comment-injection.schema/default/TopLevel.ts
@@ -147,7 +147,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -158,7 +158,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/const-non-string.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/const-non-string.schema/default/TopLevel.ts
index 471597a..32c6e6c 100644
--- a/base/schema-typescript/test/inputs/schema/const-non-string.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/const-non-string.schema/default/TopLevel.ts
@@ -114,7 +114,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -125,7 +125,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/constructor.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/constructor.schema/default/TopLevel.ts
index 213c0ae..cc1e318 100644
--- a/base/schema-typescript/test/inputs/schema/constructor.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/constructor.schema/default/TopLevel.ts
@@ -110,7 +110,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -121,7 +121,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/cut-enum.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/cut-enum.schema/default/TopLevel.ts
index 4b340a1..6f262d0 100644
--- a/base/schema-typescript/test/inputs/schema/cut-enum.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/cut-enum.schema/default/TopLevel.ts
@@ -108,7 +108,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -119,7 +119,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/date-time-or-string.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/date-time-or-string.schema/default/TopLevel.ts
index f2f2b10..ed3394a 100644
--- a/base/schema-typescript/test/inputs/schema/date-time-or-string.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/date-time-or-string.schema/default/TopLevel.ts
@@ -113,7 +113,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -124,7 +124,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/date-time.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/date-time.schema/default/TopLevel.ts
index 4427935..6e69353 100644
--- a/base/schema-typescript/test/inputs/schema/date-time.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/date-time.schema/default/TopLevel.ts
@@ -115,7 +115,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -126,7 +126,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/default-value.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/default-value.schema/default/TopLevel.ts
index 3b6063c..2516866 100644
--- a/base/schema-typescript/test/inputs/schema/default-value.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/default-value.schema/default/TopLevel.ts
@@ -110,7 +110,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -121,7 +121,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/description-with-double-quotes.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/description-with-double-quotes.schema/default/TopLevel.ts
index 5fa5b81..7d7c6cb 100644
--- a/base/schema-typescript/test/inputs/schema/description-with-double-quotes.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/description-with-double-quotes.schema/default/TopLevel.ts
@@ -111,7 +111,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -122,7 +122,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/description.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/description.schema/default/TopLevel.ts
index 239362c..4064599 100644
--- a/base/schema-typescript/test/inputs/schema/description.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/description.schema/default/TopLevel.ts
@@ -144,7 +144,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -155,7 +155,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/direct-union.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/direct-union.schema/default/TopLevel.ts
index 7c30718..27d37b3 100644
--- a/base/schema-typescript/test/inputs/schema/direct-union.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/direct-union.schema/default/TopLevel.ts
@@ -114,7 +114,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -125,7 +125,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/empty-object.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/empty-object.schema/default/TopLevel.ts
index ad5255b..a2cf17f 100644
--- a/base/schema-typescript/test/inputs/schema/empty-object.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/empty-object.schema/default/TopLevel.ts
@@ -105,7 +105,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -116,7 +116,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/enum-large.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/enum-large.schema/default/TopLevel.ts
index 12c52ac..1d3e416 100644
--- a/base/schema-typescript/test/inputs/schema/enum-large.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/enum-large.schema/default/TopLevel.ts
@@ -113,7 +113,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -124,7 +124,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/enum-with-null.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/enum-with-null.schema/default/TopLevel.ts
index faf205e..8a139dd 100644
--- a/base/schema-typescript/test/inputs/schema/enum-with-null.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/enum-with-null.schema/default/TopLevel.ts
@@ -109,7 +109,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/enum-with-values.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/enum-with-values.schema/default/TopLevel.ts
index 0d0c447..67cc648 100644
--- a/base/schema-typescript/test/inputs/schema/enum-with-values.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/enum-with-values.schema/default/TopLevel.ts
@@ -110,7 +110,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -121,7 +121,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/enum.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/enum.schema/default/TopLevel.ts
index 368ac2b..3d7eb73 100644
--- a/base/schema-typescript/test/inputs/schema/enum.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/enum.schema/default/TopLevel.ts
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -131,7 +131,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/fractional-bounds.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/fractional-bounds.schema/default/TopLevel.ts
index 8ea70f3..cea7a7f 100644
--- a/base/schema-typescript/test/inputs/schema/fractional-bounds.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/fractional-bounds.schema/default/TopLevel.ts
@@ -108,7 +108,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -119,7 +119,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/go-schema-pattern-properties.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/go-schema-pattern-properties.schema/default/TopLevel.ts
index fc206e1..18c06a9 100644
--- a/base/schema-typescript/test/inputs/schema/go-schema-pattern-properties.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/go-schema-pattern-properties.schema/default/TopLevel.ts
@@ -108,7 +108,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -119,7 +119,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/haskell-enum-forbidden.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/haskell-enum-forbidden.schema/default/TopLevel.ts
index e07edf0..62ecbf8 100644
--- a/base/schema-typescript/test/inputs/schema/haskell-enum-forbidden.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/haskell-enum-forbidden.schema/default/TopLevel.ts
@@ -110,7 +110,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -121,7 +121,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/id-no-address.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/id-no-address.schema/default/TopLevel.ts
index 29bc994..d496c7b 100644
--- a/base/schema-typescript/test/inputs/schema/id-no-address.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/id-no-address.schema/default/TopLevel.ts
@@ -108,7 +108,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -119,7 +119,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/id-root.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/id-root.schema/default/TopLevel.ts
index 444933f..69718b7 100644
--- a/base/schema-typescript/test/inputs/schema/id-root.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/id-root.schema/default/TopLevel.ts
@@ -108,7 +108,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -119,7 +119,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/ie-suffix-singularization.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/ie-suffix-singularization.schema/default/TopLevel.ts
index 9d2df90..ec8d8ef 100644
--- a/base/schema-typescript/test/inputs/schema/ie-suffix-singularization.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/ie-suffix-singularization.schema/default/TopLevel.ts
@@ -114,7 +114,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -125,7 +125,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/implicit-all-of.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/implicit-all-of.schema/default/TopLevel.ts
index 9f7b670..bf6d536 100644
--- a/base/schema-typescript/test/inputs/schema/implicit-all-of.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/implicit-all-of.schema/default/TopLevel.ts
@@ -110,7 +110,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -121,7 +121,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/implicit-class-array-union.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/implicit-class-array-union.schema/default/TopLevel.ts
index 887b34d..aca00b7 100644
--- a/base/schema-typescript/test/inputs/schema/implicit-class-array-union.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/implicit-class-array-union.schema/default/TopLevel.ts
@@ -115,7 +115,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -126,7 +126,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/implicit-one-of.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/implicit-one-of.schema/default/TopLevel.ts
index 8345516..64f6edf 100644
--- a/base/schema-typescript/test/inputs/schema/implicit-one-of.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/implicit-one-of.schema/default/TopLevel.ts
@@ -110,7 +110,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -121,7 +121,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/integer-before-number.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/integer-before-number.schema/default/TopLevel.ts
index 6e4d1cf..3428eab 100644
--- a/base/schema-typescript/test/inputs/schema/integer-before-number.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/integer-before-number.schema/default/TopLevel.ts
@@ -108,7 +108,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -119,7 +119,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/integer-float-union.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/integer-float-union.schema/default/TopLevel.ts
index 30bbefd..d37525e 100644
--- a/base/schema-typescript/test/inputs/schema/integer-float-union.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/integer-float-union.schema/default/TopLevel.ts
@@ -108,7 +108,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -119,7 +119,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/integer-string.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/integer-string.schema/default/TopLevel.ts
index f9a36b5..d866dcc 100644
--- a/base/schema-typescript/test/inputs/schema/integer-string.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/integer-string.schema/default/TopLevel.ts
@@ -116,7 +116,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -127,7 +127,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/integer-type.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/integer-type.schema/default/TopLevel.ts
index 54caffa..5fc61cc 100644
--- a/base/schema-typescript/test/inputs/schema/integer-type.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/integer-type.schema/default/TopLevel.ts
@@ -116,7 +116,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -127,7 +127,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/intersection-nested.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/intersection-nested.schema/default/TopLevel.ts
index 2d9a3b2..24b54f7 100644
--- a/base/schema-typescript/test/inputs/schema/intersection-nested.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/intersection-nested.schema/default/TopLevel.ts
@@ -107,7 +107,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -118,7 +118,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/intersection.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/intersection.schema/default/TopLevel.ts
index 29a519e..bb7e04c 100644
--- a/base/schema-typescript/test/inputs/schema/intersection.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/intersection.schema/default/TopLevel.ts
@@ -113,7 +113,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -124,7 +124,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/issue2680-top-level-array.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/issue2680-top-level-array.schema/default/TopLevel.ts
index 9f9b3d6..70ad9d6 100644
--- a/base/schema-typescript/test/inputs/schema/issue2680-top-level-array.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/issue2680-top-level-array.schema/default/TopLevel.ts
@@ -105,7 +105,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -116,7 +116,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/keyword-enum.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/keyword-enum.schema/default/TopLevel.ts
index e90b8c1..d661f02 100644
--- a/base/schema-typescript/test/inputs/schema/keyword-enum.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/keyword-enum.schema/default/TopLevel.ts
@@ -110,7 +110,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -121,7 +121,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/keyword-unions.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/keyword-unions.schema/default/TopLevel.ts
index 95fb785..cbf69e8 100644
--- a/base/schema-typescript/test/inputs/schema/keyword-unions.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/keyword-unions.schema/default/TopLevel.ts
@@ -1104,7 +1104,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -1115,7 +1115,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/light.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/light.schema/default/TopLevel.ts
index a84e1b1..0d4a93d 100644
--- a/base/schema-typescript/test/inputs/schema/light.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/light.schema/default/TopLevel.ts
@@ -113,7 +113,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -124,7 +124,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/list.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/list.schema/default/TopLevel.ts
index a3e9b2b..92968e7 100644
--- a/base/schema-typescript/test/inputs/schema/list.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/list.schema/default/TopLevel.ts
@@ -111,7 +111,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -122,7 +122,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/min-max-items.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/min-max-items.schema/default/TopLevel.ts
index a88d16b..f32ee7c 100644
--- a/base/schema-typescript/test/inputs/schema/min-max-items.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/min-max-items.schema/default/TopLevel.ts
@@ -114,7 +114,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -125,7 +125,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/minmax-integer.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/minmax-integer.schema/default/TopLevel.ts
index 4d15bf4..38ea1e9 100644
--- a/base/schema-typescript/test/inputs/schema/minmax-integer.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/minmax-integer.schema/default/TopLevel.ts
@@ -115,7 +115,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -126,7 +126,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/minmax.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/minmax.schema/default/TopLevel.ts
index 74eb204..382c552 100644
--- a/base/schema-typescript/test/inputs/schema/minmax.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/minmax.schema/default/TopLevel.ts
@@ -115,7 +115,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -126,7 +126,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/minmaxlength.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/minmaxlength.schema/default/TopLevel.ts
index ce21e9c..e389dd2 100644
--- a/base/schema-typescript/test/inputs/schema/minmaxlength.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/minmaxlength.schema/default/TopLevel.ts
@@ -117,7 +117,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -128,7 +128,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/multi-type-enum.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/multi-type-enum.schema/default/TopLevel.ts
index 2ac8eea..8467878 100644
--- a/base/schema-typescript/test/inputs/schema/multi-type-enum.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/multi-type-enum.schema/default/TopLevel.ts
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/mutually-recursive.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/mutually-recursive.schema/default/TopLevel.ts
index 332f39c..447c0f4 100644
--- a/base/schema-typescript/test/inputs/schema/mutually-recursive.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/mutually-recursive.schema/default/TopLevel.ts
@@ -115,7 +115,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -126,7 +126,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/nested-intersection-union.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/nested-intersection-union.schema/default/TopLevel.ts
index 8501247..e688320 100644
--- a/base/schema-typescript/test/inputs/schema/nested-intersection-union.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/nested-intersection-union.schema/default/TopLevel.ts
@@ -115,7 +115,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -126,7 +126,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/non-standard-ref.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/non-standard-ref.schema/default/TopLevel.ts
index 9dd48da..f4b2d0b 100644
--- a/base/schema-typescript/test/inputs/schema/non-standard-ref.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/non-standard-ref.schema/default/TopLevel.ts
@@ -110,7 +110,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -121,7 +121,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/nullable-optional-one-of.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/nullable-optional-one-of.schema/default/TopLevel.ts
index d59ca93..a97ff6f 100644
--- a/base/schema-typescript/test/inputs/schema/nullable-optional-one-of.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/nullable-optional-one-of.schema/default/TopLevel.ts
@@ -111,7 +111,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -122,7 +122,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/object-type-required.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/object-type-required.schema/default/TopLevel.ts
index 8a93edc..ddfe1a6 100644
--- a/base/schema-typescript/test/inputs/schema/object-type-required.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/object-type-required.schema/default/TopLevel.ts
@@ -110,7 +110,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -121,7 +121,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/optional-any.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/optional-any.schema/default/TopLevel.ts
index 21f335b..639c5c1 100644
--- a/base/schema-typescript/test/inputs/schema/optional-any.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/optional-any.schema/default/TopLevel.ts
@@ -108,7 +108,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -119,7 +119,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/optional-const-ref.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/optional-const-ref.schema/default/TopLevel.ts
index 1d6ca31..a0dc627 100644
--- a/base/schema-typescript/test/inputs/schema/optional-const-ref.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/optional-const-ref.schema/default/TopLevel.ts
@@ -118,7 +118,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -129,7 +129,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/optional-constraints.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/optional-constraints.schema/default/TopLevel.ts
index 8cf1679..9fedd98 100644
--- a/base/schema-typescript/test/inputs/schema/optional-constraints.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/optional-constraints.schema/default/TopLevel.ts
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/optional-date-time.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/optional-date-time.schema/default/TopLevel.ts
index c6d057f..27c7955 100644
--- a/base/schema-typescript/test/inputs/schema/optional-date-time.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/optional-date-time.schema/default/TopLevel.ts
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/optional-enum.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/optional-enum.schema/default/TopLevel.ts
index 0f2ad1e..ae1ddaf 100644
--- a/base/schema-typescript/test/inputs/schema/optional-enum.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/optional-enum.schema/default/TopLevel.ts
@@ -110,7 +110,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -121,7 +121,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/optional-property.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/optional-property.schema/default/TopLevel.ts
index 5d84647..a7d5b12 100644
--- a/base/schema-typescript/test/inputs/schema/optional-property.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/optional-property.schema/default/TopLevel.ts
@@ -107,7 +107,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -118,7 +118,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/pattern.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/pattern.schema/default/TopLevel.ts
index f596bff..fcd4454 100644
--- a/base/schema-typescript/test/inputs/schema/pattern.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/pattern.schema/default/TopLevel.ts
@@ -115,7 +115,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -126,7 +126,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/postman-collection.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/postman-collection.schema/default/TopLevel.ts
index 34dfb4e..42b7441 100644
--- a/base/schema-typescript/test/inputs/schema/postman-collection.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/postman-collection.schema/default/TopLevel.ts
@@ -118,7 +118,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -129,7 +129,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/prefix-items.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/prefix-items.schema/default/TopLevel.ts
index ee2e5bf..7d62a6f 100644
--- a/base/schema-typescript/test/inputs/schema/prefix-items.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/prefix-items.schema/default/TopLevel.ts
@@ -111,7 +111,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -122,7 +122,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/recursive-union-flattening.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/recursive-union-flattening.schema/default/TopLevel.ts
index 3fc7608..357bc8c 100644
--- a/base/schema-typescript/test/inputs/schema/recursive-union-flattening.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/recursive-union-flattening.schema/default/TopLevel.ts
@@ -121,7 +121,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -132,7 +132,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/ref-id-files.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/ref-id-files.schema/default/TopLevel.ts
index 4b340a1..6f262d0 100644
--- a/base/schema-typescript/test/inputs/schema/ref-id-files.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/ref-id-files.schema/default/TopLevel.ts
@@ -108,7 +108,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -119,7 +119,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/ref-remote.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/ref-remote.schema/default/TopLevel.ts
index a3e9b2b..92968e7 100644
--- a/base/schema-typescript/test/inputs/schema/ref-remote.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/ref-remote.schema/default/TopLevel.ts
@@ -111,7 +111,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -122,7 +122,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/renaming-bug.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/renaming-bug.schema/default/TopLevel.ts
index f2841a1..3fde61d 100644
--- a/base/schema-typescript/test/inputs/schema/renaming-bug.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/renaming-bug.schema/default/TopLevel.ts
@@ -195,7 +195,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -206,7 +206,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/required-draft3.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/required-draft3.schema/default/TopLevel.ts
index 5d752aa..d576a4d 100644
--- a/base/schema-typescript/test/inputs/schema/required-draft3.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/required-draft3.schema/default/TopLevel.ts
@@ -108,7 +108,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -119,7 +119,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/required-non-properties.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/required-non-properties.schema/default/TopLevel.ts
index b5a3f4a..6684755 100644
--- a/base/schema-typescript/test/inputs/schema/required-non-properties.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/required-non-properties.schema/default/TopLevel.ts
@@ -109,7 +109,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/required.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/required.schema/default/TopLevel.ts
index 5d752aa..d576a4d 100644
--- a/base/schema-typescript/test/inputs/schema/required.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/required.schema/default/TopLevel.ts
@@ -108,7 +108,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -119,7 +119,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/rust-cycle-breaker-union.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/rust-cycle-breaker-union.schema/default/TopLevel.ts
index b76a76b..708768a 100644
--- a/base/schema-typescript/test/inputs/schema/rust-cycle-breaker-union.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/rust-cycle-breaker-union.schema/default/TopLevel.ts
@@ -117,7 +117,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -128,7 +128,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/schema-constraints.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/schema-constraints.schema/default/TopLevel.ts
index 80dbe26..03e0bee 100644
--- a/base/schema-typescript/test/inputs/schema/schema-constraints.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/schema-constraints.schema/default/TopLevel.ts
@@ -109,7 +109,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/simple-ref.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/simple-ref.schema/default/TopLevel.ts
index a3e9b2b..92968e7 100644
--- a/base/schema-typescript/test/inputs/schema/simple-ref.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/simple-ref.schema/default/TopLevel.ts
@@ -111,7 +111,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -122,7 +122,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/strict-optional.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/strict-optional.schema/default/TopLevel.ts
index 208356c..04e082f 100644
--- a/base/schema-typescript/test/inputs/schema/strict-optional.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/strict-optional.schema/default/TopLevel.ts
@@ -108,7 +108,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -119,7 +119,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/top-level-array.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/top-level-array.schema/default/TopLevel.ts
index bfa6424..7fc1106 100644
--- a/base/schema-typescript/test/inputs/schema/top-level-array.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/top-level-array.schema/default/TopLevel.ts
@@ -111,7 +111,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -122,7 +122,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/top-level-enum.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/top-level-enum.schema/default/TopLevel.ts
index 26d77b6..4f1e7f3 100644
--- a/base/schema-typescript/test/inputs/schema/top-level-enum.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/top-level-enum.schema/default/TopLevel.ts
@@ -105,7 +105,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -116,7 +116,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/top-level-primitive-array.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/top-level-primitive-array.schema/default/TopLevel.ts
index eb865a8..cafbb2e 100644
--- a/base/schema-typescript/test/inputs/schema/top-level-primitive-array.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/top-level-primitive-array.schema/default/TopLevel.ts
@@ -105,7 +105,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -116,7 +116,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/top-level-primitive.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/top-level-primitive.schema/default/TopLevel.ts
index e37cbbe..1a5b401 100644
--- a/base/schema-typescript/test/inputs/schema/top-level-primitive.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/top-level-primitive.schema/default/TopLevel.ts
@@ -108,7 +108,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -119,7 +119,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/tuple.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/tuple.schema/default/TopLevel.ts
index d90f7f5..7cf3f1c 100644
--- a/base/schema-typescript/test/inputs/schema/tuple.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/tuple.schema/default/TopLevel.ts
@@ -110,7 +110,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -121,7 +121,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/unevaluated-properties.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/unevaluated-properties.schema/default/TopLevel.ts
index 90b3f3e..a0dc1d4 100644
--- a/base/schema-typescript/test/inputs/schema/unevaluated-properties.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/unevaluated-properties.schema/default/TopLevel.ts
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -134,7 +134,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/unicode-codepoint-length.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/unicode-codepoint-length.schema/default/TopLevel.ts
index 3da4931..717ebd4 100644
--- a/base/schema-typescript/test/inputs/schema/unicode-codepoint-length.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/unicode-codepoint-length.schema/default/TopLevel.ts
@@ -110,7 +110,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -121,7 +121,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/union-int-double.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/union-int-double.schema/default/TopLevel.ts
index bcd40b1..0eae11d 100644
--- a/base/schema-typescript/test/inputs/schema/union-int-double.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/union-int-double.schema/default/TopLevel.ts
@@ -110,7 +110,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -121,7 +121,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/union-list.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/union-list.schema/default/TopLevel.ts
index 3cfb51f..50f99f3 100644
--- a/base/schema-typescript/test/inputs/schema/union-list.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/union-list.schema/default/TopLevel.ts
@@ -113,7 +113,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -124,7 +124,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/union.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/union.schema/default/TopLevel.ts
index 1ba82fe..0d94449 100644
--- a/base/schema-typescript/test/inputs/schema/union.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/union.schema/default/TopLevel.ts
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/uuid.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/uuid.schema/default/TopLevel.ts
index 052065c..4ac6473 100644
--- a/base/schema-typescript/test/inputs/schema/uuid.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/uuid.schema/default/TopLevel.ts
@@ -117,7 +117,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -128,7 +128,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/schema-typescript/test/inputs/schema/vega-lite.schema/default/TopLevel.ts b/head/schema-typescript/test/inputs/schema/vega-lite.schema/default/TopLevel.ts
index 0ada8e0..b75e56c 100644
--- a/base/schema-typescript/test/inputs/schema/vega-lite.schema/default/TopLevel.ts
+++ b/head/schema-typescript/test/inputs/schema/vega-lite.schema/default/TopLevel.ts
@@ -5956,7 +5956,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -5967,7 +5967,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/00c36.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/00c36.json/default/TopLevel.ts
index a983213..fc1c2ce 100644
--- a/base/typescript/test/inputs/json/misc/00c36.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/00c36.json/default/TopLevel.ts
@@ -131,7 +131,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -142,7 +142,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/00ec5.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/00ec5.json/default/TopLevel.ts
index 5ec761b..4772f4d 100644
--- a/base/typescript/test/inputs/json/misc/00ec5.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/00ec5.json/default/TopLevel.ts
@@ -173,7 +173,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -184,7 +184,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/010b1.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/010b1.json/default/TopLevel.ts
index d624211..39e8567 100644
--- a/base/typescript/test/inputs/json/misc/010b1.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/010b1.json/default/TopLevel.ts
@@ -116,7 +116,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -127,7 +127,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/016af.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/016af.json/default/TopLevel.ts
index 824027c..d3377c9 100644
--- a/base/typescript/test/inputs/json/misc/016af.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/016af.json/default/TopLevel.ts
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/033b1.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/033b1.json/default/TopLevel.ts
index 51c34f0..7f5763c 100644
--- a/base/typescript/test/inputs/json/misc/033b1.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/033b1.json/default/TopLevel.ts
@@ -109,7 +109,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/050b0.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/050b0.json/default/TopLevel.ts
index 16de21f..a0818b3 100644
--- a/base/typescript/test/inputs/json/misc/050b0.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/050b0.json/default/TopLevel.ts
@@ -147,7 +147,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -158,7 +158,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/06bee.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/06bee.json/default/TopLevel.ts
index 5bb27b2..8b10a25 100644
--- a/base/typescript/test/inputs/json/misc/06bee.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/06bee.json/default/TopLevel.ts
@@ -142,7 +142,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -153,7 +153,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/07540.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/07540.json/default/TopLevel.ts
index 6e06286..4fb6644 100644
--- a/base/typescript/test/inputs/json/misc/07540.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/07540.json/default/TopLevel.ts
@@ -107,7 +107,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -118,7 +118,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/0779f.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/0779f.json/default/TopLevel.ts
index 05276b1..0bd5a14 100644
--- a/base/typescript/test/inputs/json/misc/0779f.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/0779f.json/default/TopLevel.ts
@@ -140,7 +140,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -151,7 +151,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/07c75.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/07c75.json/default/TopLevel.ts
index 943765c..bd97756 100644
--- a/base/typescript/test/inputs/json/misc/07c75.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/07c75.json/default/TopLevel.ts
@@ -132,7 +132,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -143,7 +143,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/09f54.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/09f54.json/default/TopLevel.ts
index 38eedf1..eed9604 100644
--- a/base/typescript/test/inputs/json/misc/09f54.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/09f54.json/default/TopLevel.ts
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -131,7 +131,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/0a358.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/0a358.json/default/TopLevel.ts
index 4cb922c..2746414 100644
--- a/base/typescript/test/inputs/json/misc/0a358.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/0a358.json/default/TopLevel.ts
@@ -122,7 +122,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -133,7 +133,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/0a91a.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/0a91a.json/default/TopLevel.ts
index 22b91e1..e71c14e 100644
--- a/base/typescript/test/inputs/json/misc/0a91a.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/0a91a.json/default/TopLevel.ts
@@ -322,7 +322,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -333,7 +333,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/0b91a.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/0b91a.json/default/TopLevel.ts
index 507c416..7788252 100644
--- a/base/typescript/test/inputs/json/misc/0b91a.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/0b91a.json/default/TopLevel.ts
@@ -147,7 +147,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -158,7 +158,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/0cffa.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/0cffa.json/default/TopLevel.ts
index 49be2bd..526bc9a 100644
--- a/base/typescript/test/inputs/json/misc/0cffa.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/0cffa.json/default/TopLevel.ts
@@ -215,7 +215,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -226,7 +226,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/0e0c2.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/0e0c2.json/default/TopLevel.ts
index 7ad0a89..93dba41 100644
--- a/base/typescript/test/inputs/json/misc/0e0c2.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/0e0c2.json/default/TopLevel.ts
@@ -178,7 +178,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -189,7 +189,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/0fecf.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/0fecf.json/default/TopLevel.ts
index fc2446d..d437cfe 100644
--- a/base/typescript/test/inputs/json/misc/0fecf.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/0fecf.json/default/TopLevel.ts
@@ -107,7 +107,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -118,7 +118,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/10be4.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/10be4.json/default/TopLevel.ts
index 40b751e..0b166b9 100644
--- a/base/typescript/test/inputs/json/misc/10be4.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/10be4.json/default/TopLevel.ts
@@ -147,7 +147,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -158,7 +158,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/112b5.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/112b5.json/default/TopLevel.ts
index 9a20499..b87f838 100644
--- a/base/typescript/test/inputs/json/misc/112b5.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/112b5.json/default/TopLevel.ts
@@ -117,7 +117,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -128,7 +128,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/127a1.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/127a1.json/default/TopLevel.ts
index 649aa7f..66dc563 100644
--- a/base/typescript/test/inputs/json/misc/127a1.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/127a1.json/default/TopLevel.ts
@@ -215,7 +215,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -226,7 +226,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/13d8d.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/13d8d.json/default/TopLevel.ts
index 493d608..22f1c0e 100644
--- a/base/typescript/test/inputs/json/misc/13d8d.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/13d8d.json/default/TopLevel.ts
@@ -133,7 +133,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -144,7 +144,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/14d38.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/14d38.json/default/TopLevel.ts
index 4325fc0..59c74eb 100644
--- a/base/typescript/test/inputs/json/misc/14d38.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/14d38.json/default/TopLevel.ts
@@ -114,7 +114,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -125,7 +125,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/167d6.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/167d6.json/default/TopLevel.ts
index 51c34f0..7f5763c 100644
--- a/base/typescript/test/inputs/json/misc/167d6.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/167d6.json/default/TopLevel.ts
@@ -109,7 +109,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/16bc5.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/16bc5.json/default/TopLevel.ts
index 5e66d83..7d69fbe 100644
--- a/base/typescript/test/inputs/json/misc/16bc5.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/16bc5.json/default/TopLevel.ts
@@ -205,7 +205,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -216,7 +216,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/176f1.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/176f1.json/default/TopLevel.ts
index ecd58f0..1b5849d 100644
--- a/base/typescript/test/inputs/json/misc/176f1.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/176f1.json/default/TopLevel.ts
@@ -132,7 +132,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -143,7 +143,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/1a7f5.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/1a7f5.json/default/TopLevel.ts
index d624211..39e8567 100644
--- a/base/typescript/test/inputs/json/misc/1a7f5.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/1a7f5.json/default/TopLevel.ts
@@ -116,7 +116,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -127,7 +127,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/1b28c.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/1b28c.json/default/TopLevel.ts
index 824027c..d3377c9 100644
--- a/base/typescript/test/inputs/json/misc/1b28c.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/1b28c.json/default/TopLevel.ts
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/1b409.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/1b409.json/default/TopLevel.ts
index d0d2ad2..445362c 100644
--- a/base/typescript/test/inputs/json/misc/1b409.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/1b409.json/default/TopLevel.ts
@@ -181,7 +181,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -192,7 +192,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/2465e.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/2465e.json/default/TopLevel.ts
index 4c9b561..819aa4a 100644
--- a/base/typescript/test/inputs/json/misc/2465e.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/2465e.json/default/TopLevel.ts
@@ -180,7 +180,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -191,7 +191,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/24f52.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/24f52.json/default/TopLevel.ts
index 05276b1..0bd5a14 100644
--- a/base/typescript/test/inputs/json/misc/24f52.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/24f52.json/default/TopLevel.ts
@@ -140,7 +140,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -151,7 +151,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/262f0.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/262f0.json/default/TopLevel.ts
index 2f6399a..3ba7024 100644
--- a/base/typescript/test/inputs/json/misc/262f0.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/262f0.json/default/TopLevel.ts
@@ -207,7 +207,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -218,7 +218,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/26b49.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/26b49.json/default/TopLevel.ts
index 154183a..c8629b5 100644
--- a/base/typescript/test/inputs/json/misc/26b49.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/26b49.json/default/TopLevel.ts
@@ -214,7 +214,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -225,7 +225,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/26c9c.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/26c9c.json/default/TopLevel.ts
index b55faf6..28bc712 100644
--- a/base/typescript/test/inputs/json/misc/26c9c.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/26c9c.json/default/TopLevel.ts
@@ -294,7 +294,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -305,7 +305,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/27332.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/27332.json/default/TopLevel.ts
index 35fbe5d..742e2ab 100644
--- a/base/typescript/test/inputs/json/misc/27332.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/27332.json/default/TopLevel.ts
@@ -246,7 +246,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -257,7 +257,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/29f47.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/29f47.json/default/TopLevel.ts
index c976ff4..1c8aed7 100644
--- a/base/typescript/test/inputs/json/misc/29f47.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/29f47.json/default/TopLevel.ts
@@ -233,7 +233,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -244,7 +244,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/2d4e2.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/2d4e2.json/default/TopLevel.ts
index a7e2dd6..b0e2f56 100644
--- a/base/typescript/test/inputs/json/misc/2d4e2.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/2d4e2.json/default/TopLevel.ts
@@ -191,7 +191,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -202,7 +202,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/2df80.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/2df80.json/default/TopLevel.ts
index 450439c..07efe7a 100644
--- a/base/typescript/test/inputs/json/misc/2df80.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/2df80.json/default/TopLevel.ts
@@ -136,7 +136,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -147,7 +147,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/31189.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/31189.json/default/TopLevel.ts
index d4aaa45..dee8570 100644
--- a/base/typescript/test/inputs/json/misc/31189.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/31189.json/default/TopLevel.ts
@@ -134,7 +134,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -145,7 +145,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/32431.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/32431.json/default/TopLevel.ts
index d47172c..a4285a7 100644
--- a/base/typescript/test/inputs/json/misc/32431.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/32431.json/default/TopLevel.ts
@@ -170,7 +170,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -181,7 +181,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/32d5c.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/32d5c.json/default/TopLevel.ts
index 9774154..ec5f7af 100644
--- a/base/typescript/test/inputs/json/misc/32d5c.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/32d5c.json/default/TopLevel.ts
@@ -116,7 +116,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -127,7 +127,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/337ed.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/337ed.json/default/TopLevel.ts
index bfe127f..afb9141 100644
--- a/base/typescript/test/inputs/json/misc/337ed.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/337ed.json/default/TopLevel.ts
@@ -165,7 +165,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -176,7 +176,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/33d2e.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/33d2e.json/default/TopLevel.ts
index b2bf5c1..f359b5f 100644
--- a/base/typescript/test/inputs/json/misc/33d2e.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/33d2e.json/default/TopLevel.ts
@@ -148,7 +148,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -159,7 +159,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/34702.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/34702.json/default/TopLevel.ts
index 695cfe1..aa62f14 100644
--- a/base/typescript/test/inputs/json/misc/34702.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/34702.json/default/TopLevel.ts
@@ -162,7 +162,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -173,7 +173,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/3536b.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/3536b.json/default/TopLevel.ts
index dd27fff..b6a7110 100644
--- a/base/typescript/test/inputs/json/misc/3536b.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/3536b.json/default/TopLevel.ts
@@ -136,7 +136,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -147,7 +147,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/3659d.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/3659d.json/default/TopLevel.ts
index 824027c..d3377c9 100644
--- a/base/typescript/test/inputs/json/misc/3659d.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/3659d.json/default/TopLevel.ts
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/36d5d.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/36d5d.json/default/TopLevel.ts
index 05276b1..0bd5a14 100644
--- a/base/typescript/test/inputs/json/misc/36d5d.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/36d5d.json/default/TopLevel.ts
@@ -140,7 +140,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -151,7 +151,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/3a6b3.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/3a6b3.json/default/TopLevel.ts
index 05276b1..0bd5a14 100644
--- a/base/typescript/test/inputs/json/misc/3a6b3.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/3a6b3.json/default/TopLevel.ts
@@ -140,7 +140,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -151,7 +151,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/3e9a3.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/3e9a3.json/default/TopLevel.ts
index ecd58f0..1b5849d 100644
--- a/base/typescript/test/inputs/json/misc/3e9a3.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/3e9a3.json/default/TopLevel.ts
@@ -132,7 +132,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -143,7 +143,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/3f1ce.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/3f1ce.json/default/TopLevel.ts
index c8671c7..447f016 100644
--- a/base/typescript/test/inputs/json/misc/3f1ce.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/3f1ce.json/default/TopLevel.ts
@@ -207,7 +207,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -218,7 +218,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/421d4.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/421d4.json/default/TopLevel.ts
index 81973fb..5b670fd 100644
--- a/base/typescript/test/inputs/json/misc/421d4.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/421d4.json/default/TopLevel.ts
@@ -218,7 +218,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -229,7 +229,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/437e7.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/437e7.json/default/TopLevel.ts
index 3093256..654c135 100644
--- a/base/typescript/test/inputs/json/misc/437e7.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/437e7.json/default/TopLevel.ts
@@ -211,7 +211,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -222,7 +222,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/43970.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/43970.json/default/TopLevel.ts
index a719de8..bd2f320 100644
--- a/base/typescript/test/inputs/json/misc/43970.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/43970.json/default/TopLevel.ts
@@ -111,7 +111,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -122,7 +122,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/43eaf.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/43eaf.json/default/TopLevel.ts
index 51c34f0..7f5763c 100644
--- a/base/typescript/test/inputs/json/misc/43eaf.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/43eaf.json/default/TopLevel.ts
@@ -109,7 +109,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/458db.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/458db.json/default/TopLevel.ts
index 5f89b91..3d70614 100644
--- a/base/typescript/test/inputs/json/misc/458db.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/458db.json/default/TopLevel.ts
@@ -148,7 +148,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -159,7 +159,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/4961a.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/4961a.json/default/TopLevel.ts
index 824027c..d3377c9 100644
--- a/base/typescript/test/inputs/json/misc/4961a.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/4961a.json/default/TopLevel.ts
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/4a0d7.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/4a0d7.json/default/TopLevel.ts
index 824027c..d3377c9 100644
--- a/base/typescript/test/inputs/json/misc/4a0d7.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/4a0d7.json/default/TopLevel.ts
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/4a455.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/4a455.json/default/TopLevel.ts
index 563ca2d..5003aff 100644
--- a/base/typescript/test/inputs/json/misc/4a455.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/4a455.json/default/TopLevel.ts
@@ -147,7 +147,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -158,7 +158,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/4c547.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/4c547.json/default/TopLevel.ts
index 5e66d83..7d69fbe 100644
--- a/base/typescript/test/inputs/json/misc/4c547.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/4c547.json/default/TopLevel.ts
@@ -205,7 +205,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -216,7 +216,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/4d6fb.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/4d6fb.json/default/TopLevel.ts
index f0215d0..43f9ecf 100644
--- a/base/typescript/test/inputs/json/misc/4d6fb.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/4d6fb.json/default/TopLevel.ts
@@ -245,7 +245,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -256,7 +256,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/4e336.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/4e336.json/default/TopLevel.ts
index 824027c..d3377c9 100644
--- a/base/typescript/test/inputs/json/misc/4e336.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/4e336.json/default/TopLevel.ts
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/54147.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/54147.json/default/TopLevel.ts
index 021ff27..5c52d0e 100644
--- a/base/typescript/test/inputs/json/misc/54147.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/54147.json/default/TopLevel.ts
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -131,7 +131,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/54d32.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/54d32.json/default/TopLevel.ts
index 38f7422..42cb5de 100644
--- a/base/typescript/test/inputs/json/misc/54d32.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/54d32.json/default/TopLevel.ts
@@ -124,7 +124,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -135,7 +135,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/570ec.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/570ec.json/default/TopLevel.ts
index 4d6318e..63801fc 100644
--- a/base/typescript/test/inputs/json/misc/570ec.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/570ec.json/default/TopLevel.ts
@@ -139,7 +139,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -150,7 +150,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/5dd0d.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/5dd0d.json/default/TopLevel.ts
index 05276b1..0bd5a14 100644
--- a/base/typescript/test/inputs/json/misc/5dd0d.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/5dd0d.json/default/TopLevel.ts
@@ -140,7 +140,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -151,7 +151,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/5eae5.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/5eae5.json/default/TopLevel.ts
index 1ec275a..0d67487 100644
--- a/base/typescript/test/inputs/json/misc/5eae5.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/5eae5.json/default/TopLevel.ts
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/5eb20.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/5eb20.json/default/TopLevel.ts
index 05276b1..0bd5a14 100644
--- a/base/typescript/test/inputs/json/misc/5eb20.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/5eb20.json/default/TopLevel.ts
@@ -140,7 +140,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -151,7 +151,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/5f3a1.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/5f3a1.json/default/TopLevel.ts
index 51c34f0..7f5763c 100644
--- a/base/typescript/test/inputs/json/misc/5f3a1.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/5f3a1.json/default/TopLevel.ts
@@ -109,7 +109,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/5f7fe.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/5f7fe.json/default/TopLevel.ts
index c0a3d03..be1947e 100644
--- a/base/typescript/test/inputs/json/misc/5f7fe.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/5f7fe.json/default/TopLevel.ts
@@ -292,7 +292,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -303,7 +303,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/617e8.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/617e8.json/default/TopLevel.ts
index 2c1281b..a72fee2 100644
--- a/base/typescript/test/inputs/json/misc/617e8.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/617e8.json/default/TopLevel.ts
@@ -291,7 +291,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -302,7 +302,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/61b66.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/61b66.json/default/TopLevel.ts
index 05276b1..0bd5a14 100644
--- a/base/typescript/test/inputs/json/misc/61b66.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/61b66.json/default/TopLevel.ts
@@ -140,7 +140,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -151,7 +151,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/6260a.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/6260a.json/default/TopLevel.ts
index 51c34f0..7f5763c 100644
--- a/base/typescript/test/inputs/json/misc/6260a.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/6260a.json/default/TopLevel.ts
@@ -109,7 +109,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/65dec.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/65dec.json/default/TopLevel.ts
index 9324220..d2b5ef3 100644
--- a/base/typescript/test/inputs/json/misc/65dec.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/65dec.json/default/TopLevel.ts
@@ -170,7 +170,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -181,7 +181,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/66121.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/66121.json/default/TopLevel.ts
index 9830cd5..3226328 100644
--- a/base/typescript/test/inputs/json/misc/66121.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/66121.json/default/TopLevel.ts
@@ -142,7 +142,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -153,7 +153,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/6617c.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/6617c.json/default/TopLevel.ts
index 01ea72d..62d2159 100644
--- a/base/typescript/test/inputs/json/misc/6617c.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/6617c.json/default/TopLevel.ts
@@ -114,7 +114,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -125,7 +125,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/67c03.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/67c03.json/default/TopLevel.ts
index 078e091..5b5522e 100644
--- a/base/typescript/test/inputs/json/misc/67c03.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/67c03.json/default/TopLevel.ts
@@ -114,7 +114,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -125,7 +125,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/68c30.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/68c30.json/default/TopLevel.ts
index 821bced..3b9320f 100644
--- a/base/typescript/test/inputs/json/misc/68c30.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/68c30.json/default/TopLevel.ts
@@ -138,7 +138,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -149,7 +149,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/6c155.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/6c155.json/default/TopLevel.ts
index fb256a3..8d20b95 100644
--- a/base/typescript/test/inputs/json/misc/6c155.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/6c155.json/default/TopLevel.ts
@@ -160,7 +160,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -171,7 +171,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/6de06.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/6de06.json/default/TopLevel.ts
index d66b8fa..de60593 100644
--- a/base/typescript/test/inputs/json/misc/6de06.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/6de06.json/default/TopLevel.ts
@@ -250,7 +250,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -261,7 +261,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/6dec6.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/6dec6.json/default/TopLevel.ts
index 6e2745b..82b8a2e 100644
--- a/base/typescript/test/inputs/json/misc/6dec6.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/6dec6.json/default/TopLevel.ts
@@ -207,7 +207,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -218,7 +218,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/6eb00.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/6eb00.json/default/TopLevel.ts
index 63835a1..83ec7fb 100644
--- a/base/typescript/test/inputs/json/misc/6eb00.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/6eb00.json/default/TopLevel.ts
@@ -111,7 +111,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -122,7 +122,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/70c77.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/70c77.json/default/TopLevel.ts
index 51c34f0..7f5763c 100644
--- a/base/typescript/test/inputs/json/misc/70c77.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/70c77.json/default/TopLevel.ts
@@ -109,7 +109,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/734ad.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/734ad.json/default/TopLevel.ts
index 7f98792..0be79a0 100644
--- a/base/typescript/test/inputs/json/misc/734ad.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/734ad.json/default/TopLevel.ts
@@ -176,7 +176,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -187,7 +187,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/75912.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/75912.json/default/TopLevel.ts
index 51c34f0..7f5763c 100644
--- a/base/typescript/test/inputs/json/misc/75912.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/75912.json/default/TopLevel.ts
@@ -109,7 +109,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/7681c.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/7681c.json/default/TopLevel.ts
index 2c8c3d5..cf1c9b7 100644
--- a/base/typescript/test/inputs/json/misc/7681c.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/7681c.json/default/TopLevel.ts
@@ -215,7 +215,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -226,7 +226,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/76ae1.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/76ae1.json/default/TopLevel.ts
index 1ff30e6..7037d82 100644
--- a/base/typescript/test/inputs/json/misc/76ae1.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/76ae1.json/default/TopLevel.ts
@@ -288,7 +288,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -299,7 +299,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/77392.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/77392.json/default/TopLevel.ts
index bd1d90f..04ac300 100644
--- a/base/typescript/test/inputs/json/misc/77392.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/77392.json/default/TopLevel.ts
@@ -122,7 +122,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -133,7 +133,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/7d397.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/7d397.json/default/TopLevel.ts
index cca1a7e..adb4d79 100644
--- a/base/typescript/test/inputs/json/misc/7d397.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/7d397.json/default/TopLevel.ts
@@ -180,7 +180,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -191,7 +191,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/7d722.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/7d722.json/default/TopLevel.ts
index 05276b1..0bd5a14 100644
--- a/base/typescript/test/inputs/json/misc/7d722.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/7d722.json/default/TopLevel.ts
@@ -140,7 +140,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -151,7 +151,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/7df41.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/7df41.json/default/TopLevel.ts
index 8bb0df8..1b89077 100644
--- a/base/typescript/test/inputs/json/misc/7df41.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/7df41.json/default/TopLevel.ts
@@ -117,7 +117,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -128,7 +128,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/7dfa6.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/7dfa6.json/default/TopLevel.ts
index 824027c..d3377c9 100644
--- a/base/typescript/test/inputs/json/misc/7dfa6.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/7dfa6.json/default/TopLevel.ts
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/7eb30.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/7eb30.json/default/TopLevel.ts
index a522f6b..f598add 100644
--- a/base/typescript/test/inputs/json/misc/7eb30.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/7eb30.json/default/TopLevel.ts
@@ -144,7 +144,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -155,7 +155,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/7f568.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/7f568.json/default/TopLevel.ts
index 908a330..8371870 100644
--- a/base/typescript/test/inputs/json/misc/7f568.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/7f568.json/default/TopLevel.ts
@@ -136,7 +136,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -147,7 +147,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/7fbfb.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/7fbfb.json/default/TopLevel.ts
index 6884826..61ab7ed 100644
--- a/base/typescript/test/inputs/json/misc/7fbfb.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/7fbfb.json/default/TopLevel.ts
@@ -131,7 +131,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -142,7 +142,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/80aff.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/80aff.json/default/TopLevel.ts
index 7393e16..c261cf7 100644
--- a/base/typescript/test/inputs/json/misc/80aff.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/80aff.json/default/TopLevel.ts
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -134,7 +134,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/82509.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/82509.json/default/TopLevel.ts
index 3b002b1..d2b496d 100644
--- a/base/typescript/test/inputs/json/misc/82509.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/82509.json/default/TopLevel.ts
@@ -107,7 +107,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -118,7 +118,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/8592b.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/8592b.json/default/TopLevel.ts
index b0907a4..a71a770 100644
--- a/base/typescript/test/inputs/json/misc/8592b.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/8592b.json/default/TopLevel.ts
@@ -219,7 +219,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -230,7 +230,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/88130.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/88130.json/default/TopLevel.ts
index 5e66d83..7d69fbe 100644
--- a/base/typescript/test/inputs/json/misc/88130.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/88130.json/default/TopLevel.ts
@@ -205,7 +205,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -216,7 +216,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/8a62c.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/8a62c.json/default/TopLevel.ts
index 824027c..d3377c9 100644
--- a/base/typescript/test/inputs/json/misc/8a62c.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/8a62c.json/default/TopLevel.ts
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/908db.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/908db.json/default/TopLevel.ts
index 071e0d8..725b46a 100644
--- a/base/typescript/test/inputs/json/misc/908db.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/908db.json/default/TopLevel.ts
@@ -116,7 +116,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -127,7 +127,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/9617f.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/9617f.json/default/TopLevel.ts
index 51c34f0..7f5763c 100644
--- a/base/typescript/test/inputs/json/misc/9617f.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/9617f.json/default/TopLevel.ts
@@ -109,7 +109,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/96f7c.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/96f7c.json/default/TopLevel.ts
index 900a451..86c55b2 100644
--- a/base/typescript/test/inputs/json/misc/96f7c.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/96f7c.json/default/TopLevel.ts
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/9847b.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/9847b.json/default/TopLevel.ts
index b1f7df7..80f0c60 100644
--- a/base/typescript/test/inputs/json/misc/9847b.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/9847b.json/default/TopLevel.ts
@@ -110,7 +110,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -121,7 +121,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/9929c.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/9929c.json/default/TopLevel.ts
index 5e66d83..7d69fbe 100644
--- a/base/typescript/test/inputs/json/misc/9929c.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/9929c.json/default/TopLevel.ts
@@ -205,7 +205,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -216,7 +216,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/996bd.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/996bd.json/default/TopLevel.ts
index d940071..d4795e4 100644
--- a/base/typescript/test/inputs/json/misc/996bd.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/996bd.json/default/TopLevel.ts
@@ -140,7 +140,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -151,7 +151,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/9a503.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/9a503.json/default/TopLevel.ts
index a7ce96f..81c828d 100644
--- a/base/typescript/test/inputs/json/misc/9a503.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/9a503.json/default/TopLevel.ts
@@ -134,7 +134,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -145,7 +145,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/9ac3b.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/9ac3b.json/default/TopLevel.ts
index 9f4c57f..f8004a8 100644
--- a/base/typescript/test/inputs/json/misc/9ac3b.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/9ac3b.json/default/TopLevel.ts
@@ -131,7 +131,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -142,7 +142,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/9eed5.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/9eed5.json/default/TopLevel.ts
index f2587f8..5d5ab31 100644
--- a/base/typescript/test/inputs/json/misc/9eed5.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/9eed5.json/default/TopLevel.ts
@@ -134,7 +134,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -145,7 +145,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/a0496.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/a0496.json/default/TopLevel.ts
index b1b15e4..1fe25c5 100644
--- a/base/typescript/test/inputs/json/misc/a0496.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/a0496.json/default/TopLevel.ts
@@ -125,7 +125,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -136,7 +136,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/a1eca.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/a1eca.json/default/TopLevel.ts
index 5e66d83..7d69fbe 100644
--- a/base/typescript/test/inputs/json/misc/a1eca.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/a1eca.json/default/TopLevel.ts
@@ -205,7 +205,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -216,7 +216,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/a3d8c.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/a3d8c.json/default/TopLevel.ts
index e16a8f2..1131945 100644
--- a/base/typescript/test/inputs/json/misc/a3d8c.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/a3d8c.json/default/TopLevel.ts
@@ -217,7 +217,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -228,7 +228,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/a45b0.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/a45b0.json/default/TopLevel.ts
index d624211..39e8567 100644
--- a/base/typescript/test/inputs/json/misc/a45b0.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/a45b0.json/default/TopLevel.ts
@@ -116,7 +116,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -127,7 +127,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/a71df.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/a71df.json/default/TopLevel.ts
index 05276b1..0bd5a14 100644
--- a/base/typescript/test/inputs/json/misc/a71df.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/a71df.json/default/TopLevel.ts
@@ -140,7 +140,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -151,7 +151,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/a9691.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/a9691.json/default/TopLevel.ts
index 51c34f0..7f5763c 100644
--- a/base/typescript/test/inputs/json/misc/a9691.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/a9691.json/default/TopLevel.ts
@@ -109,7 +109,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/ab0d1.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/ab0d1.json/default/TopLevel.ts
index d624211..39e8567 100644
--- a/base/typescript/test/inputs/json/misc/ab0d1.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/ab0d1.json/default/TopLevel.ts
@@ -116,7 +116,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -127,7 +127,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/abb4b.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/abb4b.json/default/TopLevel.ts
index 824027c..d3377c9 100644
--- a/base/typescript/test/inputs/json/misc/abb4b.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/abb4b.json/default/TopLevel.ts
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/ac944.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/ac944.json/default/TopLevel.ts
index 51c34f0..7f5763c 100644
--- a/base/typescript/test/inputs/json/misc/ac944.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/ac944.json/default/TopLevel.ts
@@ -109,7 +109,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/ad8be.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/ad8be.json/default/TopLevel.ts
index 40b751e..0b166b9 100644
--- a/base/typescript/test/inputs/json/misc/ad8be.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/ad8be.json/default/TopLevel.ts
@@ -147,7 +147,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -158,7 +158,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/ae7f0.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/ae7f0.json/default/TopLevel.ts
index faecb0c..7bef174 100644
--- a/base/typescript/test/inputs/json/misc/ae7f0.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/ae7f0.json/default/TopLevel.ts
@@ -195,7 +195,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -206,7 +206,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/ae9ca.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/ae9ca.json/default/TopLevel.ts
index 697ca29..056f190 100644
--- a/base/typescript/test/inputs/json/misc/ae9ca.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/ae9ca.json/default/TopLevel.ts
@@ -143,7 +143,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -154,7 +154,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/af2d1.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/af2d1.json/default/TopLevel.ts
index 9bb1083..8c660cf 100644
--- a/base/typescript/test/inputs/json/misc/af2d1.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/af2d1.json/default/TopLevel.ts
@@ -193,7 +193,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -204,7 +204,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/b4865.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/b4865.json/default/TopLevel.ts
index 62b85c8..d7ac155 100644
--- a/base/typescript/test/inputs/json/misc/b4865.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/b4865.json/default/TopLevel.ts
@@ -131,7 +131,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -142,7 +142,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/b6f2c.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/b6f2c.json/default/TopLevel.ts
index 824027c..d3377c9 100644
--- a/base/typescript/test/inputs/json/misc/b6f2c.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/b6f2c.json/default/TopLevel.ts
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/b6fe5.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/b6fe5.json/default/TopLevel.ts
index cc93842..678d2fe 100644
--- a/base/typescript/test/inputs/json/misc/b6fe5.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/b6fe5.json/default/TopLevel.ts
@@ -110,7 +110,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -121,7 +121,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/b9f64.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/b9f64.json/default/TopLevel.ts
index bff8ceb..94bd27e 100644
--- a/base/typescript/test/inputs/json/misc/b9f64.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/b9f64.json/default/TopLevel.ts
@@ -107,7 +107,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -118,7 +118,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/bb1ec.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/bb1ec.json/default/TopLevel.ts
index 824027c..d3377c9 100644
--- a/base/typescript/test/inputs/json/misc/bb1ec.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/bb1ec.json/default/TopLevel.ts
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/be234.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/be234.json/default/TopLevel.ts
index 62b7427..e56c5fc 100644
--- a/base/typescript/test/inputs/json/misc/be234.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/be234.json/default/TopLevel.ts
@@ -256,7 +256,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -267,7 +267,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/c0356.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/c0356.json/default/TopLevel.ts
index 5489e4d..7753930 100644
--- a/base/typescript/test/inputs/json/misc/c0356.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/c0356.json/default/TopLevel.ts
@@ -119,7 +119,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -130,7 +130,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/c0a3a.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/c0a3a.json/default/TopLevel.ts
index 05276b1..0bd5a14 100644
--- a/base/typescript/test/inputs/json/misc/c0a3a.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/c0a3a.json/default/TopLevel.ts
@@ -140,7 +140,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -151,7 +151,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/c3303.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/c3303.json/default/TopLevel.ts
index afcc259..7bf5c8c 100644
--- a/base/typescript/test/inputs/json/misc/c3303.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/c3303.json/default/TopLevel.ts
@@ -214,7 +214,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -225,7 +225,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/c6cfd.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/c6cfd.json/default/TopLevel.ts
index 766e801..5bacf4a 100644
--- a/base/typescript/test/inputs/json/misc/c6cfd.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/c6cfd.json/default/TopLevel.ts
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/c8c7e.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/c8c7e.json/default/TopLevel.ts
index 6cc0632..95f6cfc 100644
--- a/base/typescript/test/inputs/json/misc/c8c7e.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/c8c7e.json/default/TopLevel.ts
@@ -131,7 +131,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -142,7 +142,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/cb0cc.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/cb0cc.json/default/TopLevel.ts
index 185febd..8268b4a 100644
--- a/base/typescript/test/inputs/json/misc/cb0cc.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/cb0cc.json/default/TopLevel.ts
@@ -124,7 +124,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -135,7 +135,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/cb81e.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/cb81e.json/default/TopLevel.ts
index 30b8696..c32a5c5 100644
--- a/base/typescript/test/inputs/json/misc/cb81e.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/cb81e.json/default/TopLevel.ts
@@ -115,7 +115,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -126,7 +126,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/ccd18.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/ccd18.json/default/TopLevel.ts
index 05276b1..0bd5a14 100644
--- a/base/typescript/test/inputs/json/misc/ccd18.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/ccd18.json/default/TopLevel.ts
@@ -140,7 +140,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -151,7 +151,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/cd238.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/cd238.json/default/TopLevel.ts
index 05276b1..0bd5a14 100644
--- a/base/typescript/test/inputs/json/misc/cd238.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/cd238.json/default/TopLevel.ts
@@ -140,7 +140,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -151,7 +151,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/cd463.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/cd463.json/default/TopLevel.ts
index 51c34f0..7f5763c 100644
--- a/base/typescript/test/inputs/json/misc/cd463.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/cd463.json/default/TopLevel.ts
@@ -109,7 +109,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/cda6c.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/cda6c.json/default/TopLevel.ts
index 02abac0..57ea7c3 100644
--- a/base/typescript/test/inputs/json/misc/cda6c.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/cda6c.json/default/TopLevel.ts
@@ -131,7 +131,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -142,7 +142,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/cf0d8.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/cf0d8.json/default/TopLevel.ts
index 5e66d83..7d69fbe 100644
--- a/base/typescript/test/inputs/json/misc/cf0d8.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/cf0d8.json/default/TopLevel.ts
@@ -205,7 +205,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -216,7 +216,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/cfbce.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/cfbce.json/default/TopLevel.ts
index 51c34f0..7f5763c 100644
--- a/base/typescript/test/inputs/json/misc/cfbce.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/cfbce.json/default/TopLevel.ts
@@ -109,7 +109,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/d0908.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/d0908.json/default/TopLevel.ts
index 824027c..d3377c9 100644
--- a/base/typescript/test/inputs/json/misc/d0908.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/d0908.json/default/TopLevel.ts
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/d23d5.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/d23d5.json/default/TopLevel.ts
index 20b6f90..6f46884 100644
--- a/base/typescript/test/inputs/json/misc/d23d5.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/d23d5.json/default/TopLevel.ts
@@ -122,7 +122,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -133,7 +133,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/dbfb3.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/dbfb3.json/default/TopLevel.ts
index b728093..c6e0493 100644
--- a/base/typescript/test/inputs/json/misc/dbfb3.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/dbfb3.json/default/TopLevel.ts
@@ -207,7 +207,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -218,7 +218,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/dc44f.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/dc44f.json/default/TopLevel.ts
index 700fadf..4d9b0f2 100644
--- a/base/typescript/test/inputs/json/misc/dc44f.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/dc44f.json/default/TopLevel.ts
@@ -175,7 +175,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -186,7 +186,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/dd1ce.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/dd1ce.json/default/TopLevel.ts
index 700fadf..4d9b0f2 100644
--- a/base/typescript/test/inputs/json/misc/dd1ce.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/dd1ce.json/default/TopLevel.ts
@@ -175,7 +175,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -186,7 +186,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/dec3a.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/dec3a.json/default/TopLevel.ts
index 1d071df..a8a4006 100644
--- a/base/typescript/test/inputs/json/misc/dec3a.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/dec3a.json/default/TopLevel.ts
@@ -168,7 +168,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -179,7 +179,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/df957.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/df957.json/default/TopLevel.ts
index 5e66d83..7d69fbe 100644
--- a/base/typescript/test/inputs/json/misc/df957.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/df957.json/default/TopLevel.ts
@@ -205,7 +205,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -216,7 +216,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/e0ac7.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/e0ac7.json/default/TopLevel.ts
index 5f4da6f..51f31c1 100644
--- a/base/typescript/test/inputs/json/misc/e0ac7.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/e0ac7.json/default/TopLevel.ts
@@ -213,7 +213,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -224,7 +224,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/e2915.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/e2915.json/default/TopLevel.ts
index e19dd6e..580d429 100644
--- a/base/typescript/test/inputs/json/misc/e2915.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/e2915.json/default/TopLevel.ts
@@ -207,7 +207,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -218,7 +218,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/e2a58.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/e2a58.json/default/TopLevel.ts
index 88ed88f..a3179cd 100644
--- a/base/typescript/test/inputs/json/misc/e2a58.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/e2a58.json/default/TopLevel.ts
@@ -110,7 +110,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -121,7 +121,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/e324e.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/e324e.json/default/TopLevel.ts
index b2a72cd..1718052 100644
--- a/base/typescript/test/inputs/json/misc/e324e.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/e324e.json/default/TopLevel.ts
@@ -178,7 +178,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -189,7 +189,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/e53b5.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/e53b5.json/default/TopLevel.ts
index 0216fc7..7a3ba92 100644
--- a/base/typescript/test/inputs/json/misc/e53b5.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/e53b5.json/default/TopLevel.ts
@@ -131,7 +131,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -142,7 +142,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/e64a0.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/e64a0.json/default/TopLevel.ts
index 9a20499..b87f838 100644
--- a/base/typescript/test/inputs/json/misc/e64a0.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/e64a0.json/default/TopLevel.ts
@@ -117,7 +117,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -128,7 +128,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/e8a0b.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/e8a0b.json/default/TopLevel.ts
index d624211..39e8567 100644
--- a/base/typescript/test/inputs/json/misc/e8a0b.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/e8a0b.json/default/TopLevel.ts
@@ -116,7 +116,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -127,7 +127,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/e8b04.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/e8b04.json/default/TopLevel.ts
index 3bc4f02..566cd11 100644
--- a/base/typescript/test/inputs/json/misc/e8b04.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/e8b04.json/default/TopLevel.ts
@@ -338,7 +338,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -349,7 +349,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/ed095.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/ed095.json/default/TopLevel.ts
index 281babf..7ba3d18 100644
--- a/base/typescript/test/inputs/json/misc/ed095.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/ed095.json/default/TopLevel.ts
@@ -105,7 +105,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -116,7 +116,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/f22f5.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/f22f5.json/default/TopLevel.ts
index 9c3cfa0..4740e51 100644
--- a/base/typescript/test/inputs/json/misc/f22f5.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/f22f5.json/default/TopLevel.ts
@@ -193,7 +193,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -204,7 +204,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/f3139.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/f3139.json/default/TopLevel.ts
index b1f7df7..80f0c60 100644
--- a/base/typescript/test/inputs/json/misc/f3139.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/f3139.json/default/TopLevel.ts
@@ -110,7 +110,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -121,7 +121,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/f3edf.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/f3edf.json/default/TopLevel.ts
index d624211..39e8567 100644
--- a/base/typescript/test/inputs/json/misc/f3edf.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/f3edf.json/default/TopLevel.ts
@@ -116,7 +116,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -127,7 +127,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/f466a.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/f466a.json/default/TopLevel.ts
index d624211..39e8567 100644
--- a/base/typescript/test/inputs/json/misc/f466a.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/f466a.json/default/TopLevel.ts
@@ -116,7 +116,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -127,7 +127,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/f6a65.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/f6a65.json/default/TopLevel.ts
index 0388eb4..8551417 100644
--- a/base/typescript/test/inputs/json/misc/f6a65.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/f6a65.json/default/TopLevel.ts
@@ -215,7 +215,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -226,7 +226,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/f74d5.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/f74d5.json/default/TopLevel.ts
index e74ebdb..21545df 100644
--- a/base/typescript/test/inputs/json/misc/f74d5.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/f74d5.json/default/TopLevel.ts
@@ -217,7 +217,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -228,7 +228,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/f82d9.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/f82d9.json/default/TopLevel.ts
index e8bc876..14a8b89 100644
--- a/base/typescript/test/inputs/json/misc/f82d9.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/f82d9.json/default/TopLevel.ts
@@ -191,7 +191,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -202,7 +202,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/f974d.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/f974d.json/default/TopLevel.ts
index f045824..1b8ecff 100644
--- a/base/typescript/test/inputs/json/misc/f974d.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/f974d.json/default/TopLevel.ts
@@ -111,7 +111,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -122,7 +122,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/faff5.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/faff5.json/default/TopLevel.ts
index 41f69ac..c84fabf 100644
--- a/base/typescript/test/inputs/json/misc/faff5.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/faff5.json/default/TopLevel.ts
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/fcca3.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/fcca3.json/default/TopLevel.ts
index a9e8711..db1ad59 100644
--- a/base/typescript/test/inputs/json/misc/fcca3.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/fcca3.json/default/TopLevel.ts
@@ -317,7 +317,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -328,7 +328,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/misc/fd329.json/default/TopLevel.ts b/head/typescript/test/inputs/json/misc/fd329.json/default/TopLevel.ts
index 38eedf1..eed9604 100644
--- a/base/typescript/test/inputs/json/misc/fd329.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/misc/fd329.json/default/TopLevel.ts
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -131,7 +131,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/blns-object.json/default/TopLevel.ts b/head/typescript/test/inputs/json/priority/blns-object.json/default/TopLevel.ts
index 75c36fd..92fe20e 100644
--- a/base/typescript/test/inputs/json/priority/blns-object.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/blns-object.json/default/TopLevel.ts
@@ -702,7 +702,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -713,7 +713,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/bug2037.json/default/TopLevel.ts b/head/typescript/test/inputs/json/priority/bug2037.json/default/TopLevel.ts
index b7774e3..992c586 100644
--- a/base/typescript/test/inputs/json/priority/bug2037.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/bug2037.json/default/TopLevel.ts
@@ -115,7 +115,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -126,7 +126,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/bug2521.json/default/TopLevel.ts b/head/typescript/test/inputs/json/priority/bug2521.json/default/TopLevel.ts
index 71bdb20..291c523 100644
--- a/base/typescript/test/inputs/json/priority/bug2521.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/bug2521.json/default/TopLevel.ts
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/bug2590.json/default/TopLevel.ts b/head/typescript/test/inputs/json/priority/bug2590.json/default/TopLevel.ts
index 6f1b3c3..83e84b5 100644
--- a/base/typescript/test/inputs/json/priority/bug2590.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/bug2590.json/default/TopLevel.ts
@@ -113,7 +113,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -124,7 +124,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/bug2663.json/default/TopLevel.ts b/head/typescript/test/inputs/json/priority/bug2663.json/default/TopLevel.ts
index 551b34c..7a0e0f8 100644
--- a/base/typescript/test/inputs/json/priority/bug2663.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/bug2663.json/default/TopLevel.ts
@@ -109,7 +109,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/bug2793.json/default/TopLevel.ts b/head/typescript/test/inputs/json/priority/bug2793.json/default/TopLevel.ts
index 21337ab..4a006ba 100644
--- a/base/typescript/test/inputs/json/priority/bug2793.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/bug2793.json/default/TopLevel.ts
@@ -113,7 +113,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -124,7 +124,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/bug427.json/default/TopLevel.ts b/head/typescript/test/inputs/json/priority/bug427.json/default/TopLevel.ts
index ce49d3d..fb9e93a 100644
--- a/base/typescript/test/inputs/json/priority/bug427.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/bug427.json/default/TopLevel.ts
@@ -664,7 +664,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -675,7 +675,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/bug790.json/default/TopLevel.ts b/head/typescript/test/inputs/json/priority/bug790.json/default/TopLevel.ts
index 72f464b..e09d78b 100644
--- a/base/typescript/test/inputs/json/priority/bug790.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/bug790.json/default/TopLevel.ts
@@ -114,7 +114,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -125,7 +125,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/bug855-short.json/default/TopLevel.ts b/head/typescript/test/inputs/json/priority/bug855-short.json/default/TopLevel.ts
index 3d18c2a..8798125 100644
--- a/base/typescript/test/inputs/json/priority/bug855-short.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/bug855-short.json/default/TopLevel.ts
@@ -111,7 +111,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -122,7 +122,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/bug863.json/default/TopLevel.ts b/head/typescript/test/inputs/json/priority/bug863.json/default/TopLevel.ts
index 1d678fc..6343730 100644
--- a/base/typescript/test/inputs/json/priority/bug863.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/bug863.json/default/TopLevel.ts
@@ -177,7 +177,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -188,7 +188,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/coin-pairs.json/default/TopLevel.ts b/head/typescript/test/inputs/json/priority/coin-pairs.json/default/TopLevel.ts
index 48962b7..ab2e455 100644
--- a/base/typescript/test/inputs/json/priority/coin-pairs.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/coin-pairs.json/default/TopLevel.ts
@@ -119,7 +119,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -130,7 +130,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/combinations1.json/acronym-style-pascal--d9e0c1bd777a/TopLevel.ts b/head/typescript/test/inputs/json/priority/combinations1.json/acronym-style-pascal--d9e0c1bd777a/TopLevel.ts
index 542710c..310e997 100644
--- a/base/typescript/test/inputs/json/priority/combinations1.json/acronym-style-pascal--d9e0c1bd777a/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/combinations1.json/acronym-style-pascal--d9e0c1bd777a/TopLevel.ts
@@ -499,7 +499,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -510,7 +510,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/combinations1.json/converters-all-objects--3a443babd1cb/TopLevel.ts b/head/typescript/test/inputs/json/priority/combinations1.json/converters-all-objects--3a443babd1cb/TopLevel.ts
index 405bb56..cf7f99e 100644
--- a/base/typescript/test/inputs/json/priority/combinations1.json/converters-all-objects--3a443babd1cb/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/combinations1.json/converters-all-objects--3a443babd1cb/TopLevel.ts
@@ -603,7 +603,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -614,7 +614,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/combinations1.json/default/TopLevel.ts b/head/typescript/test/inputs/json/priority/combinations1.json/default/TopLevel.ts
index 542710c..310e997 100644
--- a/base/typescript/test/inputs/json/priority/combinations1.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/combinations1.json/default/TopLevel.ts
@@ -499,7 +499,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -510,7 +510,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/combinations1.json/nice-property-names-true--f4d7920ee2ce/TopLevel.ts b/head/typescript/test/inputs/json/priority/combinations1.json/nice-property-names-true--f4d7920ee2ce/TopLevel.ts
index fd0686c..a0f3a59 100644
--- a/base/typescript/test/inputs/json/priority/combinations1.json/nice-property-names-true--f4d7920ee2ce/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/combinations1.json/nice-property-names-true--f4d7920ee2ce/TopLevel.ts
@@ -499,7 +499,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -510,7 +510,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/combinations1.json/prefer-const-values-true--6b26e4d1265c/TopLevel.ts b/head/typescript/test/inputs/json/priority/combinations1.json/prefer-const-values-true--6b26e4d1265c/TopLevel.ts
index 542710c..310e997 100644
--- a/base/typescript/test/inputs/json/priority/combinations1.json/prefer-const-values-true--6b26e4d1265c/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/combinations1.json/prefer-const-values-true--6b26e4d1265c/TopLevel.ts
@@ -499,7 +499,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -510,7 +510,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/combinations1.json/prefer-types-true--df33e18681f9/TopLevel.ts b/head/typescript/test/inputs/json/priority/combinations1.json/prefer-types-true--df33e18681f9/TopLevel.ts
index c459d41..d587da0 100644
--- a/base/typescript/test/inputs/json/priority/combinations1.json/prefer-types-true--df33e18681f9/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/combinations1.json/prefer-types-true--df33e18681f9/TopLevel.ts
@@ -499,7 +499,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -510,7 +510,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/combinations1.json/prefer-unions-false--a5053c0a486d/TopLevel.ts b/head/typescript/test/inputs/json/priority/combinations1.json/prefer-unions-false--a5053c0a486d/TopLevel.ts
index 542710c..310e997 100644
--- a/base/typescript/test/inputs/json/priority/combinations1.json/prefer-unions-false--a5053c0a486d/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/combinations1.json/prefer-unions-false--a5053c0a486d/TopLevel.ts
@@ -499,7 +499,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -510,7 +510,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/combinations1.json/prefer-unknown-false--f1ab9e45d823/TopLevel.ts b/head/typescript/test/inputs/json/priority/combinations1.json/prefer-unknown-false--f1ab9e45d823/TopLevel.ts
index 542710c..310e997 100644
--- a/base/typescript/test/inputs/json/priority/combinations1.json/prefer-unknown-false--f1ab9e45d823/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/combinations1.json/prefer-unknown-false--f1ab9e45d823/TopLevel.ts
@@ -499,7 +499,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -510,7 +510,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/combinations1.json/raw-type-any--474b307c39db/TopLevel.ts b/head/typescript/test/inputs/json/priority/combinations1.json/raw-type-any--474b307c39db/TopLevel.ts
index 9fa0df5..92db44f 100644
--- a/base/typescript/test/inputs/json/priority/combinations1.json/raw-type-any--474b307c39db/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/combinations1.json/raw-type-any--474b307c39db/TopLevel.ts
@@ -499,7 +499,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -510,7 +510,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/combinations1.json/readonly-true--24da4fc107df/TopLevel.ts b/head/typescript/test/inputs/json/priority/combinations1.json/readonly-true--24da4fc107df/TopLevel.ts
index 77a2ff0..cb12779 100644
--- a/base/typescript/test/inputs/json/priority/combinations1.json/readonly-true--24da4fc107df/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/combinations1.json/readonly-true--24da4fc107df/TopLevel.ts
@@ -499,7 +499,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -510,7 +510,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/combinations1.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.ts b/head/typescript/test/inputs/json/priority/combinations1.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.ts
index baa7c41..d7e70b1 100644
--- a/base/typescript/test/inputs/json/priority/combinations1.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/combinations1.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.ts
@@ -499,7 +499,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -510,7 +510,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = val[key];
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/combinations2.json/acronym-style-pascal--d9e0c1bd777a/TopLevel.ts b/head/typescript/test/inputs/json/priority/combinations2.json/acronym-style-pascal--d9e0c1bd777a/TopLevel.ts
index 0cf2c61..87fafd1 100644
--- a/base/typescript/test/inputs/json/priority/combinations2.json/acronym-style-pascal--d9e0c1bd777a/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/combinations2.json/acronym-style-pascal--d9e0c1bd777a/TopLevel.ts
@@ -451,7 +451,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -462,7 +462,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/combinations2.json/converters-all-objects--3a443babd1cb/TopLevel.ts b/head/typescript/test/inputs/json/priority/combinations2.json/converters-all-objects--3a443babd1cb/TopLevel.ts
index 7af1f47..8c6b1ba 100644
--- a/base/typescript/test/inputs/json/priority/combinations2.json/converters-all-objects--3a443babd1cb/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/combinations2.json/converters-all-objects--3a443babd1cb/TopLevel.ts
@@ -531,7 +531,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -542,7 +542,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/combinations2.json/default/TopLevel.ts b/head/typescript/test/inputs/json/priority/combinations2.json/default/TopLevel.ts
index 0cf2c61..87fafd1 100644
--- a/base/typescript/test/inputs/json/priority/combinations2.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/combinations2.json/default/TopLevel.ts
@@ -451,7 +451,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -462,7 +462,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/combinations2.json/nice-property-names-true--f4d7920ee2ce/TopLevel.ts b/head/typescript/test/inputs/json/priority/combinations2.json/nice-property-names-true--f4d7920ee2ce/TopLevel.ts
index a998694..0152e2d 100644
--- a/base/typescript/test/inputs/json/priority/combinations2.json/nice-property-names-true--f4d7920ee2ce/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/combinations2.json/nice-property-names-true--f4d7920ee2ce/TopLevel.ts
@@ -451,7 +451,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -462,7 +462,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/combinations2.json/prefer-const-values-true--6b26e4d1265c/TopLevel.ts b/head/typescript/test/inputs/json/priority/combinations2.json/prefer-const-values-true--6b26e4d1265c/TopLevel.ts
index 0cf2c61..87fafd1 100644
--- a/base/typescript/test/inputs/json/priority/combinations2.json/prefer-const-values-true--6b26e4d1265c/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/combinations2.json/prefer-const-values-true--6b26e4d1265c/TopLevel.ts
@@ -451,7 +451,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -462,7 +462,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/combinations2.json/prefer-types-true--df33e18681f9/TopLevel.ts b/head/typescript/test/inputs/json/priority/combinations2.json/prefer-types-true--df33e18681f9/TopLevel.ts
index dd1c517..3176c3d 100644
--- a/base/typescript/test/inputs/json/priority/combinations2.json/prefer-types-true--df33e18681f9/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/combinations2.json/prefer-types-true--df33e18681f9/TopLevel.ts
@@ -451,7 +451,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -462,7 +462,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/combinations2.json/prefer-unions-false--a5053c0a486d/TopLevel.ts b/head/typescript/test/inputs/json/priority/combinations2.json/prefer-unions-false--a5053c0a486d/TopLevel.ts
index 0cf2c61..87fafd1 100644
--- a/base/typescript/test/inputs/json/priority/combinations2.json/prefer-unions-false--a5053c0a486d/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/combinations2.json/prefer-unions-false--a5053c0a486d/TopLevel.ts
@@ -451,7 +451,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -462,7 +462,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/combinations2.json/prefer-unknown-false--f1ab9e45d823/TopLevel.ts b/head/typescript/test/inputs/json/priority/combinations2.json/prefer-unknown-false--f1ab9e45d823/TopLevel.ts
index 0cf2c61..87fafd1 100644
--- a/base/typescript/test/inputs/json/priority/combinations2.json/prefer-unknown-false--f1ab9e45d823/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/combinations2.json/prefer-unknown-false--f1ab9e45d823/TopLevel.ts
@@ -451,7 +451,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -462,7 +462,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/combinations2.json/raw-type-any--474b307c39db/TopLevel.ts b/head/typescript/test/inputs/json/priority/combinations2.json/raw-type-any--474b307c39db/TopLevel.ts
index 9b327ea..4823672 100644
--- a/base/typescript/test/inputs/json/priority/combinations2.json/raw-type-any--474b307c39db/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/combinations2.json/raw-type-any--474b307c39db/TopLevel.ts
@@ -451,7 +451,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -462,7 +462,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/combinations2.json/readonly-true--24da4fc107df/TopLevel.ts b/head/typescript/test/inputs/json/priority/combinations2.json/readonly-true--24da4fc107df/TopLevel.ts
index 0add202..6f13083 100644
--- a/base/typescript/test/inputs/json/priority/combinations2.json/readonly-true--24da4fc107df/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/combinations2.json/readonly-true--24da4fc107df/TopLevel.ts
@@ -451,7 +451,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -462,7 +462,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/combinations2.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.ts b/head/typescript/test/inputs/json/priority/combinations2.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.ts
index 9ee5cc8..da25293 100644
--- a/base/typescript/test/inputs/json/priority/combinations2.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/combinations2.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.ts
@@ -451,7 +451,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -462,7 +462,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = val[key];
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/combinations3.json/acronym-style-pascal--d9e0c1bd777a/TopLevel.ts b/head/typescript/test/inputs/json/priority/combinations3.json/acronym-style-pascal--d9e0c1bd777a/TopLevel.ts
index deeb945..d845dec 100644
--- a/base/typescript/test/inputs/json/priority/combinations3.json/acronym-style-pascal--d9e0c1bd777a/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/combinations3.json/acronym-style-pascal--d9e0c1bd777a/TopLevel.ts
@@ -555,7 +555,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -566,7 +566,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/combinations3.json/converters-all-objects--3a443babd1cb/TopLevel.ts b/head/typescript/test/inputs/json/priority/combinations3.json/converters-all-objects--3a443babd1cb/TopLevel.ts
index dca1901..953086c 100644
--- a/base/typescript/test/inputs/json/priority/combinations3.json/converters-all-objects--3a443babd1cb/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/combinations3.json/converters-all-objects--3a443babd1cb/TopLevel.ts
@@ -667,7 +667,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -678,7 +678,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/combinations3.json/default/TopLevel.ts b/head/typescript/test/inputs/json/priority/combinations3.json/default/TopLevel.ts
index deeb945..d845dec 100644
--- a/base/typescript/test/inputs/json/priority/combinations3.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/combinations3.json/default/TopLevel.ts
@@ -555,7 +555,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -566,7 +566,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/combinations3.json/nice-property-names-true--f4d7920ee2ce/TopLevel.ts b/head/typescript/test/inputs/json/priority/combinations3.json/nice-property-names-true--f4d7920ee2ce/TopLevel.ts
index c4ee62d..9368a95 100644
--- a/base/typescript/test/inputs/json/priority/combinations3.json/nice-property-names-true--f4d7920ee2ce/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/combinations3.json/nice-property-names-true--f4d7920ee2ce/TopLevel.ts
@@ -555,7 +555,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -566,7 +566,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/combinations3.json/prefer-const-values-true--6b26e4d1265c/TopLevel.ts b/head/typescript/test/inputs/json/priority/combinations3.json/prefer-const-values-true--6b26e4d1265c/TopLevel.ts
index deeb945..d845dec 100644
--- a/base/typescript/test/inputs/json/priority/combinations3.json/prefer-const-values-true--6b26e4d1265c/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/combinations3.json/prefer-const-values-true--6b26e4d1265c/TopLevel.ts
@@ -555,7 +555,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -566,7 +566,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/combinations3.json/prefer-types-true--df33e18681f9/TopLevel.ts b/head/typescript/test/inputs/json/priority/combinations3.json/prefer-types-true--df33e18681f9/TopLevel.ts
index bab6e2e..139edc8 100644
--- a/base/typescript/test/inputs/json/priority/combinations3.json/prefer-types-true--df33e18681f9/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/combinations3.json/prefer-types-true--df33e18681f9/TopLevel.ts
@@ -555,7 +555,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -566,7 +566,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/combinations3.json/prefer-unions-false--a5053c0a486d/TopLevel.ts b/head/typescript/test/inputs/json/priority/combinations3.json/prefer-unions-false--a5053c0a486d/TopLevel.ts
index deeb945..d845dec 100644
--- a/base/typescript/test/inputs/json/priority/combinations3.json/prefer-unions-false--a5053c0a486d/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/combinations3.json/prefer-unions-false--a5053c0a486d/TopLevel.ts
@@ -555,7 +555,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -566,7 +566,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/combinations3.json/prefer-unknown-false--f1ab9e45d823/TopLevel.ts b/head/typescript/test/inputs/json/priority/combinations3.json/prefer-unknown-false--f1ab9e45d823/TopLevel.ts
index deeb945..d845dec 100644
--- a/base/typescript/test/inputs/json/priority/combinations3.json/prefer-unknown-false--f1ab9e45d823/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/combinations3.json/prefer-unknown-false--f1ab9e45d823/TopLevel.ts
@@ -555,7 +555,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -566,7 +566,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/combinations3.json/raw-type-any--474b307c39db/TopLevel.ts b/head/typescript/test/inputs/json/priority/combinations3.json/raw-type-any--474b307c39db/TopLevel.ts
index 66a975d..056e4a2 100644
--- a/base/typescript/test/inputs/json/priority/combinations3.json/raw-type-any--474b307c39db/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/combinations3.json/raw-type-any--474b307c39db/TopLevel.ts
@@ -555,7 +555,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -566,7 +566,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/combinations3.json/readonly-true--24da4fc107df/TopLevel.ts b/head/typescript/test/inputs/json/priority/combinations3.json/readonly-true--24da4fc107df/TopLevel.ts
index 9ddb448..ac0ed5f 100644
--- a/base/typescript/test/inputs/json/priority/combinations3.json/readonly-true--24da4fc107df/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/combinations3.json/readonly-true--24da4fc107df/TopLevel.ts
@@ -555,7 +555,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -566,7 +566,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/combinations3.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.ts b/head/typescript/test/inputs/json/priority/combinations3.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.ts
index ce3c4d5..3747002 100644
--- a/base/typescript/test/inputs/json/priority/combinations3.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/combinations3.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.ts
@@ -555,7 +555,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -566,7 +566,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = val[key];
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/combinations4.json/acronym-style-pascal--d9e0c1bd777a/TopLevel.ts b/head/typescript/test/inputs/json/priority/combinations4.json/acronym-style-pascal--d9e0c1bd777a/TopLevel.ts
index c743e3a..29dd5fd 100644
--- a/base/typescript/test/inputs/json/priority/combinations4.json/acronym-style-pascal--d9e0c1bd777a/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/combinations4.json/acronym-style-pascal--d9e0c1bd777a/TopLevel.ts
@@ -625,7 +625,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -636,7 +636,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/combinations4.json/converters-all-objects--3a443babd1cb/TopLevel.ts b/head/typescript/test/inputs/json/priority/combinations4.json/converters-all-objects--3a443babd1cb/TopLevel.ts
index 32879ba..717d838 100644
--- a/base/typescript/test/inputs/json/priority/combinations4.json/converters-all-objects--3a443babd1cb/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/combinations4.json/converters-all-objects--3a443babd1cb/TopLevel.ts
@@ -753,7 +753,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -764,7 +764,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/combinations4.json/default/TopLevel.ts b/head/typescript/test/inputs/json/priority/combinations4.json/default/TopLevel.ts
index c743e3a..29dd5fd 100644
--- a/base/typescript/test/inputs/json/priority/combinations4.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/combinations4.json/default/TopLevel.ts
@@ -625,7 +625,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -636,7 +636,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/combinations4.json/nice-property-names-true--f4d7920ee2ce/TopLevel.ts b/head/typescript/test/inputs/json/priority/combinations4.json/nice-property-names-true--f4d7920ee2ce/TopLevel.ts
index a531c43..c7fc1ff 100644
--- a/base/typescript/test/inputs/json/priority/combinations4.json/nice-property-names-true--f4d7920ee2ce/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/combinations4.json/nice-property-names-true--f4d7920ee2ce/TopLevel.ts
@@ -625,7 +625,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -636,7 +636,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/combinations4.json/prefer-const-values-true--6b26e4d1265c/TopLevel.ts b/head/typescript/test/inputs/json/priority/combinations4.json/prefer-const-values-true--6b26e4d1265c/TopLevel.ts
index c743e3a..29dd5fd 100644
--- a/base/typescript/test/inputs/json/priority/combinations4.json/prefer-const-values-true--6b26e4d1265c/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/combinations4.json/prefer-const-values-true--6b26e4d1265c/TopLevel.ts
@@ -625,7 +625,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -636,7 +636,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/combinations4.json/prefer-types-true--df33e18681f9/TopLevel.ts b/head/typescript/test/inputs/json/priority/combinations4.json/prefer-types-true--df33e18681f9/TopLevel.ts
index 33bfc62..df03c4c 100644
--- a/base/typescript/test/inputs/json/priority/combinations4.json/prefer-types-true--df33e18681f9/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/combinations4.json/prefer-types-true--df33e18681f9/TopLevel.ts
@@ -625,7 +625,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -636,7 +636,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/combinations4.json/prefer-unions-false--a5053c0a486d/TopLevel.ts b/head/typescript/test/inputs/json/priority/combinations4.json/prefer-unions-false--a5053c0a486d/TopLevel.ts
index c743e3a..29dd5fd 100644
--- a/base/typescript/test/inputs/json/priority/combinations4.json/prefer-unions-false--a5053c0a486d/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/combinations4.json/prefer-unions-false--a5053c0a486d/TopLevel.ts
@@ -625,7 +625,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -636,7 +636,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/combinations4.json/prefer-unknown-false--f1ab9e45d823/TopLevel.ts b/head/typescript/test/inputs/json/priority/combinations4.json/prefer-unknown-false--f1ab9e45d823/TopLevel.ts
index c743e3a..29dd5fd 100644
--- a/base/typescript/test/inputs/json/priority/combinations4.json/prefer-unknown-false--f1ab9e45d823/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/combinations4.json/prefer-unknown-false--f1ab9e45d823/TopLevel.ts
@@ -625,7 +625,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -636,7 +636,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/combinations4.json/raw-type-any--474b307c39db/TopLevel.ts b/head/typescript/test/inputs/json/priority/combinations4.json/raw-type-any--474b307c39db/TopLevel.ts
index db8aa65..83ea606 100644
--- a/base/typescript/test/inputs/json/priority/combinations4.json/raw-type-any--474b307c39db/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/combinations4.json/raw-type-any--474b307c39db/TopLevel.ts
@@ -625,7 +625,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -636,7 +636,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/combinations4.json/readonly-true--24da4fc107df/TopLevel.ts b/head/typescript/test/inputs/json/priority/combinations4.json/readonly-true--24da4fc107df/TopLevel.ts
index 095a16c..1b52301 100644
--- a/base/typescript/test/inputs/json/priority/combinations4.json/readonly-true--24da4fc107df/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/combinations4.json/readonly-true--24da4fc107df/TopLevel.ts
@@ -625,7 +625,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -636,7 +636,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/combinations4.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.ts b/head/typescript/test/inputs/json/priority/combinations4.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.ts
index 95b3291..45f4e17 100644
--- a/base/typescript/test/inputs/json/priority/combinations4.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/combinations4.json/runtime-typecheck-ignore-unknown-properties-true--d792c40f022e/TopLevel.ts
@@ -625,7 +625,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -636,7 +636,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = val[key];
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/combined-enum.json/default/TopLevel.ts b/head/typescript/test/inputs/json/priority/combined-enum.json/default/TopLevel.ts
index 37bdf50..8611daa 100644
--- a/base/typescript/test/inputs/json/priority/combined-enum.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/combined-enum.json/default/TopLevel.ts
@@ -114,7 +114,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -125,7 +125,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/direct-recursive.json/default/TopLevel.ts b/head/typescript/test/inputs/json/priority/direct-recursive.json/default/TopLevel.ts
index 2d5cdbd..0db3830 100644
--- a/base/typescript/test/inputs/json/priority/direct-recursive.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/direct-recursive.json/default/TopLevel.ts
@@ -111,7 +111,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -122,7 +122,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/empty-enum.json/default/TopLevel.ts b/head/typescript/test/inputs/json/priority/empty-enum.json/default/TopLevel.ts
index 7dfc6b7..c0d1e77 100644
--- a/base/typescript/test/inputs/json/priority/empty-enum.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/empty-enum.json/default/TopLevel.ts
@@ -111,7 +111,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -122,7 +122,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/identifiers.json/default/TopLevel.ts b/head/typescript/test/inputs/json/priority/identifiers.json/default/TopLevel.ts
index de42c53..2013d29 100644
--- a/base/typescript/test/inputs/json/priority/identifiers.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/identifiers.json/default/TopLevel.ts
@@ -135,7 +135,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -146,7 +146,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/issue2680-object-array.json/default/TopLevel.ts b/head/typescript/test/inputs/json/priority/issue2680-object-array.json/default/TopLevel.ts
index c8e46d4..5531920 100644
--- a/base/typescript/test/inputs/json/priority/issue2680-object-array.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/issue2680-object-array.json/default/TopLevel.ts
@@ -109,7 +109,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/issue2680-scalar-array.json/default/TopLevel.ts b/head/typescript/test/inputs/json/priority/issue2680-scalar-array.json/default/TopLevel.ts
index 9f9b3d6..70ad9d6 100644
--- a/base/typescript/test/inputs/json/priority/issue2680-scalar-array.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/issue2680-scalar-array.json/default/TopLevel.ts
@@ -105,7 +105,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -116,7 +116,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/keywords.json/default/TopLevel.ts b/head/typescript/test/inputs/json/priority/keywords.json/default/TopLevel.ts
index 9534f60..a86bdce 100644
--- a/base/typescript/test/inputs/json/priority/keywords.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/keywords.json/default/TopLevel.ts
@@ -1799,7 +1799,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -1810,7 +1810,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/keywords.json/prefer-types-true--df33e18681f9/TopLevel.ts b/head/typescript/test/inputs/json/priority/keywords.json/prefer-types-true--df33e18681f9/TopLevel.ts
index f1590b7..a3a1222 100644
--- a/base/typescript/test/inputs/json/priority/keywords.json/prefer-types-true--df33e18681f9/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/keywords.json/prefer-types-true--df33e18681f9/TopLevel.ts
@@ -1799,7 +1799,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -1810,7 +1810,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/kotlin-enum-class-case-collision.json/default/TopLevel.ts b/head/typescript/test/inputs/json/priority/kotlin-enum-class-case-collision.json/default/TopLevel.ts
index eeab77a..c089428 100644
--- a/base/typescript/test/inputs/json/priority/kotlin-enum-class-case-collision.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/kotlin-enum-class-case-collision.json/default/TopLevel.ts
@@ -111,7 +111,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -122,7 +122,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/list.json/default/TopLevel.ts b/head/typescript/test/inputs/json/priority/list.json/default/TopLevel.ts
index 550a950..6256d22 100644
--- a/base/typescript/test/inputs/json/priority/list.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/list.json/default/TopLevel.ts
@@ -108,7 +108,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -119,7 +119,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/name-style.json/default/TopLevel.ts b/head/typescript/test/inputs/json/priority/name-style.json/default/TopLevel.ts
index 2bcc4e2..29495b7 100644
--- a/base/typescript/test/inputs/json/priority/name-style.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/name-style.json/default/TopLevel.ts
@@ -113,7 +113,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -124,7 +124,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/nbl-stats.json/default/TopLevel.ts b/head/typescript/test/inputs/json/priority/nbl-stats.json/default/TopLevel.ts
index 26d8381..6eec1bc 100644
--- a/base/typescript/test/inputs/json/priority/nbl-stats.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/nbl-stats.json/default/TopLevel.ts
@@ -384,7 +384,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -395,7 +395,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/nested-objects.json/default/TopLevel.ts b/head/typescript/test/inputs/json/priority/nested-objects.json/default/TopLevel.ts
index a1b089d..64b4ccb 100644
--- a/base/typescript/test/inputs/json/priority/nested-objects.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/nested-objects.json/default/TopLevel.ts
@@ -108,7 +108,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -119,7 +119,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/no-classes.json/default/TopLevel.ts b/head/typescript/test/inputs/json/priority/no-classes.json/default/TopLevel.ts
index 111e281..500130f 100644
--- a/base/typescript/test/inputs/json/priority/no-classes.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/no-classes.json/default/TopLevel.ts
@@ -105,7 +105,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -116,7 +116,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/nst-test-suite.json/default/TopLevel.ts b/head/typescript/test/inputs/json/priority/nst-test-suite.json/default/TopLevel.ts
index 53012a2..5875700 100644
--- a/base/typescript/test/inputs/json/priority/nst-test-suite.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/nst-test-suite.json/default/TopLevel.ts
@@ -244,7 +244,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -255,7 +255,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/number-map.json/default/TopLevel.ts b/head/typescript/test/inputs/json/priority/number-map.json/default/TopLevel.ts
index 5acf2f5..64d931a 100644
--- a/base/typescript/test/inputs/json/priority/number-map.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/number-map.json/default/TopLevel.ts
@@ -107,7 +107,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -118,7 +118,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/omit-empty.json/default/TopLevel.ts b/head/typescript/test/inputs/json/priority/omit-empty.json/default/TopLevel.ts
index 4629d9d..7700cc4 100644
--- a/base/typescript/test/inputs/json/priority/omit-empty.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/omit-empty.json/default/TopLevel.ts
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/optional-union.json/default/TopLevel.ts b/head/typescript/test/inputs/json/priority/optional-union.json/default/TopLevel.ts
index ed9914b..7129831 100644
--- a/base/typescript/test/inputs/json/priority/optional-union.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/optional-union.json/default/TopLevel.ts
@@ -111,7 +111,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -122,7 +122,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/php-mixed-union.json/default/TopLevel.ts b/head/typescript/test/inputs/json/priority/php-mixed-union.json/default/TopLevel.ts
index 14ba2bd..6c79144 100644
--- a/base/typescript/test/inputs/json/priority/php-mixed-union.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/php-mixed-union.json/default/TopLevel.ts
@@ -113,7 +113,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -124,7 +124,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/php-validation.json/default/TopLevel.ts b/head/typescript/test/inputs/json/priority/php-validation.json/default/TopLevel.ts
index ffabdda..2bab583 100644
--- a/base/typescript/test/inputs/json/priority/php-validation.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/php-validation.json/default/TopLevel.ts
@@ -111,7 +111,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -122,7 +122,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/recursive.json/default/TopLevel.ts b/head/typescript/test/inputs/json/priority/recursive.json/default/TopLevel.ts
index 2c52978..7c6b8b7 100644
--- a/base/typescript/test/inputs/json/priority/recursive.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/recursive.json/default/TopLevel.ts
@@ -226,7 +226,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -237,7 +237,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/simple-identifiers.json/default/TopLevel.ts b/head/typescript/test/inputs/json/priority/simple-identifiers.json/default/TopLevel.ts
index 61d8ad3..412ebc2 100644
--- a/base/typescript/test/inputs/json/priority/simple-identifiers.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/simple-identifiers.json/default/TopLevel.ts
@@ -115,7 +115,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -126,7 +126,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/union-constructor-clash.json/default/TopLevel.ts b/head/typescript/test/inputs/json/priority/union-constructor-clash.json/default/TopLevel.ts
index 9bf4778..e02d007 100644
--- a/base/typescript/test/inputs/json/priority/union-constructor-clash.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/union-constructor-clash.json/default/TopLevel.ts
@@ -114,7 +114,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -125,7 +125,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/unions.json/default/TopLevel.ts b/head/typescript/test/inputs/json/priority/unions.json/default/TopLevel.ts
index 3f729e7..613ee28 100644
--- a/base/typescript/test/inputs/json/priority/unions.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/unions.json/default/TopLevel.ts
@@ -117,7 +117,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -128,7 +128,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/url.json/default/TopLevel.ts b/head/typescript/test/inputs/json/priority/url.json/default/TopLevel.ts
index 56df2ba..f2d8eba 100644
--- a/base/typescript/test/inputs/json/priority/url.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/url.json/default/TopLevel.ts
@@ -108,7 +108,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -119,7 +119,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/priority/uuids.json/default/TopLevel.ts b/head/typescript/test/inputs/json/priority/uuids.json/default/TopLevel.ts
index 450efa7..4d6119e 100644
--- a/base/typescript/test/inputs/json/priority/uuids.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/priority/uuids.json/default/TopLevel.ts
@@ -112,7 +112,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -123,7 +123,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/samples/bitcoin-block.json/default/TopLevel.ts b/head/typescript/test/inputs/json/samples/bitcoin-block.json/default/TopLevel.ts
index f045824..1b8ecff 100644
--- a/base/typescript/test/inputs/json/samples/bitcoin-block.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/samples/bitcoin-block.json/default/TopLevel.ts
@@ -111,7 +111,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -122,7 +122,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/samples/copy-with-property.json/default/TopLevel.ts b/head/typescript/test/inputs/json/samples/copy-with-property.json/default/TopLevel.ts
index 2c5c49a..42c7f9f 100644
--- a/base/typescript/test/inputs/json/samples/copy-with-property.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/samples/copy-with-property.json/default/TopLevel.ts
@@ -108,7 +108,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -119,7 +119,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/samples/getting-started.json/default/TopLevel.ts b/head/typescript/test/inputs/json/samples/getting-started.json/default/TopLevel.ts
index 68047d4..28e8952 100644
--- a/base/typescript/test/inputs/json/samples/getting-started.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/samples/getting-started.json/default/TopLevel.ts
@@ -108,7 +108,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -119,7 +119,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/samples/github-events.json/default/TopLevel.ts b/head/typescript/test/inputs/json/samples/github-events.json/default/TopLevel.ts
index f9be8e3..fd0f6ca 100644
--- a/base/typescript/test/inputs/json/samples/github-events.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/samples/github-events.json/default/TopLevel.ts
@@ -393,7 +393,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -404,7 +404,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/samples/kitchen-sink.json/default/TopLevel.ts b/head/typescript/test/inputs/json/samples/kitchen-sink.json/default/TopLevel.ts
index e3ddd80..44e54d1 100644
--- a/base/typescript/test/inputs/json/samples/kitchen-sink.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/samples/kitchen-sink.json/default/TopLevel.ts
@@ -139,7 +139,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -150,7 +150,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/samples/null-safe.json/default/TopLevel.ts b/head/typescript/test/inputs/json/samples/null-safe.json/default/TopLevel.ts
index acb9d31..267ba8b 100644
--- a/base/typescript/test/inputs/json/samples/null-safe.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/samples/null-safe.json/default/TopLevel.ts
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -131,7 +131,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/samples/objc-control-characters.json/default/TopLevel.ts b/head/typescript/test/inputs/json/samples/objc-control-characters.json/default/TopLevel.ts
index 1cfdd69..b26c2a4 100644
--- a/base/typescript/test/inputs/json/samples/objc-control-characters.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/samples/objc-control-characters.json/default/TopLevel.ts
@@ -111,7 +111,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -122,7 +122,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/samples/pokedex.json/default/TopLevel.ts b/head/typescript/test/inputs/json/samples/pokedex.json/default/TopLevel.ts
index f442069..64a96cd 100644
--- a/base/typescript/test/inputs/json/samples/pokedex.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/samples/pokedex.json/default/TopLevel.ts
@@ -136,7 +136,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -147,7 +147,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/samples/pokedex.json/prefer-types-true--df33e18681f9/TopLevel.ts b/head/typescript/test/inputs/json/samples/pokedex.json/prefer-types-true--df33e18681f9/TopLevel.ts
index 871aee4..ca4c83e 100644
--- a/base/typescript/test/inputs/json/samples/pokedex.json/prefer-types-true--df33e18681f9/TopLevel.ts
+++ b/head/typescript/test/inputs/json/samples/pokedex.json/prefer-types-true--df33e18681f9/TopLevel.ts
@@ -136,7 +136,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -147,7 +147,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/samples/reddit.json/default/TopLevel.ts b/head/typescript/test/inputs/json/samples/reddit.json/default/TopLevel.ts
index 49a90d6..ab3a9d9 100644
--- a/base/typescript/test/inputs/json/samples/reddit.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/samples/reddit.json/default/TopLevel.ts
@@ -233,7 +233,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -244,7 +244,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/samples/simple-object.json/default/TopLevel.ts b/head/typescript/test/inputs/json/samples/simple-object.json/default/TopLevel.ts
index 73b065e..5b4b68c 100644
--- a/base/typescript/test/inputs/json/samples/simple-object.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/samples/simple-object.json/default/TopLevel.ts
@@ -109,7 +109,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/samples/spotify-album.json/default/TopLevel.ts b/head/typescript/test/inputs/json/samples/spotify-album.json/default/TopLevel.ts
index e1ac35d..92ce930 100644
--- a/base/typescript/test/inputs/json/samples/spotify-album.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/samples/spotify-album.json/default/TopLevel.ts
@@ -177,7 +177,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -188,7 +188,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/samples/us-avg-temperatures.json/default/TopLevel.ts b/head/typescript/test/inputs/json/samples/us-avg-temperatures.json/default/TopLevel.ts
index 38eedf1..eed9604 100644
--- a/base/typescript/test/inputs/json/samples/us-avg-temperatures.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/samples/us-avg-temperatures.json/default/TopLevel.ts
@@ -120,7 +120,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -131,7 +131,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
diff --git a/base/typescript/test/inputs/json/samples/us-senators.json/default/TopLevel.ts b/head/typescript/test/inputs/json/samples/us-senators.json/default/TopLevel.ts
index dd9e267..13747bf 100644
--- a/base/typescript/test/inputs/json/samples/us-senators.json/default/TopLevel.ts
+++ b/head/typescript/test/inputs/json/samples/us-senators.json/default/TopLevel.ts
@@ -189,7 +189,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
         if (val === null || typeof val !== "object" || Array.isArray(val)) {
             return invalidValue(l(ref || "object"), val, key, parent);
         }
-        const result: any = {};
+        const result: any = Object.create(null);
         Object.getOwnPropertyNames(props).forEach(key => {
             const prop = props[key];
             const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
@@ -200,7 +200,7 @@ function transform(val: any, typ: any, getProps: any, key: any = '', parent: any
                 result[key] = transform(val[key], additional, getProps, key, ref);
             }
         });
-        return result;
+        return Object.setPrototypeOf(result, Object.prototype);
     }
 
     if (typ === "any") return val;
