Union, intersection and difference on Set, in the language, replacing four utility functions and a dependency.
const enabled = new Set(featureFlags)
const required = new Set(['billing', 'exports'])
required.difference(enabled) // missing
enabled.intersection(required) // present
enabled.isSupersetOf(required) // a boolean
// and the array round trip these replace:
// [...new Set([...a].filter(x => b.has(x)))]
The array round trip was the idiom and it allocated twice for a question that needs no allocation at all. Removing the dependency was not the point — it was one import out of a package we still use for two other things — and the readability difference on a set operation expressed as a filter over a spread is substantial.