sig
  val rev_append : 'a list -> 'a list -> 'a list
  val filter_map : ('a -> 'b option) -> 'a list -> 'b list
  val split_map : ('a -> 'b * 'c) -> 'a list -> 'b list * 'c list
  val insert_after : 'a list -> 'a -> 'a -> 'a list
  val insert_after_ : 'a list -> 'a -> ('a -> bool) -> 'a list
  val find_remove : ('a -> bool) -> 'a list -> 'a * 'a list
  val find_opt : ('a -> bool) -> 'a list -> 'a option
  val interval_list :
    ?comp:('a -> 'a -> int) ->
    bump:('a -> 'a) -> min:'a -> max:'a -> unit -> 'a list
  val int_interval_list : ?bump:int -> min:int -> max:int -> unit -> int list
  val int32_interval_list :
    ?bump:int32 -> min:int32 -> max:int32 -> unit -> int32 list
  val t_opt_list_of_t_list : 'a list -> 'a option list
  val map_list_of_array : ('a -> 'b) -> 'a array -> 'b list
end