let iter_random (f:'a -> unit) (l:'a list) = let num = List.length l in let (a,b) = separate_list_at (Random.int num) l in let myl = b@a in List.iter f myl