so, uuid_generate (uuid) gives a perfectly valid big-endian uuid, but needs to have some fields byte-swapped to be considered an efi_guid_t.
an efi_guid_t needs to be byte-swapped back to a big-endian uuid prior to calling uuid_unparse () on it.