code: function mix(receiver, supplier) {
      var p;
      for (p in supplier) {
          if (supplier.hasOwnProperty(p)) {
              if (has(supplier, p) && has(receiver, p) && supplier[p].constructor === Object && receiver[p].constructor === Object) {
                  receiver[p] = mix(receiver[p], supplier[p]);
              } else {
                  receiver[p] = supplier[p];
              }
          }
      }
  
      return receiver;
  }
docs: Deep extend of the supplier into the reciever
  @private
  
  @param {Object} reciever object into which to extend
  @param {Object} supplier object from which to extend
  @memberOf object
  @return the reciever object for ease