Implement guard: check value before adding it
Remove require-dev

Seems to cause problems with scrutinizer-ci
Examples of the new SmartIterator features