https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95540
--- Comment #1 from Michael Bruck <bruck.michael at gmail dot com> ---
"impossible" is too strong here, you can add another overload:
template <typename T> struct std::coroutine_traits<pt::handle_t, T>
{ using promise_type = pt; };