Everything in the universe can be thought of as "a box" if you try hard enough.
A computer is a box of interconnected electronic thingies.
A pizza is a disc-shaped box of... a bunch of stuff.
A mind is a box of thoughts.
And so on.
That's all well and good. The box analogy is fine for many things.
But it shouldn't be used for explaining the concept of Functors.
Basically everybody who teaches functors using the box analogy is missing the point.
In this video I explain why the box analogy is bad.
But even in this video I fail to dedicate an explicit part of it to the point of it all: Function composition.
Functors are all about composition in a functional codebase.
There is no other point in using them as an abstraction.
And yet people keep talking about boxes.
Watch this video, and I will explain further in a follow up post.