[InlineArray] and explicitly dropping the AsSpan() and indexer methods, since those are no longer necessaryCallConvMemberFunction, so I don't need to maintain manual fixups for COM methods[DisableRuntimeMarshalling] on, which means bool and char get generated by default (rather than byte and ushort)bool and char aren't blittable, which is why TerraFX had been using byte and ushort up until now[assembly: DisableRuntimeMarshalling] makes blittable == unmanaged and actively prevents the ability to use any marshalling (including varargs)bool and char become blittable and can be safely usedbool and char entirely, or simply make it 1-to-1SetLastError doesn't work, but TerraFX was already setup for that
shaderc_compiler * is a pointer

unsigned long long int, just unsigned long longhalf longhalf long
ElaboratedType in GetType doesnt handle the canonical type being a pointer mumble mumble

[InlineArray]AsSpan()CallConvMemberFunction[DisableRuntimeMarshalling]charcharcharcharbytebyteushortushort[assembly: DisableRuntimeMarshalling]blittable == unmanagedvarargsSetLastErrorshaderc_compiler *unsigned long long intunsigned long longhalf longhalf longElaboratedTypeGetType