class Archetype {
System.Type[] _componentTypes;
System.Array[] _components;
int _capacity;
public int Count { get; private set; }
public Archetype(int capacity, params System.Type[] componentTypes) {
_capacity = capacity;
_componentTypes = componentTypes;
_components = new System.Array[componentTypes.Length];
for( int i = 0; i < componentTypes.Length; i++) {
_components[i] = System.Array.CreateInstance(componentTypes[i], _capacity);