Allows to create classes similar to ArrayObject with additional element type or
index constraints.
