sig
val find : ('a -> bool) -> 'a list -> 'a option
val rfind : ('a -> bool) -> 'a list -> 'a option
val findi : (int -> 'a -> bool) -> 'a list -> (int * 'a) option
val split_at :
int ->
'a list -> [ `Invalid_argument of string | `Ok of 'a list * 'a list ]
val at : 'a list -> int -> [ `Invalid_argument of string | `Ok of 'a ]
val assoc : 'a -> ('a * 'b) list -> 'b option
val assoc_inv : 'a -> ('b * 'a) list -> 'b option
val assq : 'a -> ('a * 'b) list -> 'b option
end