37constexpr auto*
GetIf(Root&& root, Head&& head, Tail&&... tail) {
38 if constexpr (impl::IsPointerLike<Root>) {
39 return root ?
utils::GetIf(*std::forward<Root>(root), std::forward<Head>(head), std::forward<Tail>(tail)...)
43 std::invoke(std::forward<Head>(head), std::forward<Root>(root)),
44 std::forward<Tail>(tail)...