Maps a type involving generic parameters to the corresponding type after substituting concrete arguments for generic parameters.
If the source type is a generic parameter, it is mapped to the corresponding argument. If the source type is an open generic type using any of the specified generic parameters, it is mapped to a closed constructed type based on the specified arguments.