pub fn catch_unwind<E: Exception, R, F: FnOnce() -> R>(
    f: F
) -> Result<R, Option<E>>