message: correctly resolve object values in properties
diff: for (var k in data) {
  if (data.hasOwnProperty(k)) {
  var key = exports.convertToType(k, keyType);
  - var value = exports.convertToType(data[k], valueType);
  + var rawValue = data[k];
  + var value = typeof rawValue === 'object'
  + ? rawValue
  + : exports.convertToType(rawValue, valueType);
  +
  result[key] = value;
  }
  }
  