    The timetable is a vector of 6 rows, with each row representing a day from
    Monday to Saturday"
   []
-  (set! Timetable (vec (map (fn [x] (create-day-repr))
+  (set! TIMETABLE (vec (map (fn [x] (create-day-repr))
                             (range 0 time-helper/NR-DAYS)))))
 
 (defn- timetable-get-day
   "Retrieves the in-memory representation of the given 0-indexed day in the
    Timetable, where 0 = Monday, 1 = Tuesday, until 5 = Saturday"
   [day]
-  (nth Timetable day))
-
-; Retrieves a row for a given day in `Timetable`
+  (nth TIMETABLE day))
+
+; Retrieves a row for a given day in `TIMETABLE`
 (defmulti timetable-get-day-row (fn [a1 _] (number? a1)) :default true)
 
 ; First argument is a 0-indexed integer of the day

            ttRow)))

(defn- timetable-row-empty?
  "Returns true if there is no lesson for a given day and row in `Timetable`.
   Returns false otherwise."
  ([ttRow] (empty? ttRow))


          (timetable-enumerate-rows-in-day day)))

(defn- timetable-prune-empty-rows-for-day!
  "Removes empty rows from a day in `TIMETABLE`, based on the return value of
   the `timetable-day-get-empty-and-non-empty-rows` function."
  [day {:keys [emptyRows nonEmptyRows]}]
  (let [nrNonEmptyRows (count nonEmptyRows)]
    (set! TIMETABLE
          (update-in TIMETABLE [day]
                     (fn [ttDay]
                       (vec (map (fn [rowIdx]
                                   (timetable-get-day-row ttDay rowIdx))
