function distinct(array, keyFn = value => value) {
    const seen = new Set();
    return array.filter(element => {
        const key = keyFn(element);
        if (seen.has(key)) {
            return false;
        }
        seen.add(key);
        return true;
    });
}
Removes duplicates from the given array. The optional keyFn allows to specify
how elements are checked for equality by returning an alternate value for each.