I believe you don't neet this `merge` here: `contract` always returns a new object – it's based on `validateOptions` of `api-utils`:
```js
let model = contract(options);
```