design/go2draft-type-parameters: fix cross-reference anchor links

When linking to heading anchors, replace spaces by - in the anchor.

This will lead to the links being shown properly e.g. with the
go.googlesource.com and GitHub Markdown renderers.

Change-Id: Ib32dc08128d0c146e8ce8b2fbea7115357f82cc1
Reviewed-on: https://go-review.googlesource.com/c/proposal/+/238397
Reviewed-by: Ian Lance Taylor <iant@golang.org>
diff --git a/design/go2draft-type-parameters.md b/design/go2draft-type-parameters.md
index d6ade68..3fda094 100644
--- a/design/go2draft-type-parameters.md
+++ b/design/go2draft-type-parameters.md
@@ -115,7 +115,7 @@
 element type of the slice, here called `T`, is unknown.
 This is a trivial example of the kind of function we want to permit in
 order to support generic programming.
-(Later we'll also discuss [generic types](#Generic types)).
+(Later we'll also discuss [generic types](#Generic-types)).
 
 ```Go
 // Print prints the elements of a slice.
@@ -163,7 +163,7 @@
 type argument.
 Later we will see how this type argument can usually be deduced from
 the non-type argument, by using [function argument type
-inference](#Function argument type inference).
+inference](#Function-argument-type-inference).
 For now, we'll pass the type argument explicitly.
 Type arguments are passed much like type parameters are declared: as a
 separate list of arguments.
@@ -754,7 +754,7 @@
 use type inference to avoid having to explicitly write out the type
 arguments.
 
-Go back to [the example](#Type parameters) of a call to the simple
+Go back to [the example](#Type-parameters) of a call to the simple
 `Print` function:
 
 ```Go
@@ -2018,7 +2018,7 @@
 
 ##### Defined composite types
 
-As [discussed above](#Type parameters in type lists), an extra type
+As [discussed above](#Type-parameters-in-type-lists), an extra type
 parameter is required for a function to take, as an argument, a
 defined type whose underlying type is a composite type, and to return
 the same defined type as a result.
@@ -2053,7 +2053,7 @@
 }
 ```
 
-As [discussed above](#Type parameters in type lists), this can be
+As [discussed above](#Type-parameters-in-type-lists), this can be
 avoided by using an extra type parameter for `Map`, and using
 constraints that describe the required relationship between the slice
 and element types.
@@ -2134,7 +2134,7 @@
 Worse, there is no way to write such a constraint in general.
 In the particular case that both `T1` and `T2` can require some type
 list, then this function can be written as described earlier when
-discussing [type conversions using type lists](#Type conversions).
+discussing [type conversions using type lists](#Type-conversions).
 But, for example, there is no way to write a constraint for the case
 in which `T1` is an interface type and `T2` is a type that implements
 that interface.
@@ -2294,7 +2294,7 @@
 list, a type assertion or type switch would use the actual type
 argument, not the underlying type of the type argument (the difference
 is explained in the section on [identifying the matched predeclared
-type](#Identifying the matched predeclared type)).
+type](#Identifying-the-matched-predeclared-type)).
 
 #### Comparison with Java