change return type to unsigned int
improve type invariant
first version of contract of PeekNext
add missing precondition
Merge branch 'master' of github.com:jensgerlach/validation