This interface enforces the methods required collections.
This enables most native PHP array functionality on implementing objects,
and provides the same methods that are available in the
PHP 7.0 SPL Collection class, making this functionality
available as far back as PHP 5.4.
This interface enforces the methods required for a valid library object.
These methods may be manually honored, or may be satisfied by using the
corresponding library trait. Traits that extend upon this functionality
should be expected to implement this for you.