jimbojw/corridor — pull request #53 by jimbojw (2014-05-03 15:31:54+00:00)
Title: bugfix - merge mismatch

Previously, merging mismatched types would cause odd behavior in some cases. Consider merging these two objects:

```js
// original
{ foo: [] }
// other
{ foo: "bar" }
```

In this case, the `foo` key would end up with an array containing "b", "a", and "r" because the other value would be treated as an object/array for merging.

This change gives special treatment to non-object non-array values when merging. They overwrite their counterparts in the original object.

There are also additional tests for related cases that pass without change, but assert the behavior is correct.