Haunts significa “atormenta” o “persigue”, especialmente cuando un recuerdo o una experiencia no deja de aparecer en la mente. En la canción, el pasado es descrito como un fantasma que sigue atormentando el presente, una imagen poética y memorable para expresar el dolor que permanece después de una ruptura.
We Had To End It es Cuco contando una ruptura que él no eligió. Lo dice sin rodeos desde la primera línea: "Me and my lover came to an end" (mi amante y yo llegamos a nuestro fin), y enseguida añade "I didn't want that / But I guess she did" (yo no quería eso / pero supongo que ella sí). Ese I guess (supongo) es lo más triste de la canción: ni siquiera sabe bien por qué se fue.
Hay un juego de palabras muy bueno: "Mercy had no time / And time had no mercy on me" (la piedad no tuvo tiempo / y el tiempo no tuvo piedad de mí). Fíjate cómo intercambia mercy y time. Y luego confiesa "I felt so dumb thinking one day you could be my wife" (me sentí tan tonto pensando que algún día podrías ser mi esposa); dumb es una forma informal de decir stupid.
En la segunda parte la canción se vuelve más oscura. Habla de un choque en la carretera: "'Cause they both made me blind / And I crashed as I looked away" (porque ambos me dejaron ciego / y me estrellé al apartar la mirada), donde both son el amor y las mentiras. Al final aparece un fantasma de su pasado que le dice "Just finish this song / And you'll be where you belong" (solo termina esta canción / y estarás donde perteneces). Un cierre inquietante para una canción que suena tan suave.