                               (and (not (nil? ttLessonInfoAfter))
                                    (>= stime endTime)
                                    (< stime (:endTime ttLessonInfoAfter)))
+                              ttLessonInfo
 
                               :else ttLessonInfoAfter)))
                     nil

                             emptyRowsToRemoveVec)]
                  (.remove (nth (children $day "tr") (- rowIdx idx))))))))))

(defn remove-module
  "Removes a module from the timetable.


        (timetable-prune-empty-rows affectedDaysSet)

        ; Update `ModulesSelected`
        (update-ModulesSelected-for-affected-days affectedDaysSet)

        ; Remove from `ModulesSelectedOrder`
        (set! ModulesSelectedOrder (remove #{moduleCode} ModulesSelectedOrder))
