`type base_t`

The base/raw type

`type t`

The type that makes up the bounded range

`val bounds : base_t bound_t * base_t bound_t`

`bounds` defines the `(min, max)` bounds for the bounded range

`val bounded : (base_t, t) bounding_f`

`bounded ~bounds x` returns a bounded `t` value derived from `x`.

`val base_of_t : t -> base_t option`

`base_of_t x` converts a value of type `t` back to a `base_t` if possible.

`val base_of_t_exn : t -> base_t`

`base_of_t_exn x` converts a value of type `t` back to a `base_t`. If a conversion is not possible then an exception will be raised.