See #30. Remove keys.reduce. In JS/ECMA, key enumeration order is not well-defined, making reduce a hazard