 
 ;; The goal of the game is to merge tiles together until a tile that is not able
 ;; to be merged appears. Therefore, we need to tell if a tile can be merged with
-;; another tiles and a mechanism to obtain the result of the merge of two given
+;; another tiles and a mechanism to obtain the result of merging two given
 ;; tiles.
 
 ;; Since 'merge' is already a map operation, let's name the process 'synthesis'.

(ns literate-2048.core
  (:require [goog.events :as events]
            [cljs.core.async :refer (<! chan timeout put!)]
            [quiescent :as q :include-macros true]
            [quiescent.dom :as d])
  (:require-macros [cljs.core.async.macros :refer (go-loop)]))

     another ITile when they can be synthesized or nil when they can't. No tile
     can be synthesized with nil."))

;; Because we don't know beforehand how many tiles will participate in a
;; synthesis, we'll synthesize a collection containing an arbitrary number of
;; them. This is easily accomplished by following the guidelines below.

