interface Interface where TImplementer : Interface { void Combine () where TOImplementer : Interface; } class Implementer : Interface { public void Combine () where TOImplementer : Interface { } } class MainClass { public static int Main () { new Implementer (); return 0; } }