@@ -23433,10 +23433,16 @@ \subsection{Same Type}
2343323433\item $S$ and $T$ are both positional function types with the same
2343423434 number of mandatory parameters and the same number of optional parameters,
2343523435 the same return type, and the same type for each of the parameters.
23436+ If at least one of the function types is generic
23437+ then they must both be generic,
23438+ and they must have textually identical type parameter declaration lists.
2343623439\item $S$ and $T$ are both named function types with the same
2343723440 number of mandatory parameters and the same set of named parameters,
2343823441 the same return type, and the same type for each of the parameters,
2343923442 and the same subset of the named parameters marked as \REQUIRED.
23443+ If at least one of the function types is generic
23444+ then they must both be generic,
23445+ and they must have textually identical type parameter declaration lists.
2344023446\item $S$ is of the form \code{$F$<$U_1$, \ldots\ $U_s$>} where $F$
2344123447 denotes a type alias declaration,
2344223448 the unfolding of the type alias yields $S'$,
@@ -23447,6 +23453,11 @@ \subsection{Same Type}
2344723453 and $S$ is the same type as $T'$.
2344823454\item There exists an alpha conversion of $S$ yielding $S'$, and
2344923455 $S'$ and $T$ are the same type.
23456+ \commentary{%
23457+ This rule can be used to obtain
23458+ textually identical type parameter declaration lists,
23459+ if they only differ in the choice of naming.%
23460+ }
2345023461\end{itemize}
2345123462
2345223463\LMHash{}%
0 commit comments