type Animal = "dog" | "cat" | "fish" | "bird";↵
type Mammal = Extract<Animal, "dog" | "cat" | "whale">;↵
type Aquatic = Extract<Animal, "fish" | "whale">;↵
type LandAnimal = Exclude<Animal, "fish">;↵
const mammals: Mammal[] = ["dog", "cat"];↵
const aquatic: Aquatic[] = ["fish"];↵
const land: LandAnimal[] = ["dog", "cat", "bird"];↵
console.log(`Mammals: ${mammals.join(", ")}`);↵
console.log(`Aquatic: ${aquatic.join(", ")}`);↵
console.log(`Land: ${land.join(", ")}`);