docs: function fromDiff(recordTypes, recordTypeName, recOld, recNew) {
  
  	// get the record type descriptor
  	if (!recordTypes.hasRecordType(recordTypeName))
  		throw new common.X2UsageError(
  			`Unknown record type ${recordTypeName}.`);
  	const recordTypeDesc = recordTypes.getRecordTypeDesc(recordTypeName);
  
  	// make sure the provided records are objects
  	if (((typeof recOld) !== 'object') || (recOld === null))
  		throw new common.X2UsageError(
  			'Specified original record is not a non-null object.');
  	if (((typeof recNew) !== 'object') || (recNew === null))
  		throw new common.X2SyntaxError(
  			'Specified new record is not a non-null object.');
  
  	// build patch specification
  	const patchSpec = new Array();
  	diffObjects(recordTypeDesc, '/', recOld, recNew, patchSpec);
  
  	// return the patch specification
  	return patchSpec;
  }