         return dropped
     }
     
+    // TODO: Break into smaller methods; improve reuse of 'let word = ... where word.valid == false'
     func validate(points: [(x: Int, y: Int, letter: Character)], blanks: [(x: Int, y: Int)]) -> ValidationResponse {
         let allBlanks = board.playedBlanks + blanks
         if points.count == 0 {

        let combinations = Set(anagramLetters.combinations(length).map({ String($0.sort()) }))
        let words = combinations.flatMap({ anagramDictionary[$0, fixedLetters] }).flatten()
        
        var solves = [Solution]()
        for word in words {
            var valid = true

            if !isHorizontal && !isVertical {
                return .InvalidArrangement
            }
            // TODO: Cleanup duplication based on orientation here...
            if isHorizontal {
                let x = horizontalFirst.x
                let y = verticalFirst.y
