error-values.md: change As to match on assignability

Change As to consider assignability rather than type equivalence, allowing
it to convert an error to an interface type. e.g.,

	var to interface{ Timeout() bool }
	if errors.As(err, &to) && to.Timeout() { ... }

Change-Id: I3908ab5dc61e5c9393e6fabd1b1cbdb7945611a1
Reviewed-on: https://go-review.googlesource.com/c/161200
Reviewed-by: Jonathan Amsterdam <jba@google.com>
diff --git a/design/29934-error-values.md b/design/29934-error-values.md
index ec4387a..ae875f4 100644
--- a/design/29934-error-values.md
+++ b/design/29934-error-values.md
@@ -105,9 +105,10 @@
 behavior.
 ```
 // As finds the first error in err's chain that matches the type to which target
-// points, and if so, sets the target to its value and and returns true. An error
-// matches a type if it is of the same type, or if it has a method As(interface{}) bool
-// such that As(target) returns true. As will panic if target is nil or not a pointer.
+// points, and if so, sets the target to its value and returns true. An error
+// matches a type if it is assignable to the target type, or if it has a method
+// As(interface{}) bool such that As(target) returns true. As will panic if target
+// is nil or not a pointer.
 //
 // The As method should set the target to its value and return true if err
 // matches the type to which target points.