code: function make (names, values) {
      var result = {};
      var valuesLen = values.length;
  
      for (var i = 0, len = names.length; i < len; i++) {
          result[names[i]] = i < valuesLen ? values[i] : void 0;
      }
  
      return result;
  }
docs: Builds an object from the two given lists, using the first one as keys and the last
  one as values.<br/>
  If the list of keys is longer than the values one, the keys will be created with
  <code>undefined</code> values.<br/>
  If more values than keys are supplied, the extra values will be ignored.
  @example
  _.make(["a", "b", "c"], [1, 2, 3]) // => {a: 1, b: 2, c: 3}
  _.make(["a", "b", "c"], [1, 2]) // => {a: 1, b: 2, c: undefined}
  _.make(["a", "b"], [1, 2, 3]) // => {a: 1, b: 2}
  _.make([null, void 0, 2], [1, 2, 3]) // => {"null": 1, "undefined": 2, "2": 3}
  
  @memberof module:lamb
  @category Object
  @see {@link module:lamb.tear|tear}, {@link module:lamb.tearOwn|tearOwn} for the reverse operation
  @since 0.8.0
  @param {String[]} names
  @param {ArrayLike} values
  @returns {Object}