109.42.00

- Added `Array.is_sorted_strictly` and `List.is_sorted_strictly`.

  ```ocaml
  val is_sorted_strictly : 'a t -> cmp:('a -> 'a -> int) -> bool
  ```

- Added `Array.find_consecutive_duplicate` and `List.find_consecutive_duplicate`.

  ```ocaml
  val find_consecutive_duplicate : 'a t -> equal:('a -> 'a -> bool) -> ('a * 'a) option
  ```

- Added `Array.truncate`, which changes (shortens) the length of an array.

  ```ocaml
  val truncate : _ t -> len:int -> unit
  ```

- Improved the debugging message in `Bounded_int_table.remove` to show the data structure's details.

- Added `Float.iround_lbound` and `iround_ubound`, the bounds for rounding to `int`.

- Added `Hashtbl.similar`, which is like `equal`, but allows the types of the values in the two tables to differ.

- Added `Pool.Pointer.phys_compare`, which is analagous to `phys_equal`, and does not require an argument comparison function.

  ```ocaml
  val phys_compare : 'a t -> 'a t -> int
  ```
- Exposed that `Pool.Debug`'s output types are the same as its input types.