`include module type of struct include Stdlib.Uchar end`
`type t = Stdlib__Uchar.t`
`val min : t`
`val max : t`
`val bom : t`
`val rep : t`
`val succ : t -> t`
`val pred : t -> t`
`val is_valid : int -> bool`
`val of_int : int -> t`
`val unsafe_of_int : int -> t`
`val to_int : t -> int`
`val is_char : t -> bool`
`val of_char : char -> t`
`val to_char : t -> char`
`val unsafe_to_char : t -> char`
`val equal : t -> t -> bool`
`val compare : t -> t -> int`
`val seeded_hash : int -> t -> int`
`val hash : t -> int`
`module Utf_decode : sig ... end`
`include module type of struct include Utf_decode end`
`type utf_decode = Utf_decode.utf_decode`

The type for UTF decode results. Values of this type represent the result of a Unicode Transformation Format decoding attempt.

`val utf_decode_is_valid : utf_decode -> bool`

`utf_decode_is_valid d` is `true` if and only if `d` holds a valid decode.

`val utf_decode_uchar : utf_decode -> t`

`utf_decode_uchar d` is the Unicode character decoded by `d` if `utf_decode_is_valid d` is `true` and `Uchar.rep` otherwise.

`val utf_decode_length : utf_decode -> int`

`utf_decode_length d` is the number of elements from the source that were consumed by the decode `d`. This is always strictly positive and smaller or equal to `4`. The kind of source elements depends on the actual decoder; for the decoders of the standard library this function always returns a length in bytes.

`val utf_decode : int -> t -> utf_decode`

`utf_decode n u` is a valid UTF decode for `u` that consumed `n` elements from the source for decoding. `n` must be positive and smaller or equal to `4` (this is not checked by the module).

`val utf_decode_invalid : int -> utf_decode`

`utf_decode_invalid n` is an invalid UTF decode that consumed `n` elements from the source to error. `n` must be positive and smaller or equal to `4` (this is not checked by the module). The resulting decode has `rep` as the decoded Unicode character.

`val utf_8_byte_length : t -> int`

`utf_8_byte_length u` is the number of bytes needed to encode `u` in UTF-8.

`val utf_16_byte_length : t -> int`

`utf_16_byte_length u` is the number of bytes needed to encode `u` in UTF-16.