protected abstract IEnumerable <Type> CreateInterfaces(CustomType elementType);
public MultiDimensionalArrayType(CustomType elementType, int rank) : base(elementType, rank) { }
protected override IEnumerable <Type> CreateInterfaces(CustomType elementType) { return(typeof(Array).GetInterfaces()); }
public VectorType(CustomType elementType) : base(elementType, 1) { }