hyperpolgyon light
@ythurn's suggestion of leaving away certain "unused" attributes of the HyperPolygon class made me think about the following: we could have a HyperPolygon base class which only has those parameters which are crucial for the construction algorithm - and some inherited object HyperPolygonWithInfo which adds layer, val, and so on. Or we leave the HyperPolygon as it is and add a HyperPolygonLight?
This was just some spontaneous idea, I don't know whether this is the most pythonic way to set up something like this