I\'m going mental with Chapter 8 from Category Theory for Programmers.
In section 8.3, Bartosz defines this type
new