Generic custom types

Like functions, custom types can also be generic, taking contained types as parameters.

Here a generic Option type is defined, which is used to represent a value that is either present or absent. This type is quite useful! The gleam/option module defines it so you can use it in your Gleam projects.