By the Waters of Babylon

Each year before Great Lent, we sing the hymn "By the Waters of Babylon". The text is from Psalms 136 (137). For years, I found the text to be confusing. It is a cry of lament, but at the end says "Blessed shall he be who takes your little ones and dashes them against the rock!". Each time we...