code: function overrider(target, sources) { // eslint-disable-line no-unused-vars
      for (var i = 1; i < arguments.length; ++i) {
          mixIn.call(target, arguments[i]);
      }
  
      return target;
  }
docs: @module overrider 
  Mixes members of all `sources` into `target`, handling getters and setters properly.
  
  Any number of `sources` objects may be given and each is copied in turn.
  
  @example
  var overrider = require('overrider');
  var target = { a: 1 }, source1 = { b: 2 }, source2 = { c: 3 };
  target === overrider(target, source1, source2); // true
  // target object now has a, b, and c; source objects untouched
  
  @param {object} object - The target object to receive sources.
  @param {...object} [sources] - Object(s) containing members to copy to `target`. (Omitting is a no-op.)
  @returns {object} The target object (`target`)