public Id MakeId(GenericContext gc) => elementType.MakeId(gc) + "[]";
public Id MakeId(GenericContext gc) => "pinned " + elementType.MakeId(gc);
public Id MakeId(GenericContext gc) => unmodifiedType.MakeId(gc);
public Id MakeId(GenericContext gc) => genericType.MakeId(gc) + "<" + Id.CommaSeparatedList(typeArguments.Select(arg => arg.MakeId(gc))) + ">";
public Id MakeId(GenericContext gc) => "ref " + elementType.MakeId(gc);
public Id MakeId(GenericContext gc) => elementType.MakeId(gc) + "[]"; // Make these static