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