export default function groupBy( predicate: (_: Val) => Key, ): (list: Val[]) => { [k: string]: Val[] }