Functional, immutable and extensible enumerations and collections for PHP 5.3