type MainFuture<'m> = Pin<&'m mut dyn Future<Output = ()>>;
Future for the argument to block_on, which is handled specially
block_on
#[repr(transparent)]struct MainFuture<'m> { /* private fields */ }