val unicode_version : string
type boundary = [
| `Custom of custom
| `Grapheme_cluster
| `Line_break
| `Sentence
| `Word
]
type ret = [
| `Await
| `Boundary
| `End
| `Uchar of Uchar.t
]
val add : t -> [ `Await | `End | `Uchar of Uchar.t ] -> ret
val mandatory : t -> bool
val custom :
?mandatory:('a -> bool) ->
name:string ->
create:(unit -> 'a) ->
copy:('a -> 'a) ->
add:('a -> [ `Await | `End | `Uchar of Uchar.t ] -> ret) ->
unit ->
custom
val err_exp_await : [< ret ] -> 'a
val err_ended : [< ret ] -> 'a