The following code will throw an error only for the name property. It could be fixed by specifying name property as writable in Object.create
name
Object.create
Used ES7+ or TypeScript spread operator feature to overcome this
obj = { ...obj, name: { first: 'hey', last: 'there'} }