diff --git a/encoding/internal/enctest/enctest.go b/encoding/internal/enctest/enctest.go
index cf5da2675..047861629 100644
--- a/encoding/internal/enctest/enctest.go
+++ b/encoding/internal/enctest/enctest.go
@@ -66,7 +66,7 @@ func TestEncoding(t *testing.T, e encoding.Encoding, encoded, utf8, prefix, suff
 					// regardless of whatever wPrefix is.
 					continue
 				}
-				got1, want1 := string(g), wPrefix+strings.Repeat(want, n)+wSuffix
+				got1, want1 := g, wPrefix+strings.Repeat(want, n)+wSuffix
 				if got1 != want1 {
 					t.Fatalf("ReadAll: n=%d\ngot  %q\nwant %q",
 						n, trim(got1), trim(want1))
diff --git a/internal/ucd/ucd.go b/internal/ucd/ucd.go
index 0879bc84c..13c56c02a 100644
--- a/internal/ucd/ucd.go
+++ b/internal/ucd/ucd.go
@@ -317,28 +317,28 @@ func (p *Parser) Bool(i int) bool {
 
 // Int parses and returns field i as an integer value.
 func (p *Parser) Int(i int) int {
-	x, err := strconv.ParseInt(string(p.getField(i)), 10, 64)
+	x, err := strconv.ParseInt(p.getField(i), 10, 64)
 	p.setError(err, "error parsing int")
 	return int(x)
 }
 
 // Uint parses and returns field i as an unsigned integer value.
 func (p *Parser) Uint(i int) uint {
-	x, err := strconv.ParseUint(string(p.getField(i)), 10, 64)
+	x, err := strconv.ParseUint(p.getField(i), 10, 64)
 	p.setError(err, "error parsing uint")
 	return uint(x)
 }
 
 // Float parses and returns field i as a decimal value.
 func (p *Parser) Float(i int) float64 {
-	x, err := strconv.ParseFloat(string(p.getField(i)), 64)
+	x, err := strconv.ParseFloat(p.getField(i), 64)
 	p.setError(err, "error parsing float")
 	return x
 }
 
 // String parses and returns field i as a string value.
 func (p *Parser) String(i int) string {
-	return string(p.getField(i))
+	return p.getField(i)
 }
 
 // Strings parses and returns field i as a space-separated list of strings.
diff --git a/unicode/bidi/gen_trieval.go b/unicode/bidi/gen_trieval.go
index eac0f7645..d565b7c51 100644
--- a/unicode/bidi/gen_trieval.go
+++ b/unicode/bidi/gen_trieval.go
@@ -42,18 +42,6 @@ const (
 	unknownClass = ^Class(0)
 )
 
-var controlToClass = map[rune]Class{
-	0x202D: LRO, // LeftToRightOverride,
-	0x202E: RLO, // RightToLeftOverride,
-	0x202A: LRE, // LeftToRightEmbedding,
-	0x202B: RLE, // RightToLeftEmbedding,
-	0x202C: PDF, // PopDirectionalFormat,
-	0x2066: LRI, // LeftToRightIsolate,
-	0x2067: RLI, // RightToLeftIsolate,
-	0x2068: FSI, // FirstStrongIsolate,
-	0x2069: PDI, // PopDirectionalIsolate,
-}
-
 // A trie entry has the following bits:
 // 7..5  XOR mask for brackets
 // 4     1: Bracket open, 0: Bracket close
diff --git a/unicode/bidi/trieval.go b/unicode/bidi/trieval.go
index 4c459c4b7..6a796e221 100644
--- a/unicode/bidi/trieval.go
+++ b/unicode/bidi/trieval.go
@@ -37,18 +37,6 @@ const (
 	unknownClass = ^Class(0)
 )
 
-var controlToClass = map[rune]Class{
-	0x202D: LRO, // LeftToRightOverride,
-	0x202E: RLO, // RightToLeftOverride,
-	0x202A: LRE, // LeftToRightEmbedding,
-	0x202B: RLE, // RightToLeftEmbedding,
-	0x202C: PDF, // PopDirectionalFormat,
-	0x2066: LRI, // LeftToRightIsolate,
-	0x2067: RLI, // RightToLeftIsolate,
-	0x2068: FSI, // FirstStrongIsolate,
-	0x2069: PDI, // PopDirectionalIsolate,
-}
-
 // A trie entry has the following bits:
 // 7..5  XOR mask for brackets
 // 4     1: Bracket open, 0: Bracket close