Use of better names
Make mapping of primitive values a little more flexible

The main use case for this is to allow a round trip with types that would loose type information when converted to a string representation of json.