The following program: ```C++ #include <functional> #include <print> int main() { std::move_only_function<int(int)> fn1(static_cast<int(*)(int)>(nullptr)); std::move_only_function<int(int)> fn2(std::in_place_type<int(*)(int)>, nullptr); std::print("fn1: {}, fn2: {}", static_cast<bool>(fn1), static_cast<bool>(fn2)); } ``` Prints: ``` fn1: false, fn2: true ``` This is what the Standard is apparently asking for. Isn't this stupid?