pub fn try_execute_then_cast<T, R, F>(f: F) -> Option<R>where T: 'static, R: 'static, F: FnOnce() -> T,