docs: function assignDeep(dest, source) {
  	if (source && source.constructor === Object) {
  		var sourceBaseKeys = Object.keys(source);
  
  		for (var i = 0; i < sourceBaseKeys.length; ++i) {
  			var sourceBaseKey = sourceBaseKeys[i];
  			var destinationField = dest[sourceBaseKey];
  			var sourceField = source[sourceBaseKey];
  
  			if (destinationField === undefined) {
  				dest[sourceBaseKey] = sourceField;
  			} else {
  				// Recursive assign.
  				assignDeep(destinationField, sourceField);
  			}
  		}
  	}
  }