when XR_PTR_SIZE == 8:
  type
    XrInstance_T* {.incompleteStruct.} = object  # Opaque struct
    XrInstance* = ptr XrInstance_T  # Pointer-based handle
else:
  type XrInstance* = uint64  # Integer-based handle on 32-bit systems
I'm supposed to use this pragma for an opaque struct correct?