                  "-":
                 return try self.fixableToken(ch)
             case "<" where self.isHTML:
-                return try self.tagToken()
+                return try self.htmlToken()
             default:
-                return try self.stringToken(ch)
+                return try self.unchangedToken(ch)
             }
         }
         return nil

        case unchanged = "unchanged"
        // It’s one of the trigger characters but didn’t need changing:
        case ignored = "ignored"
        // Was skipped because it was either a tag, or protected text between tags.
        case skipped = "skipped"
    }
    

    
    // MARK: Tag Token
    
    private mutating func htmlToken() throws -> TypographizerToken {
        var tokenText = "<"
        var tagName = ""
        loop: while let ch = nextScalar() {
