Can't use full template-id as a ctor name with c++20. Fix warnings about not checking the result of dynamic_cast.