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