code: function(property, from, to, f) {
    ASSERT_ENABLED && assert(
        isDefinedAndNotNull(from) && isDefinedAndNotNull(to),
        'Both to and from values should be specified for interpolation');
    if (from === 'inherit' || to === 'inherit') {
      return nonNumericType.interpolate(from, to, f);
    }
    if (f === 0) {
      return from;
    }
    if (f === 1) {
      return to;
    }
    return getType(property).interpolate(from, to, f);
  }
docs: Interpolate the given property name (f*100)% of the way from 'from' to 'to'.
  'from' and 'to' are both raw values already converted from CSS value
  strings. Requires the target element to be able to determine whether the
  given property is an SVG attribute or not, as this impacts the conversion of
  the interpolated value back into a CSS value string for transform
  translations.
  
  e.g. interpolate('transform', elem, 'rotate(40deg)', 'rotate(50deg)', 0.3);
  will return 'rotate(43deg)'.