Why the propertyValues.length === values.length ? E.g with isAlignedLeft there are two accepted properties which have the same meaning ["left", "start"]. So acceptedPropertyValues.length is 2. But it is completely okay if all styles just have "left" as value. no?