         switch (lhs, rhs) {
         case (let .Match(lhsCharacter, lhsCodeWordCollection), let .Match(rhsCharacter, rhsCodeWordCollection)):
             return lhsCharacter == rhsCharacter && lhsCodeWordCollection == rhsCodeWordCollection
+        case (let .Description(lhsCharacter, lhsDescription), let .Description(rhsCharacter, rhsDescription)):
+            return lhsCharacter == rhsCharacter && lhsDescription == rhsDescription
         case (let .Unknown(lhsCharacter), let .Unknown(rhsCharacter)):
             return lhsCharacter == rhsCharacter
         default:


    case Match(Character, CodeWordCollection)

    case Unknown(Character)

}

        switch self {
        case .Match(let character, let codeWordCollection):
            return "\(character): \(codeWordCollection.mainCodeWord)"
        case .Description(let character, let description):
            return "\(character): \(description)"
        case .Unknown(let character):
            return "\(character): unknown code word"
        }
