Add a note about how CallbackContext can be copied by code outside `libtock_platform`.
diff --git a/core/platform/src/async_traits.rs b/core/platform/src/async_traits.rs
index 309c83c..2853026 100644
--- a/core/platform/src/async_traits.rs
+++ b/core/platform/src/async_traits.rs
@@ -63,8 +63,10 @@
pub struct CallbackContext<'c> {
// `_phantom` serves three purposes. It uses the `c lifetime to avoid an
// "unused lifetime" error, it provides the proper variance over 'c, and it
- // prevents code outside this crate from constructing a CallbackContext
- // (because of its visibility control).
+ // prevents code outside this crate from directly constructing a
+ // CallbackContext (because of its visibility control). Code outside this
+ // crate can copy a CallbackContext, but that is fine as copying the
+ // CallbackContext preserves its associated lifetime.
pub(crate) _phantom: core::marker::PhantomData<&'c ()>,
}