pub type Source = Pin<Box<dyn Future<Output = Result<(), ()>> + Send>>;
pub struct Source { /* private fields */ }