Currently, when entry-points are passed Null-handles, it return UR_RESULT_ERROR_INVALID_NULL_HANDLE regardless of the type of the handle. that could create some confusion on entry-points where it is passed multiple handles with different types. To solve this, we could return more specific error codes for null handles UR_RESULT_ERROR_iNVALID_<OBJECT>, for example: UR_RESULT_ERROR_INVALID_DEVICE.
If we have taken this path, it is not obvious if we would still need UR_RESULT_ERROR_INVALID_NULL_HANDLE to exist. (not sure if it would have a usage as a general error code)