nice! i think we could simplify this logic to this:

```js
if (model[key]() !== undefined) return;
value = is.function(value) ? value.call(model) : clone(value);
model[key](value);
```

`undefined` in there cuz i think my original code didnt handle falsey values too well ;p