Why is T required to be Send if the wrapped value is only accessible within the same thread it has been created from? ``` rust pub struct ThreadLocal<T: ?Sized + Send> { /* fields omitted */ } ```