Signature for a predicate that takes an offset into a UTF-16 string, and a boolean that indicates the search direction.
typedef UntilPredicate = bool Function(int offset, bool forward);