code: function merger(deep, ...objects) {
    const o = objects[0];
  
    let t,
        i,
        l,
        k;
  
    for (i = 1, l = objects.length; i < l; i++) {
      t = objects[i];
  
      for (k in t) {
        if (deep &&
            type.object(t[k]) &&
            !(t[k] instanceof Monkey)) {
          o[k] = merger(true, o[k] || {}, t[k]);
        }
        else {
          o[k] = t[k];
        }
      }
    }
  
    return o;
  }
docs: Function taking n objects to merge them together.
  Note 1): the latter object will take precedence over the first one.
  Note 2): the first object will be mutated to allow for perf scenarios.
  Note 3): this function will consider monkeys as leaves.
  
  @param  {boolean}   deep    - Whether the merge should be deep or not.
  @param  {...object} objects - Objects to merge.
  @return {object}            - The merged object.