//@
//@ Now, `Send` as a trait is fairly special. It has a so-called *default implementation*. This means that *every type* implements
//@ `Send`, unless it opts out. Opting out is viral: If your type contains a type that opted out, then you don't have `Send`, either.
//@ So if the environment of your closure contains an `Rc`, it won't be `Send`, preventing it from causing trouble. If however every
//@ captured variable *is* `Send`, then so is the entire environment, and you are good.
//@
//@ Now, `Send` as a trait is fairly special. It has a so-called *default implementation*. This means that *every type* implements
//@ `Send`, unless it opts out. Opting out is viral: If your type contains a type that opted out, then you don't have `Send`, either.
//@ So if the environment of your closure contains an `Rc`, it won't be `Send`, preventing it from causing trouble. If however every
//@ captured variable *is* `Send`, then so is the entire environment, and you are good.