pub(crate) fn unwrap_or_else_fn<F>(f: F) -> UnwrapOrElseFn<F>