Maximilian: Now that we covered generic types,
we can dive even deeper into TypeScript
and explore more advanced types
that we can derive from other types,
which might sound confusing,
but it will make more sense after this section, I promise.
Because in this section,
we'll explore various TypeScript features
that allow you to build more complex and versatile
and powerful types by manipulating types,
by arriving types, by combining types,
and by using some crucial built in TypeScript features
that help you with all these things.