namespace System { struct Guid : IHashable { public static readonly Guid Empty = Guid(); private uint32 mA; private uint16 mB; private uint16 mC; private uint8 mD; private uint8 mE; private uint8 mF; private uint8 mG; private uint8 mH; private uint8 mI; private uint8 mJ; private uint8 mK; public this() { this = default; } public this(uint32 a, uint16 b, uint16 c, uint8 d, uint8 e, uint8 f, uint8 g, uint8 h, uint8 i, uint8 j, uint8 k) { mA = a; mB = b; mC = c; mD = d; mE = e; mF = f; mG = g; mH = h; mI = i; mJ = j; mK = k; } public int GetHashCode() { return (int)mA ^ (int)mK; } public static bool operator==(Guid val1, Guid val2) { return (val1.mA == val2.mA) && (val1.mB == val2.mB) && (val1.mC == val2.mC) && (val1.mD == val2.mD) && (val1.mE == val2.mE) && (val1.mF == val2.mF) && (val1.mG == val2.mG) && (val1.mH == val2.mH) && (val1.mI == val2.mI) && (val1.mJ == val2.mJ) && (val1.mK == val2.mK); } public static Result Parse(String str) { return .Err; } public static Guid Create() { Guid guid = ?; Platform.BfpSystem_CreateGUID(&guid); return guid; } } }