function validateShorthandPropertyCollisionInDev(styleUpdates, nextStyles) {
    {
      if (!nextStyles) {
        return;
      }

      var expandedUpdates = expandShorthandMap(styleUpdates);
      var expandedStyles = expandShorthandMap(nextStyles);
      var warnedAbout = {};

      for (var key in expandedUpdates) {
        var originalKey = expandedUpdates[key];
        var correctOriginalKey = expandedStyles[key];

        if (correctOriginalKey && originalKey !== correctOriginalKey) {
          var warningKey = originalKey + ',' + correctOriginalKey;

          if (warnedAbout[warningKey]) {
            continue;
          }

          warnedAbout[warningKey] = true;

          error('%s a style property during rerender (%s) when a ' + 'conflicting property is set (%s) can lead to styling bugs. To ' + "avoid this, don't mix shorthand and non-shorthand properties " + 'for the same value; instead, replace the shorthand with ' + 'separate values.', isValueEmpty(styleUpdates[originalKey]) ? 'Removing' : 'Updating', originalKey, correctOriginalKey);
        }
      }
    }
  }
When mixing shorthand and longhand property names, we warn during updates if
we expect an incorrect result to occur. In particular, we warn for:

Updating a shorthand property (longhand gets overwritten):
  {font: 'foo', fontVariant: 'bar'} -> {font: 'baz', fontVariant: 'bar'}
  becomes .style.font = 'baz'
Removing a shorthand property (longhand gets lost too):
  {font: 'foo', fontVariant: 'bar'} -> {fontVariant: 'bar'}
  becomes .style.font = ''
Removing a longhand property (should revert to shorthand; doesn't):
  {font: 'foo', fontVariant: 'bar'} -> {font: 'foo'}
  becomes .style.fontVariant = ''