Use std::iterator_traits to get the value_type of the iterator
Use expression sfinae to test whether a given type is a container
Move GetValueType into the details namespace
Add BinaryOpParser
Rename ValueExptected to NumValues
Merge Utility.h with CmdLine.h
No longer a header-only library...