batList: turn some Invalid_argument messages into private constants for robustness
new BatList.modify_at : int -> ('a -> 'a) -> 'a list -> 'a list
new BatList.modify_opt_at : int -> ('a -> 'a option) -> 'a list -> 'a list