# Module type BatBounded.BoundedType

    module type BoundedType = sig .. end

    type base_t

The base/raw type

    type t

The type that makes up the bounded range

    val bounds : base_t BatBounded.bound_t *
           base_t BatBounded.bound_t

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

    val bounded : (base_t, t)
           BatBounded.bounding_f

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

    val base_of_t : t -> base_t option

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

    val base_of_t_exn : t -> base_t

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