Some codepoints count as more than one character. For example,
mathematical symbols. This can cause serious problems in other
languages such as Python which see those characters as one
This annotation is how many codepoints to the beginning of the text.
Returns the type associated with this annotation. This method must
return the same class type as its value type parameter. It feels like
one should be able to get away without this method, but because Java
erases the generic type signature, that info disappears at runtime.