This is the atomic unit of a SymbolList, or a sequence. Some symbols represent a single token in the sequence. For example, there is a Symbol instance for adenine in DNA, and another one for cytosine. Symbols can potentialy represent sets of Symbols. For example, n represents any DNA Symbol, and X any protein Symbol.
Gap represents the knowledge that there is no Symbol.
In addition, some symbols represent ordered lists of other Symbols. Symbols can represent ambiguity over these complex symbols. For example, you could construct a Symbol instance that represents the codons atn. There are three Symbol interfaces. Symbol is the most generic.