pub fn block_on<F, T>(future: F) -> T where
    F: Future<Output = T>,