g++ c++17 class template argument deduction not working in a very specific case I have the following code: