namespace Invercargill { public interface Equatable { public abstract bool equals(T other); } public interface Hashable { public abstract uint hash_code(); } public interface Comparable : Equatable { public abstract int compare(T other); } }