Add Values constructor

Closes #61 and #91.  See #61 in particular for a discussion of the design