| Annotation Type | Description | 
|---|---|
| GTENegativeOne | The annotated expression evaluates to an integer greater than or equal to -1. | 
| IndexFor | An integer that can be used to index any of the given sequences. | 
| IndexOrHigh | An integer that, for each of the given sequences, is either a valid index or is equal to the
 sequence's length. | 
| IndexOrLow | An integer that is either -1 or is a valid index for each of the given sequences. | 
| LengthOf | An integer that, for each of the given sequences, is equal to the sequence's length. | 
| LowerBoundBottom | The bottom type of the lower bound type system. | 
| LowerBoundUnknown | The annotated expression evaluates to value that might be -2 or lower. | 
| LTEqLengthOf | The annotated expression evaluates to an integer whose value is less than or equal to the lengths
 of all the given sequences. | 
| LTLengthOf | The annotated expression evaluates to an integer whose value is less than the lengths of all the
 given sequences. | 
| LTOMLengthOf | The annotated expression evaluates to an integer whose value is at least 2 less than the lengths
 of all the given sequences. | 
| NegativeIndexFor | The annotated expression is between  -1and-a.length - 1, inclusive, for each
 sequencealisted in the annotation. | 
| NonNegative | The annotated expression evaluates to an integer greater than or equal to 0. | 
| PolyIndex | A polymorphic qualifier for the Lower Bound and Upper Bound type systems. | 
| PolyLowerBound | A polymorphic qualifier for the Lower Bound type system. | 
| PolySameLen | A polymorphic qualifier for the SameLen type system. | 
| PolyUpperBound | A polymorphic qualifier for the Upper Bound type system. | 
| Positive | The annotated expression evaluates to an integer greater than or equal to 1. | 
| SameLen | An expression whose type has this annotation evaluates to a value that is a sequence, and that
 sequence has the same length as the given sequences. | 
| SameLenBottom | The bottom type in the SameLen type system. | 
| SameLenUnknown | This type represents any variable that isn't known to have the same length as another sequence. | 
| SearchIndexBottom | The bottom type in the Search Index type system. | 
| SearchIndexFor | The annotated expression evaluates to an integer whose length is between  -a.length - 1anda.length - 1, inclusive, for all sequencesalisted in the annotation. | 
| SearchIndexUnknown | The top type for the SearchIndex type system. | 
| UpperBoundBottom | The bottom type in the Upper Bound type system. | 
| UpperBoundUnknown | A variable not known to have a relation to any sequence length. |