let rec repeat_list lst n = if n = 0 then [] else if n = 1 then lst else if n > 1 then lst @ (repeat_list lst (n-1)) else raise (Invalid_argument "repeat_list must have a nonnegative argument")