Protect against Ruby Hash regression
Add tests for changed select, reject, and select! methods
Add checks for reject! on frozen objects
Allow code block to be an optional parameter