import { curry } from '@typed/lambda'
/**
* Slice chunks out of a list
* @param from :: int
* @param to :: int
* @param list :: [a]
* @returns :: [a]
*/
export const slice = curry((from: number, to: number, list: ArrayLike): A[] =>
Array.from(list).slice(from, to),
) as {
(from: number, to: number, list: ArrayLike): A[]
(from: number, to: number): (list: ArrayLike) => A[]
(from: number): {
(to: number, list: ArrayLike): A[]
(to: number): (list: ArrayLike) => A[]
}
}