The Category of Haskell Types, called , is a category with Haskell type for objects and functions for morphisms.
It behaves very similarly to Category of sets.
Due to a few minor issues, is not formally a category.
However in the majority of cases it makes sense and is useful to use categorical reasoning.