Applies a function inside a container to a value inside another container
First applies the function to the value inside the container, then flattens the result
Flattens a nested container (container of container) into a single container
Maps over a value inside a container, using the container's own map function
Sequences a container of containers into a container of container (e.g., Option<List> to List<Option>)
Transforms each element in a container and then sequences the results
HKT provides utilities for working with higher-kinded types This allows writing generic code that works across different container types like Option, List, Either, etc.