This project has given up GitHub. (See Software Freedom Conservancy's Give Up GitHub site for details.)
You can now find this project at paste.rossabaker.com instead.
Any use of this project's code by GitHub Copilot, past or present, is done without our permission. We do not consent to GitHub's use of this project's code in Copilot.
Join us; you can give up GitHub too! Ready to make the change? Have a look at the convenience script.

@rossabaker believe it or not, I am kind of relieved, because when I saw your case-insensitive string example, part of me asked, what sort of function is this? Is it pure? Does it rely on some side effects or some state to produce its value? I didn't pursue the question sufficiently though. And when I briefly tried to come up with a function g that could complement the f function that turns "a1", "a2", etc into "a", when I noticed that I wasn't coming up with a candidate, I also asked myself if such a function would have to resort to some kind of 'trick' to behave in the desired way.
Well, thank you very much for letting me know.
The quest for compelling examples of how a Set is not a functor continues!