function expandShorthandMap(styles) {
    var expanded = {};

    for (var key in styles) {
      var longhands = shorthandToLonghand[key] || [key];

      for (var i = 0; i < longhands.length; i++) {
        expanded[longhands[i]] = key;
      }
    }

    return expanded;
  }
Given {color: 'red', overflow: 'hidden'} returns {
  color: 'color',
  overflowX: 'overflow',
  overflowY: 'overflow',
}. This can be read as "the overflowY property was set by the overflow
shorthand". That is, the values are the property that each was derived from.