thunks
pub struct Thunk<T, E>(_);
impl<T, E> Thunk<T, E> where T: 'static + Sync + Send, E: 'static + Sync + Send
fn new<F>(task: F) -> Thunk<T, E> where F: Fn(&Fn(Result<T, E>) + 'static + Send) + 'static
fn await(&self) -> Result<T, E>