using System; using System.Collections.Generic; public class NaturalComparer[T] : IComparer[T] where T: IComparable[T] { public Compare (mutable a : T,mutable b : T) : int { a.CompareTo (b); } } public class X { class Test : IComparable[Test] { public CompareTo (mutable _that : Test) : int { 0; } public Equals (mutable _that : Test) : bool { false; } } static Main () : void { mutable cmp = NaturalComparer (); mutable a = Test (); mutable b = Test (); _ = cmp.Compare (a, b); } } /* BEGIN-OUTPUT END-OUTPUT */