Symmetric `common_descendent` for two generic class types (#10831) (#16999)