private Structure mkStruct(CategoryPath cp, DataTypeManager dtm) {
		Structure newStruct = new StructureDataType(cp, TMP_NAME, 0, dtm);
		newStruct.setPackingEnabled(true);
		newStruct.setExplicitPackingValue(1);
		newStruct.setDescription("Artificial data type to hold a function's return values");
		return newStruct;
	}
Handles creating a Ghidra structure to represent multiple return values returned from a golang
function.
<p>
Assigning custom storage for the return value is complicated by:
<ul>
 <li>golang storage allocations depend on the formal ordering of the return values</li>
	<li>stack storage must be last in a list of varnodes</li>
	<li>the decompiler maps a structure's contents to the list of varnodes in an endian-dependent
	manner.</li>
</ul>
To meet these complications, the structure's layout is modified to put all items that were
marked as being stack parameters to either the front or back of the structure.
<p>
To allow this artificial structure to adjusted by the user and reused at some later time
to re-calculate the correct storage, the items in the structure are tagged with the original
ordinal of that item as a text comment of each structure field, so that the correct ordering
of items can be re-created when needed.
<p>
If the structure layout is modified to conform to an arch's requirements, the structure's
name will be modified to include that arch's description at the end (eg. "_x86_64")
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/golang/GoFunctionMultiReturn.java