docs: function merge(target) {
  	for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
  		args[_key - 1] = arguments[_key];
  	}
  
  	for (var arg, len = args.length, index = 0; arg = args[index], index < len; index += 1) {
  		for (var all in arg) {
  			if (typeof HTMLElement !== 'undefined' && arg instanceof HTMLElement || typeof propDetails(arg, all).value !== 'undefined' && (!target[all] || propDetails(target, all).writable)) {
  				if (all !== 'attributes') target[all] = arg[all];
  			}
  		}
  	}
  
  	return target;
  }