@@ -23492,10 +23492,16 @@ \subsection{Same Type}
2349223492\item $S$ and $T$ are both positional function types with the same
2349323493 number of mandatory parameters and the same number of optional parameters,
2349423494 the same return type, and the same type for each of the parameters.
23495+ If at least one of the function types is generic
23496+ then they must both be generic,
23497+ and they must have textually identical type parameter declaration lists.
2349523498\item $S$ and $T$ are both named function types with the same
2349623499 number of mandatory parameters and the same set of named parameters,
2349723500 the same return type, and the same type for each of the parameters,
2349823501 and the same subset of the named parameters marked as \REQUIRED.
23502+ If at least one of the function types is generic
23503+ then they must both be generic,
23504+ and they must have textually identical type parameter declaration lists.
2349923505\item $S$ is of the form \code{$F$<$U_1$, \ldots\ $U_s$>} where $F$
2350023506 denotes a type alias declaration,
2350123507 the unfolding of the type alias yields $S'$,
@@ -23506,6 +23512,11 @@ \subsection{Same Type}
2350623512 and $S$ is the same type as $T'$.
2350723513\item There exists an alpha conversion of $S$ yielding $S'$, and
2350823514 $S'$ and $T$ are the same type.
23515+ \commentary{%
23516+ This rule can be used to obtain
23517+ textually identical type parameter declaration lists,
23518+ if they only differ in the choice of naming.%
23519+ }
2350923520\end{itemize}
2351023521
2351123522\LMHash{}%
0 commit comments