Tid representing the new logical thread.
Notes: args must not have unshared aliasing. In other words, all arguments to fn must either be shared or immutable or have no pointer indirection. This is necessary for enforcing isolation among threads.
Similarly, if fn is a delegate, it must not have unshared aliases, meaning fn must be either shared or immutable.