using System.Collections.Generic; namespace Yavsc { public interface ILetter : IEqualityComparer { } public interface IWord where TLetter : ILetter { IWord Aggregate(TLetter other); } public interface ICode : IEnumerable where TLetter : ILetter { /// /// Checks that (b!=c) => a.b != a.c /// /// bool Validate(); IWord CreateWord(TLetter letter); } }