sig   type 'a t = 'a list   val compare :     ('a -> 'a -> int) ->     'a Misc.Stdlib.List.t -> 'a Misc.Stdlib.List.t -> int   val equal :     ('a -> 'a -> bool) ->     'a Misc.Stdlib.List.t -> 'a Misc.Stdlib.List.t -> bool   val filter_map :     ('a -> 'b option) -> 'a Misc.Stdlib.List.t -> 'b Misc.Stdlib.List.t   val some_if_all_elements_are_some :     'a option Misc.Stdlib.List.t -> 'a Misc.Stdlib.List.t option   val map2_prefix :     ('a -> 'b -> 'c) ->     'a Misc.Stdlib.List.t ->     'b Misc.Stdlib.List.t -> 'c Misc.Stdlib.List.t * 'b Misc.Stdlib.List.t   val split_at :     int ->     'a Misc.Stdlib.List.t -> 'a Misc.Stdlib.List.t * 'a Misc.Stdlib.List.t end