export function splitArray(array: T[], callback: (item: T) => boolean) { return array.reduce<[T[], T[]]>( ([pass, fail], item) => ( callback(item) ? pass.push(item) : fail.push(item), [pass, fail] ), [[], []], ); }