Region is the base type for everything
Shape is the abstract type that is the building block of regions; in real life it needs to be replaced by a concrete shape