Optional does iteration correctly.
Values were too hard to create.
Improved ValueFactory