export function maxWithOrNull(value: T[], compare: (a: T, b: T) => number): T | null { if (value.length === 0) return null; let max = value[0]; for (let index = 1; index < value.length; index++) { const it = value[index]; if (compare(it, max) > 0) max = it; } return max; }