When Callables are sufficiently small, they're emplaced into a small
buffer directly by placement new. If one, however, uses an unqualified
call to placement new, the class-based overloads are picked up and
compilation fails.
libs/compat/test/move_only_function_test.cpp:107:11: note: candidate
function not viable: requires 1 argument, but 2 were provided
107 | void* operator new(std::size_t) { throw 1234; }