| Index: lib/typedObjects/objectTypes.js | 
| diff --git a/lib/typedObjects/objectTypes.js b/lib/typedObjects/objectTypes.js | 
| index 4fa97d40e33681a8a60b05b9b4d26c898907d3ea..e7b5d9aa43c44922af7337a0d3e4135359ebe50c 100644 | 
| --- a/lib/typedObjects/objectTypes.js | 
| +++ b/lib/typedObjects/objectTypes.js | 
| @@ -81,10 +81,17 @@ function free(obj) | 
| } | 
| finally | 
| { | 
| -    for (let [prop, value] of this.initialValues) | 
| -      obj[prop] = value; | 
| +    if (obj._copy) | 
| +    { | 
| +      Object.getPrototypeOf(obj).release(); | 
| +    } | 
| +    else | 
| +    { | 
| +      for (let [prop, value] of this.initialValues) | 
| +        obj[prop] = value; | 
|  | 
| -    dealloc(this.firstFree, obj.bufferIndex, obj.byteOffset); | 
| +      dealloc(this.firstFree, obj.bufferIndex, obj.byteOffset); | 
| +    } | 
| } | 
| } | 
|  | 
|  |