Implement the JavaScript `Array.slice` function in the type system. `Slice` takes the three argument. The output should be a subarray of `Arr` from index `Start` to `End`. Indexes with negative numbers should be counted from reversely.
For example
```ts
type Arr = [1, 2, 3, 4, 5]
type Result = Slice // expected to be [3, 4]
```