CS0695 de erro do compilador

Mensagem de erro

'tipo genérico' não pode implementar tanto 'interface genérica' e 'interface genérica' porque eles podem unificar para algumas substituições de parâmetro de tipo

Este erro ocorre quando uma classe genérica implementa mais de um parametrização da mesma interface genérica e existe uma substituição de parâmetro de tipo que tornaria as duas interfaces idênticos.Para evitar esse erro, implementar apenas uma das interfaces, ou alterar tipos dos parâmetros para evitar o conflito.

O exemplo a seguir gera CS0695:

// CS0695.cs
// compile with: /target:library

interface I<T>
{
}

class G<T1, T2> : I<T1>, I<T2>  // CS0695
{
}