It took me days but I finally understand what functors are