let split_by_day f tdl =
let dates = different_enddates_of_tdl tdl in
let rec iter acc = function
[] -> acc
| day :: q ->
let t = filter_by_day day (copy_group tdl) in
iter ((day, t) :: acc) q
in
let l = iter [] dates in
List.iter f l