using System;
public class Program
{
public static void Main()
var type0 = typeof(Y<>);
var type1 = typeof(Y<string>);
var type2 = type0.MakeGenericType(typeof(string));
//names are the same
type0.Name.Dump();
type1.Name.Dump();
type2.Name.Dump();
//but type0 is generic and rest concrete
(type0 == type1).Dump();
(type1 == type2).Dump();
}
interface Y<T>