Function recurse

fn recurse<F, R>(f: F) -> R
where
    F: FnOnce() -> R