interface Interface where TImplementer : Interface { void Combine () where TOImplementer : Interface; } class Implementer : Interface { public void Combine () where TOImplementer : Interface { } } class MainClass { public static void Main (string [] args) { } }