                 ttLessonInfo (dissoc augTTLessonInfo :day :rowNum)]
           (timetable-remove-lesson day rowNum ttLessonInfo)))
 
+        (.log js/console "Reached here man")
+
         ; Perform shifting due to removal of lesson <div>s
         (shift-lessons-upwards-to-replace-empty-slots augTTLessonInfoSeq)
+        (.log js/console "Here too bro")
         (timetable-prune-empty-rows affectedDaysSet)
+        (.log js/console "Whats up")
 
         ; Update `ModulesSelected`
         (update-ModulesSelected-for-affected-days affectedDaysSet)
+        (.log js/console "Boo ya!")
 
         ; Remove from `ModulesSelectedOrder`
         (set! ModulesSelectedOrder (remove #{moduleCode} ModulesSelectedOrder))
+        (.log js/console "I hear and obey!")
         ; Update Exhibit3 box
         (select2/select2-box-set-val select2/$Select2-Box
                                      (get-selected-module-codes-as-js-array)))))

                       (< dayA dayB)))
                lessonInfoSeq))]

    (loop [sortedAugTTLessonInfoSeq
           (sort-lesson-info-seq (exclude-lessons-on-empty-rows
                                   removedAugmentedTTLessonInfoSeq))

           nextLessonInfoVec    []]
      (cond (and (empty? sortedAugTTLessonInfoSeq) (empty? nextLessonInfoVec))
            nil


                  (find-replacement-lessons-within-time currentAugTTLessonInfo)]

              (doseq [[augTTLessonInfo $divElem] augTTLessonInfoTo$DivElem]
                (.log js/console "shift-lesson-to-row")
                (shift-lesson-to-row rowNum augTTLessonInfo $divElem))
              (.log js/console "gonna recur...")
              (recur (rest sortedAugTTLessonInfoSeq)
                     ; append newly shifted lessons to nextLessonInfoVec
                     (reduce (fn [augTTLessonInfoVec [augTTLessonInfo _]]
