Change the spec. Rename `string` to `symbol` to be less confusing. Add `oneOf`.
Redo much of the library to fit the new spec.
Result values should now be what's expected based on the spec.