type alias Substituteimport { type Substitute } from "https://deno.land/x/fun@v2.0.0/examples/freer.ts"; Type ParametersTS extends Substitutionsdefinition: T extends { readonly kind: unknown; } ? (T & S)["kind"] : { readonly T: T; readonly [covariant]: () => S["covariant"]; readonly [contravariant]: (_: S["contravariant"]) => void; readonly [invariant]: (_: S["invariant"]) => S["invariant"]; }