I just checked it (https://github.com/racker/virgo/blob/master/util/misc.lua#L122) and we do merge from right to left.

In this case this seems like an invalid argument order to me and we should swap first and second argument?

Actually, we should do something like this so we also don't mutate `self._options`:

```lua
baseOptions = misc.merge({}, self.options)
options = misc.merge(baseOptions, {new options table...}
```