Hacker News new | ask | show | jobs
by tome 3857 days ago
Are you saying something like "All type constructors are functorial Hask^n x Hask^op^m -> Hask"?
1 comments

It's something weaker. Consider the groupoid of Haskell types and isomorphisms. Without GADTs and type families, all type constructors of kind `* -> *` are endofunctors on this groupoid.

Note 1: And there are higher-kinded analogues, but I hope you get the idea from this.

Note 2: There are also exceptions, like `IORef` and friends.