__user_alloc_construct_impl is used by <experimental/memory_resource>, but this __user_alloc_construct is never used.
Also, <experimental/memory_resource> doesn't need a full definition of std::tuple; just the forward declaration in <__tuple> will suffice.
...although maybe I don't understand the rules here. For example, I see allocator_arg_t and monostate are both marked _LIBCPP_TEMPLATE_VIS as well, even though they're not templates.