export type ExcludeFromTuple<T extends readonly any[], E> = T extends [infer F, ...infer R] ? [F] extends [E] ? ExcludeFromTuple<R, E> : [F, ...ExcludeFromTuple<R, E>] : [];
export type PickFromTuple<T extends readonly any[], E> = T extends [infer F, ...infer R] ? [F] extends [E] ? [F, ...PickFromTuple<R, E>] : PickFromTuple<R, E> : [];
