         }
         
         // No date formatter worked for everything. Fail.
-        return nil
+        throw DateFormatError.noMatchingFormat
     }
 }

    }
    
    /// Returns a `DateFormatter` that handles all of the provided `dateStrings`, or `nil` if a formatter could not be found.
    static func formatter(dateStrings: [String]) -> DateFormatter? {
        var numberOfSpaces: Int?
        for dateString in dateStrings {
            let characters: [Character] = dateString.filter({ $0 == " " || $0 == "T" })

            
            // If the number of spaces between date strings is inconsistent, there's no way we can find a formatter to match all of them.
            if let numberOfSpaces = numberOfSpaces, count != numberOfSpaces {
                throw DateFormatError.emptyDates
            }
            
            numberOfSpaces = count
