code: function patch(element, previous, props) {
    if (!previous && !props) {
      return props;
    }
    var name, value;
    previous = previous || {};
    props = props || {};
  
    for (name in previous) {
      if (previous[name] === undefined || props[name] !== undefined) {
        continue;
      }
      unset(name, element, previous);
    }
    for (name in props) {
      set(name, element, previous, props);
    }
    return props;
  }
docs: Maintains state of element properties.
  
  @param  Object element   A DOM element.
  @param  Object previous  The previous state of properties.
  @param  Object props     The properties to match on.
  @return Object props     The element properties state.