parseOn method
Parses the given context.
Overridden in concrete subclasses to implement the parser-specific logic.
Takes a parse context and returns the resulting context, which is either
a Success or Failure context.
Implementation
@override
Result<R> parseOn(Context context) {
final result = delegate.parseOn(context);
if (result is Failure) return result;
final value = result.value;
return result.success(value[index < 0 ? value.length + index : index]);
}