There was a need to support thread ID types that couldn't be reliably cast