function headTailimport { headTail } from "https://deno.land/x/dom_diff@1.0.0-beta.2/deps.ts"; headTail<T, U extends readonly unknown[]>(array: readonly [T, ...U]): [T, U]Split the sequence into head and tail. headTail<T extends string, U extends string>(string: `${T}${U}`): [T, U]headTail<T, U = T>(seq: Readonly<Sequence<T, U>>): [T | undefined, U]Split the sequence into head and tail. ExamplesExample 1 import { headTail } from "https://deno.land/x/seqtools/head_tail.ts"; import { assertEquals } from "https://deno.land/std/testing/asserts.ts"; assertEquals(headTail([1, 2, 3]), [1, [2, 3]]); assertEquals(headTail("abc"), ["a", "bc"]); assertEquals(headTail([]), [undefined, []]); Type ParametersTU extends readonly unknown[]Parametersarray: readonly [T, ...U]Returns[T, U]Type ParametersT extends stringU extends stringParametersstring: `${T}${U}`Returns[T, U]Type ParametersToptionalU = TParametersseq: Readonly<Sequence<T, U>>Returns[T | undefined, U]